From Fedora Project Wiki

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