Deprecate Python-dateutil
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
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
- Name: [[User:mattia| Mattia Verga]]
- Email: mattia.verga@proton.me
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 [Is this project ACTIVELY maintained? ¡ Issue #1404 ¡ dateutil/dateutil ¡ GitHub unmaintained] and possibly with [Vulnerability Disclosure ¡ Issue #1450 ¡ dateutil/dateutil ¡ GitHub unaddressed security issues]. The plan is to try to continue packaging until feasible (it is currently [https://bugzilla.redhat.com/show%20bug.cgi?id=2423882 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 [Making sure you're not a bot! 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. - Release engineering: [Making sure you're not a bot! #Releng issue number]
- 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
\n
Last edited by @alking 2026-02-10T17:53:05Z
Last edited by @alking 2026-02-10T17:53:05Z