From Fedora Project Wiki
Comments and Explanations
The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.
Guidance
For details on how to fill out this form, see the documentation.
Report issues
To report an issue with this template, file an issue in the Fedora Program Operations docs repo.


Deprecate python-dateutil

Summary

Python-dateutil is an extension to the standard Python datetime features, widely used by a lot of other projects. However, upstream is unmaintained and possibly with unaddressed security issues. The plan is to try to continue packaging until feasible, but mark the package as deprecated in Fedora and try to convince other dependent project to switch over from it.

Owner


Current status

Detailed Description

Python-dateutil is an extension to the standard Python datetime features, widely used by a lot of other projects. The following is a list of Fedora packages depending on it:

  • 389-ds-base.src : python3dist(python-dateutil)
  • awscli2.noarch : python3.14dist(python-dateutil) >= 2.1
  • azure-cli.src : python3dist(python-dateutil) >= 2.8
  • barman.src : python3dist(python-dateutil)
  • bidscoin.noarch : python3.14dist(python-dateutil)
  • borgbackup.src : python3dist(python-dateutil)
  • buildbot.src : python3dist(python-dateutil) >= 1.5
  • buildbot-master.noarch : python3.14dist(python-dateutil) >= 1.5
  • calibre.src : python3dist(python-dateutil)
  • ceph-mgr-modules-core.noarch : python3-dateutil
  • conan.noarch : python3.14dist(python-dateutil) >= 2.8
  • copr-backend.noarch : python3-dateutil
  • copr-frontend.noarch : python3dist(python-dateutil)
  • crosswords-puzzle-sets-keesing.noarch : python3dist(python-dateutil)
  • crosswords-puzzle-sets-pzzl.noarch : python3dist(python-dateutil)
  • did.noarch : python3.14dist(python-dateutil)
  • electron-cash.noarch : python3.14dist(python-dateutil)
  • ginga.src : python3dist(python-dateutil) >= 2.8.2
  • gnome-feeds.noarch : python3-dateutil
  • grass.src : python3-dateutil
  • hyperkitty.noarch : python3.14dist(python-dateutil) >= 2
  • jrnl.noarch : (python3.14dist(python-dateutil) < 3~~ with python3.14dist(python-dateutil) >= 2.8)
  • khal.noarch : python3.14dist(python-dateutil)
  • limnoria.noarch : python3-dateutil
  • mailman3.noarch : python3.14dist(python-dateutil) >= 2
  • obs-service-obs_scm-common.noarch : python3-dateutil
  • oci-cli.noarch : python3.14dist(python-dateutil) >= 2.5.3
  • openapi-python-client.noarch : python3.14dist(python-dateutil) >= 2.8.1
  • pcs.noarch : python3-dateutil >= 2.7.0
  • pdd.noarch : python3-dateutil
  • pdfarranger.noarch : python3.14dist(python-dateutil) >= 2.4
  • pgadmin4.src : python3dist(python-dateutil) >= 2
  • picard.src : (python3dist(python-dateutil) >= 2.7 with python3dist(python-dateutil) < 3)
  • python-Mastodon.src : python3dist(python-dateutil)
  • python-OWSLib.src : python3dist(python-dateutil)
  • python-adal.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.1)
  • python-aniso8601.src : python3-dateutil
  • python-arrow.src : python3dist(python-dateutil) >= 2.7
  • python-azure-multiapi-storage.src : python3dist(python-dateutil)
  • python-azure-storage-common.src : python3dist(python-dateutil)
  • python-beancount.src : python3dist(python-dateutil) >= 2.6
  • python-beanprice.src : python3dist(python-dateutil) >= 2.6
  • python-botocore.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.1)
  • python-bravado.src : python3dist(python-dateutil)
  • python-bravado-core.src : python3dist(python-dateutil)
  • python-catkin_pkg.src : python3-dateutil
  • python-celery.src : python3dist(python-dateutil) >= 2.8.2
  • python-collada.src : python3dist(python-dateutil)
  • python-cron-converter.src : python3dist(python-dateutil)
  • python-croniter.src : python3dist(python-dateutil)
  • python-dateparser.src : python3dist(python-dateutil) >= 2.7
  • python-datetimerange.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.4.2)
  • python-deepdiff.src : python3dist(python-dateutil)
  • python-django-extensions.src : python3dist(python-dateutil)
  • python-elasticsearch.src : python3dist(python-dateutil)
  • python-faker.src : python3-dateutil
  • python-feedgen.src : python3dist(python-dateutil)
  • python-freezegun.src : python3dist(python-dateutil) >= 2.7
  • python-ghp-import.src : python3dist(python-dateutil) >= 2.8.1
  • python-github3py.src : python3dist(python-dateutil) >= 2.6
  • python-gnocchiclient.src : python3dist(python-dateutil)
  • python-guessit.src : python3dist(python-dateutil)
  • python-hdmf.src : python3dist(python-dateutil)
  • python-holidays.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.9^post0)
  • python-hyperkitty.src : python3dist(python-dateutil) >= 2
  • python-hypothesis.src : python3dist(python-dateutil) >= 1.4
  • python-ibm-cloud-sdk-core.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.9)
  • python-ibm-vpc.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.5.3)
  • python-icalendar.src : python3dist(python-dateutil)
  • python-influxdb-client.src : python3dist(python-dateutil) >= 2.5.3
  • python-ipyparallel.src : python3dist(python-dateutil) >= 2.1
  • python-javaproperties.src : python3dist(python-dateutil)
  • python-jupyter-client.src : python3dist(python-dateutil) >= 2.8.2
  • python-marshmallow.src : python3-dateutil
  • python-matplotlib.src : python3dist(python-dateutil) >= 2.7
  • python-nihtest.src : python3dist(python-dateutil)
  • python-oci.src : python3dist(python-dateutil) >= 2.5.3
  • python-odata-query.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.8.1)
  • python-opensearch-py.src : python3dist(python-dateutil)
  • python-orjson.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2)
  • python-oslo-log.src : python3dist(python-dateutil) >= 2.7
  • python-pandas.src : python3dist(python-dateutil) >= 2.8.2
  • python-pelican.src : python3dist(python-dateutil) >= 2.8.2
  • python-pendulum.src : python3dist(python-dateutil) >= 2.6
  • python-pg8000.src : python3dist(python-dateutil) >= 2.8.2
  • python-pikepdf.src : python3dist(python-dateutil) >= 2.8.1
  • python-pskc.src : python3dist(python-dateutil)
  • python-pwntools.src : python3-dateutil
  • python-py-tes.src : python3dist(python-dateutil) >= 2.6.1
  • python-pydantic-core.src : python3dist(python-dateutil)
  • python-pyghmi.src : python3dist(python-dateutil) >= 2.8.1
  • python-pyinfra.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) > 2.0)
  • python-pykwalify.src : python3dist(python-dateutil) >= 2.8
  • python-pynwb.src : python3dist(python-dateutil) >= 2.8.2
  • python-rst-linker.src : python3dist(python-dateutil)
  • python-snaptime.src : python3-dateutil
  • python-sphinxcontrib-doxylink.src : (python3dist(python-dateutil) < 3~~ with python3dist(python-dateutil) >= 2.8.2)
  • python-sqlalchemy-utils.src : python3dist(python-dateutil) >= 2.6
  • python-sqlite-utils.src : python3dist(python-dateutil)
  • python-sushy.src : python3dist(python-dateutil) >= 2.7
  • python-tcx2gpx.src : python3dist(python-dateutil)
  • python-tcxparser.src : python3dist(python-dateutil)
  • python-tempora.src : python3dist(python-dateutil)
  • python-time-machine.src : python3dist(python-dateutil)
  • python-typepy.src : python3-dateutil
  • python-vobject.src : python3-dateutil
  • python-webdav4.src : python3dist(python-dateutil) >= 2.8.1
  • python-xnat.src : python3dist(python-dateutil)
  • python-yaql.src : python3dist(python-dateutil) >= 2.4.2
  • python3-Mastodon.noarch : python3.14dist(python-dateutil)
  • python3-OWSLib.noarch : python3.14dist(python-dateutil)
  • python3-barman.noarch : python3.14dist(python-dateutil)
  • python3-django-tastypie.noarch : python3-dateutil
  • python3-dnf-plugins-core.noarch : python3-dateutil
  • python3-gertty.noarch : python3-dateutil
  • python3-ginga+recommended.noarch : python3.14dist(python-dateutil) >= 2.8.2
  • python3-idstools.noarch : python3-dateutil
  • python3-influxdb.noarch : python3.14dist(python-dateutil) >= 2.6
  • python3-ipalib.noarch : python3-dateutil
  • python3-koji.noarch : python3.14dist(python-dateutil)
  • python3-kubernetes.noarch : python3.14dist(python-dateutil) >= 2.5.3
  • python3-lib389.noarch : python3.14dist(python-dateutil)
  • python3-osbs-client.noarch : python3.14dist(python-dateutil)
  • python3-prov.noarch : python3.14dist(python-dateutil) >= 2.2
  • python3-snapm.noarch : python3.14dist(python-dateutil)
  • python3-subscription-manager-rhsm.x86_64 : python3-dateutil
  • python3-visidata.noarch : python3.14dist(python-dateutil)
  • roca-detect.noarch : python3.14dist(python-dateutil)
  • s3cmd.noarch : python3-dateutil
  • salt.noarch : python3.14dist(python-dateutil)
  • samba.src : python3-dateutil
  • snapm.src : python3dist(python-dateutil)
  • starcal.noarch : python3-dateutil
  • stratis-cli.noarch : python3.14dist(python-dateutil)
  • subscription-manager.src : python3-dateutil
  • sugar-toolkit-gtk3.i686 : python3-dateutil
  • syslog-ng.src : python3-dateutil
  • syslog-ng-python-modules.x86_64 : python3-dateutil
  • teampulls.noarch : (python3.14dist(python-dateutil) < 3~~ with python3.14dist(python-dateutil) >= 2.8.2)
  • toot.noarch : (python3.14dist(python-dateutil) < 3~~ with python3.14dist(python-dateutil) >= 2.8.1)
  • visidata.src : python3dist(python-dateutil)

However, upstream is unmaintained and possibly with unaddressed security issues. The plan is to try to continue packaging until feasible (it is currently FTB with Python 3.15), but mark the package as deprecated in Fedora and try to convince other dependent project to switch over from it.

Feedback

Benefit to Fedora

Raise attention to unmaintained and possibly unsecure package and try to move away dependent packages from it.

Scope

  • Proposal owners:

Mark package as deprecated.

  • Other developers:

Optional: get in touch with other dependent packages upstream and raise attention to python-dateutil package status, asking them to move away from it.

  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

Upgrade/compatibility impact

While we'll try to fix the FTB with Python 3.15 to avoid breaking dependent packages, we don't want to continue patching the project downstream, so we'll likely orphan the package when the burden gets too high.


Early Testing (Optional)

Do you require 'QA Blueprint' support? Y/N

How To Test

User Experience

Dependencies

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No


Documentation

N/A (not a System Wide Change)

Release Notes