Bug 2406022 - Is there a plan to deprecate pytz in Fedora
Summary: Is there a plan to deprecate pytz in Fedora
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: pytz
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-10-23 13:31 UTC by Peter Robinson
Modified: 2026-10-28 22:35 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Peter Robinson 2025-10-23 13:31:55 UTC
With the introduction of zoneinfo in python 3.9 pytz essentially became obsolete. As outlined in bug 2406005 there are issues with pytz, I thought it made sense to have a separate bug report to discuss forward looking plans about what we should do in Fedora to deal with pytz, there is a upstream PR [1] that tries to clarify the state and various issues with it.

With zoneinfo in py3.9 and < 3.9 in python now being EOL a lot of upstream projects seem to be actively migrating from pytz -> zoneino (eg django as of v5 only support zoneinfo) so maybe we should review the use of pytz and actively migrate away.

[1] https://github.com/stub42/pytz/pull/139

Reproducible: Always

Comment 1 Peter Robinson 2025-10-23 13:33:37 UTC
From https://bugzilla.redhat.com/show_bug.cgi?id=2332196#c8 Miro documented the dependent packages as of 20251022 as reported by dnf:

$ repoquery -q --repo=rawhide{,-source} --whatrequires python3-pytz
babel-0:2.17.0-6.fc44.src
cinnamon-0:6.4.12-3.fc44.x86_64
conda-build-0:24.11.2-2.fc42.src
copr-backend-0:2.10-1.fc44.noarch
copr-backend-0:2.10-1.fc44.src
copr-frontend-0:2.5-1.fc44.noarch
copr-frontend-0:2.5-1.fc44.src
cozy-0:1.3.0-10.fc44.noarch
cozy-0:1.3.0-10.fc44.src
gnome-feeds-0:2.2.0-6.fc44.noarch
khal-0:0.13.0-11.fc44.noarch
khal-0:0.13.0-11.fc44.src
limnoria-0:20250503-4.fc44.noarch
limnoria-0:20250503-4.fc44.src
oci-cli-0:3.66.1-2.fc44.noarch
oci-cli-0:3.66.1-2.fc44.src
pgadmin4-0:9.9-2.fc44.src
pgadmin4-0:9.9-2.fc44.x86_64
python-APScheduler-0:3.11.0-6.fc44.src
python-Mastodon-0:2.1.4-1.fc44.src
python-arrow-0:1.3.0-5.fc44.src
python-astroplan-0:0.9.1-9.fc44.src
python-bravado-core-0:6.1.0-6.fc44.src
python-celery-0:5.3.6-12.fc44.src
python-ciso8601-0:2.3.2-3.fc43.src
python-croniter-0:5.0.1-5.fc44.src
python-cryptography-0:45.0.4-4.fc44.src
python-cs-0:3.3.1-6.fc44.src
python-dateparser-0:1.2.2-4.fc44.src
python-datetimerange-0:1.2.0-13.fc44.src
python-dirty-equals-0:0.9.0-11.fc44.src
python-django-filter-0:25.1-4.fc44.src
python-feedgenerator-0:2.1.0-11.fc44.src
python-fiona-0:1.10.1-8.fc44.src
python-flask-babel-0:4.0.0-11.fc44.src
python-flask-restx-0:1.3.0-11.fc44.src
python-geopy-0:2.4.1-11.fc44.src
python-hypothesis-0:6.123.0-7.fc44.src
python-icalendar-0:6.3.1-5.fc44.src
python-inema-0:0.8.12-3.fc44.src
python-ipywidgets-0:8.1.7-5.fc44.src
python-irc-0:20.5.0-10.fc44.src
python-iso8601-0:2.1.0-7.fc44.src
python-kombu-1:5.3.7-10.fc44.src
python-marshmallow-0:3.25.0-6.fc44.src
python-matplotlib-0:3.10.6-1.fc44.src
python-mkdocs-git-revision-date-localized-plugin-0:1.3.0-7.fc44.src
python-mongomock-0:4.3.0-1.fc44.src
python-oci-0:2.160.1-2.fc44.src
python-orjson-0:3.11.3-2.fc44.src
python-oslo-utils-0:7.3.0-6.fc44.src
python-pandas-0:2.2.3-5.fc43~bootstrap.src
python-pelican-0:4.11.0-2.fc44.src
python-pendulum-0:3.1.0-4.fc44.src
python-prettyprinter-0:0.18.0-4.fc44.src
python-proto-plus-0:1.22.3-11.fc44.src
python-pydantic-0:2.12.3-1.fc44.src
python-pydantic-extra-types-0:2.10.6-2.fc44.src
python-pyvirtualize-0:0.10-26.20191018gitdc2d971.fc44.src
python-serpent-0:1.40-14.fc44.src
python-simple-salesforce-0:1.12.5-11.fc44.src
python-snaptime-0:0.2.4-23.fc44.src
python-sqlalchemy-utils-0:0.41.1-13.fc44.src
python-stravalib-0:1.7-6.fc44.src
python-tempora-0:5.8.0-1.fc44.src
python-typepy-0:1.3.2-6.fc44.src
python-vobject-0:0.9.8-6.fc44.src
python-xmp-toolkit-0:2.0.2-9.fc44.src
python-yfinance-0:0.2.54-5.fc44.src
python-zeep-0:4.3.2-1.fc44.src
python3-astroplan-0:0.9.1-9.fc44.noarch
python3-bravado-core-0:6.1.0-6.fc44.noarch
python3-croniter-0:5.0.1-5.fc44.noarch
python3-cs-0:3.3.1-6.fc44.noarch
python3-dateparser-0:1.2.2-4.fc44.noarch
python3-django-timezone-field-0:4.2.1-19.fc44.noarch
python3-feedgenerator-0:2.1.0-11.fc44.noarch
python3-flask-babel-0:4.0.0-11.fc44.noarch
python3-flask-restx-0:1.3.0-11.fc44.noarch
python3-geopy+timezone-0:2.4.1-11.fc44.noarch
python3-hypothesis+pytz-0:6.123.0-7.fc44.noarch
python3-icalendar-0:6.3.1-5.fc44.noarch
python3-inema-0:0.8.12-3.fc44.noarch
python3-influxdb-0:5.2.0-27.fc44.noarch
python3-irc-0:20.5.0-10.fc44.noarch
python3-kajiki-0:1.0.2-5.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin+all-0:1.3.0-7.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin+base-0:1.3.0-7.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin-0:1.3.0-7.fc44.noarch
python3-mongomock-0:4.3.0-1.fc44.noarch
python3-oci-0:2.160.1-2.fc44.noarch
python3-oslo-serialization-0:5.5.0-6.fc44.noarch
python3-oslo-utils-0:7.3.0-6.fc44.noarch
python3-pandas-0:2.2.3-5.fc43~bootstrap.x86_64
python3-pelican-0:4.11.0-2.fc44.noarch
python3-pyvirtualize-0:0.10-26.20191018gitdc2d971.fc44.noarch
python3-snaptime-0:0.2.4-23.fc44.noarch
python3-stravalib-0:1.7-6.fc44.noarch
python3-subliminal-0:2.1.0-22.fc44.noarch
python3-typepy+datetime-0:1.3.2-6.fc44.noarch
python3-vobject-0:0.9.8-6.fc44.noarch
python3-xmp-toolkit-0:2.0.2-9.fc44.noarch
python3-yfinance-0:0.2.54-5.fc44.noarch
python3-zeep-0:4.3.2-1.fc44.noarch
qtile-0:0.33.0-2.20250828git26bd747.fc44.src

Comment 2 Peter Robinson 2025-10-23 13:37:24 UTC
From https://bugzilla.redhat.com/show_bug.cgi?id=2332196#c10

The automatically generated runtime dependencies are on python3.14dist(pytz):

$ repoquery -q --repo=rawhide --whatrequires 'python3.14dist(pytz)'
khal-0:0.13.0-11.fc44.noarch
oci-cli-0:3.66.1-2.fc44.noarch
python3-astroplan-0:0.9.1-9.fc44.noarch
python3-bravado-core-0:6.1.0-6.fc44.noarch
python3-croniter-0:5.0.1-5.fc44.noarch
python3-cs-0:3.3.1-6.fc44.noarch
python3-dateparser-0:1.2.2-4.fc44.noarch
python3-django-timezone-field-0:4.2.1-19.fc44.noarch
python3-feedgenerator-0:2.1.0-11.fc44.noarch
python3-flask-babel-0:4.0.0-11.fc44.noarch
python3-flask-restx-0:1.3.0-11.fc44.noarch
python3-geopy+timezone-0:2.4.1-11.fc44.noarch
python3-hypothesis+pytz-0:6.123.0-7.fc44.noarch
python3-inema-0:0.8.12-3.fc44.noarch
python3-influxdb-0:5.2.0-27.fc44.noarch
python3-irc-0:20.5.0-10.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin+all-0:1.3.0-7.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin+base-0:1.3.0-7.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin-0:1.3.0-7.fc44.noarch
python3-mongomock-0:4.3.0-1.fc44.noarch
python3-oci-0:2.160.1-2.fc44.noarch
python3-oslo-utils-0:7.3.0-6.fc44.noarch
python3-pandas-0:2.2.3-5.fc43~bootstrap.x86_64
python3-snaptime-0:0.2.4-23.fc44.noarch
python3-stravalib-0:1.7-6.fc44.noarch
python3-subliminal-0:2.1.0-22.fc44.noarch
python3-typepy+datetime-0:1.3.2-6.fc44.noarch
python3-vobject-0:0.9.8-6.fc44.noarch
python3-xmp-toolkit-0:2.0.2-9.fc44.noarch
python3-yfinance-0:0.2.54-5.fc44.noarch
python3-zeep-0:4.3.2-1.fc44.noarch


And all the runtime dependencies are queried only when using the package name:

$ repoquery -q --repo=rawhide --whatrequires python3-pytz
cinnamon-0:6.4.12-3.fc44.x86_64
copr-backend-0:2.10-1.fc44.noarch
copr-frontend-0:2.5-1.fc44.noarch
cozy-0:1.3.0-10.fc44.noarch
gnome-feeds-0:2.2.0-6.fc44.noarch
khal-0:0.13.0-11.fc44.noarch
limnoria-0:20250503-4.fc44.noarch
oci-cli-0:3.66.1-2.fc44.noarch
pgadmin4-0:9.9-2.fc44.x86_64
python3-astroplan-0:0.9.1-9.fc44.noarch
python3-bravado-core-0:6.1.0-6.fc44.noarch
python3-croniter-0:5.0.1-5.fc44.noarch
python3-cs-0:3.3.1-6.fc44.noarch
python3-dateparser-0:1.2.2-4.fc44.noarch
python3-django-timezone-field-0:4.2.1-19.fc44.noarch
python3-feedgenerator-0:2.1.0-11.fc44.noarch
python3-flask-babel-0:4.0.0-11.fc44.noarch
python3-flask-restx-0:1.3.0-11.fc44.noarch
python3-geopy+timezone-0:2.4.1-11.fc44.noarch
python3-hypothesis+pytz-0:6.123.0-7.fc44.noarch
python3-icalendar-0:6.3.1-5.fc44.noarch
python3-inema-0:0.8.12-3.fc44.noarch
python3-influxdb-0:5.2.0-27.fc44.noarch
python3-irc-0:20.5.0-10.fc44.noarch
python3-kajiki-0:1.0.2-5.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin+all-0:1.3.0-7.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin+base-0:1.3.0-7.fc44.noarch
python3-mkdocs-git-revision-date-localized-plugin-0:1.3.0-7.fc44.noarch
python3-mongomock-0:4.3.0-1.fc44.noarch
python3-oci-0:2.160.1-2.fc44.noarch
python3-oslo-serialization-0:5.5.0-6.fc44.noarch
python3-oslo-utils-0:7.3.0-6.fc44.noarch
python3-pandas-0:2.2.3-5.fc43~bootstrap.x86_64
python3-pelican-0:4.11.0-2.fc44.noarch
python3-snaptime-0:0.2.4-23.fc44.noarch
python3-stravalib-0:1.7-6.fc44.noarch
python3-subliminal-0:2.1.0-22.fc44.noarch
python3-typepy+datetime-0:1.3.2-6.fc44.noarch
python3-vobject-0:0.9.8-6.fc44.noarch
python3-xmp-toolkit-0:2.0.2-9.fc44.noarch
python3-yfinance-0:0.2.54-5.fc44.noarch
python3-zeep-0:4.3.2-1.fc44.noarch



40 components build a package that depends on python3-pytz on runtime:

$ repoquery -q --repo=rawhide --whatrequires python3-pytz --source | pkgname | sort -u | wc -l
40

61 components BuildRequire it:

$ repoquery -q --repo=rawhide{,-source} --whatrequires python3-pytz | grep src$ | pkgname | sort -u | wc -l
61

Together, that's 68 unique components:

$ (repoquery -q --repo=rawhide{,-source} --whatrequires python3-pytz | grep src$ && repoquery -q --repo=rawhide --whatrequires python3-pytz --source) | pkgname | sort -u | wc -l 
68

Comment 3 Peter Robinson 2025-10-23 13:51:11 UTC
But there's a lot of nuance, I spent some time and went through the actual packages from comment #1 a little more. The details boil down to 3 main cases:
1) The dependency is bogus and it generally obsolete deps, either in rpm itself or upstream
2) There's minor use, mostly in tests or a single call, I need to investigate these more but in a quick look it could be legacy tests not updated when they moved the project to zoneinfo
3) Larger users of pytz

This is what I found, with referenced PRs where I made them to update Fedora/upstream packages:

Not used:
python-celery-0:5.3.6-12.fc44.src - https://src.fedoraproject.org/rpms/python-celery/pull-request/8
python-subliminal - dropped upstream when < py3.9 dropped - needs package update to later rev
python-kombu-1:5.3.7-10.fc44.src - dropped upstream https://src.fedoraproject.org/rpms/python-kombu/pull-request/11
python-marshmallow-0:3.25.0-6.fc44.src -  https://src.fedoraproject.org/rpms/python-marshmallow/pull-request/17
python-oslo-utils-0:7.3.0-6.fc44.src - not used, old dep: https://src.fedoraproject.org/rpms/python-oslo-utils/pull-request/7
python-pelican-0:4.11.0-2.fc44.src https://src.fedoraproject.org/rpms/python-pelican/pull-request/4
python3-oslo-serialization-0:5.5.0-6.fc44.noarch - dropped upstream https://src.fedoraproject.org/rpms/python-oslo-serialization/pull-request/3
python3-kajiki-0:1.0.2-5.fc44.noarch https://src.fedoraproject.org/rpms/python-kajiki/pull-request/2
python3-django-timezone-field-0:4.2.1-19.fc44.noarch - package well out of date, 7.1 latest, >= 5.0 supports zoneinfo, > 6 drops pytz >6.1 support django5
python3-pyvirtualize-0:0.10-26.20191018gitdc2d971.fc44.noarch - dead.package
python-tempora-0:5.8.0-1.fc44.src https://src.fedoraproject.org/rpms/python-tempora/pull-request/6

Optional, mostly for py < 3.9 support, here we get bogus deps because in the Fedora code paths they'll never be executed: 
python-cryptography-0:45.0.4-4.fc44.src - PR: https://src.fedoraproject.org/rpms/python-cryptography/pull-request/44
python-django-filter-0:25.1-4.fc44.src CI for tests pre django 5.0 - PR: https://src.fedoraproject.org/rpms/python-django-filter/pull-request/4
python-hypothesis-0:6.123.0-7.fc44.src - optional choice of pytz and zoneinfo but django >= 5 only supports the later
python-icalendar-0:6.3.1-5.fc44.src - will use zoneinfo or pytz
python-matplotlib-0:3.10.6-1.fc44.src - optional for >= 3.9
python-orjson-0:3.11.3-2.fc44.src - optional, but will user stdlib zoneinfo
python-pendulum-0:3.1.0-4.fc44.src - option tests, uses zoneinfo

AFAICT not actually used in project, just in deps:
conda-build-0:24.11.2-2.fc42.src https://src.fedoraproject.org/rpms/conda-build/pull-request/4
copr-backend-0:2.10-1.fc44.src https://github.com/fedora-copr/copr/pull/3972
python-dirty-equals-0:0.9.0-11.fc44.src
python-irc-0:20.5.0-10.fc44.src - old deps https://github.com/jaraco/irc/pull/241
python-mkdocs-git-revision-date-localized-plugin-0:1.3.0-7.fc44.src - not used https://src.fedoraproject.org/rpms/python-mkdocs-git-revision-date-localized-plugin/pull-request/2
python-snaptime-0:0.2.4-23.fc44.src - unmaintained upstream (8 years), no deps - retires? 

Minor use, a lot are single call or a single test, it looks like  in a bunch of cases they're fallback uses and are pulling in pytz as a bogus dep
python-prettyprinter-0:0.18.0-4.fc44.src - optional for tests
python-proto-plus-0:1.22.3-11.fc44.src - only tests
babel-0:2.17.0-6.fc44.src - only tests
cinnamon-0:6.4.12-3.fc44.x86_64
copr-frontend-0:2.5-1.fc44.src
cozy-0:1.3.0-10.fc44.noarch
gnome-feeds-0:2.2.0-6.fc44.noarch
oci-cli-0:3.66.1-2.fc44.noarch
python-Mastodon-0:2.1.4-1.fc44.src - one line in test
python-arrow-0:1.3.0-5.fc44.src
python-astroplan-0:0.9.1-9.fc44.src
python-bravado-core-0:6.1.0-6.fc44.src - one line, one test
python-dateparser-0:1.2.2-4.fc44.src
python-cs-0:3.3.1-6.fc44.src - one line setting UTC
python-datetimerange-0:1.2.0-13.fc44.src - one test
python-fiona-0:1.10.1-8.fc44.src - one test
python-flask-babel-0:4.0.0-11.fc44.src
python-flask-restx-0:1.3.0-11.fc44.src
python-geopy-0:2.4.1-11.fc44.src - just timezone module, not large
python-inema-0:0.8.12-3.fc44.src - one line in a util
python-ipywidgets-0:8.1.7-5.fc44.src - just tests
python-iso8601-0:2.1.0-7.fc44.src - optional, one test
python-mongomock-0:4.3.0-1.fc44.src - one use
python-oci-0:2.160.1-2.fc44.src - 3 uses, plus an example
python-zeep-0:4.3.2-1.fc44.src - 3 uses, likely due to 3.8 support
python-yfinance-0:0.2.54-5.fc44.src - 1 use, reporting unknown TZ
python-vobject-0:0.9.8-6.fc44.src - upstream supports 3.8 1 year after EOL but are prepared to move, not a lot of use
python-xmp-toolkit-0:2.0.2-9.fc44.src - no users, not updated since initial version, only used in tests/example
python-sqlalchemy-utils-0:0.41.1-13.fc44.src - supports zoneinfo/dateutils/pytz backends
python-stravalib-0:1.7-6.fc44.src - a few uses 
python-typepy-0:1.3.2-6.fc44.src - rpm saysNot used:
python-celery-0:5.3.6-12.fc44.src - https://src.fedoraproject.org/rpms/python-celery/pull-request/8
python-subliminal - dropped upstream when < py3.9 dropped - needs package update to later rev
python-kombu-1:5.3.7-10.fc44.src - dropped upstream https://src.fedoraproject.org/rpms/python-kombu/pull-request/11
python-marshmallow-0:3.25.0-6.fc44.src -  https://src.fedoraproject.org/rpms/python-marshmallow/pull-request/17
python-oslo-utils-0:7.3.0-6.fc44.src - not used, old dep: https://src.fedoraproject.org/rpms/python-oslo-utils/pull-request/7
python-pelican-0:4.11.0-2.fc44.src https://src.fedoraproject.org/rpms/python-pelican/pull-request/4
python3-oslo-serialization-0:5.5.0-6.fc44.noarch - dropped upstream https://src.fedoraproject.org/rpms/python-oslo-serialization/pull-request/3
python3-kajiki-0:1.0.2-5.fc44.noarch https://src.fedoraproject.org/rpms/python-kajiki/pull-request/2
python3-django-timezone-field-0:4.2.1-19.fc44.noarch - package well out of date, 7.1 latest, >= 5.0 supports zoneinfo, > 6 drops pytz >6.1 support django5
python3-pyvirtualize-0:0.10-26.20191018gitdc2d971.fc44.noarch - dead.package
python-tempora-0:5.8.0-1.fc44.src https://src.fedoraproject.org/rpms/python-tempora/pull-request/6

Optional, mostly for py < 3.9 support, here we get bogus deps because in the Fedora code paths they'll never be executed: 
python-cryptography-0:45.0.4-4.fc44.src - PR: https://src.fedoraproject.org/rpms/python-cryptography/pull-request/44
python-django-filter-0:25.1-4.fc44.src CI for tests pre django 5.0 - PR: https://src.fedoraproject.org/rpms/python-django-filter/pull-request/4
python-hypothesis-0:6.123.0-7.fc44.src - optional choice of pytz and zoneinfo but django >= 5 only supports the later
python-icalendar-0:6.3.1-5.fc44.src - will use zoneinfo or pytz
python-matplotlib-0:3.10.6-1.fc44.src - optional for >= 3.9
python-orjson-0:3.11.3-2.fc44.src - optional, but will user stdlib zoneinfo
python-pendulum-0:3.1.0-4.fc44.src - option tests, uses zoneinfo

AFAICT not actually used in project, just in deps:
conda-build-0:24.11.2-2.fc42.src https://src.fedoraproject.org/rpms/conda-build/pull-request/4
copr-backend-0:2.10-1.fc44.src https://github.com/fedora-copr/copr/pull/3972
python-dirty-equals-0:0.9.0-11.fc44.src
python-irc-0:20.5.0-10.fc44.src - old deps https://github.com/jaraco/irc/pull/241
python-mkdocs-git-revision-date-localized-plugin-0:1.3.0-7.fc44.src - not used https://src.fedoraproject.org/rpms/python-mkdocs-git-revision-date-localized-plugin/pull-request/2
python-snaptime-0:0.2.4-23.fc44.src - unmaintained upstream (8 years), no deps - retires? 

Minor use, a lot are single call or a single test, it looks like  in a bunch of cases they're fallback uses and are pulling in pytz as a bogus dep
python-prettyprinter-0:0.18.0-4.fc44.src - optional for tests
python-proto-plus-0:1.22.3-11.fc44.src - only tests
babel-0:2.17.0-6.fc44.src - only tests
cinnamon-0:6.4.12-3.fc44.x86_64
copr-frontend-0:2.5-1.fc44.src
cozy-0:1.3.0-10.fc44.noarch
gnome-feeds-0:2.2.0-6.fc44.noarch
oci-cli-0:3.66.1-2.fc44.noarch
python-Mastodon-0:2.1.4-1.fc44.src - one line in test
python-arrow-0:1.3.0-5.fc44.src
python-astroplan-0:0.9.1-9.fc44.src
python-bravado-core-0:6.1.0-6.fc44.src - one line, one test
python-dateparser-0:1.2.2-4.fc44.src
python-cs-0:3.3.1-6.fc44.src - one line setting UTC
python-datetimerange-0:1.2.0-13.fc44.src - one test
python-fiona-0:1.10.1-8.fc44.src - one test
python-flask-babel-0:4.0.0-11.fc44.src
python-flask-restx-0:1.3.0-11.fc44.src
python-geopy-0:2.4.1-11.fc44.src - just timezone module, not large
python-inema-0:0.8.12-3.fc44.src - one line in a util
python-ipywidgets-0:8.1.7-5.fc44.src - just tests
python-iso8601-0:2.1.0-7.fc44.src - optional, one test
python-mongomock-0:4.3.0-1.fc44.src - one use
python-oci-0:2.160.1-2.fc44.src - 3 uses, plus an example
python-zeep-0:4.3.2-1.fc44.src - 3 uses, likely due to 3.8 support
python-yfinance-0:0.2.54-5.fc44.src - 1 use, reporting unknown TZ
python-vobject-0:0.9.8-6.fc44.src - upstream supports 3.8 1 year after EOL but are prepared to move, not a lot of use
python-xmp-toolkit-0:2.0.2-9.fc44.src - no users, not updated since initial version, only used in tests/example
python-sqlalchemy-utils-0:0.41.1-13.fc44.src - supports zoneinfo/dateutils/pytz backends
python-stravalib-0:1.7-6.fc44.src - a few uses 
python-typepy-0:1.3.2-6.fc44.src - rpm says test req, maybe one use
python-serpent-0:1.40-14.fc44.src - one test, supports old py vers
python-simple-salesforce-0:1.12.5-11.fc44.src - only test (in setup.py), no test dep, examples in docs
python-pydantic-0:2.12.3-1.fc44.src - docs/test
python-pydantic-extra-types-0:2.10.6-2.fc44.src - test
pgadmin4-0:9.9-2.fc44.src - single use in 4 tests
python-feedgenerator-0:2.1.0-11.fc44.src - has a fallback when pytz isn't there, should be moved to zoneinfo, not large

Quite a large user:
khal-0:0.13.0-11.fc44.noarch
limnoria-0:20250503-4.fc44.noarch
python-APScheduler-0:3.11.0-6.fc44.src
qtile-0:0.33.0-2.20250828git26bd747.fc44.src
python-ciso8601-0:2.3.2-3.fc43.src
python-croniter-0:5.0.1-5.fc44.src - needs bump to 6.x, in 6.x it's dropped py2 support so can likely be removed
python-pandas-0:2.2.3-5.fc43~bootstrap.src test req, maybe one use
python-serpent-0:1.40-14.fc44.src - one test, supports old py vers
python-simple-salesforce-0:1.12.5-11.fc44.src - only test (in setup.py), no test dep, examples in docs
python-pydantic-0:2.12.3-1.fc44.src - docs/test
python-pydantic-extra-types-0:2.10.6-2.fc44.src - test
pgadmin4-0:9.9-2.fc44.src - single use in 4 tests
python-feedgenerator-0:2.1.0-11.fc44.src - has a fallback when pytz isn't there, should be moved to zoneinfo, not large

Quite a large user:
khal-0:0.13.0-11.fc44.noarch
limnoria-0:20250503-4.fc44.noarch
python-APScheduler-0:3.11.0-6.fc44.src
qtile-0:0.33.0-2.20250828git26bd747.fc44.src
python-ciso8601-0:2.3.2-3.fc43.src
python-croniter-0:5.0.1-5.fc44.src - needs bump to 6.x, in 6.x it's dropped py2 support so can likely be removed
python-pandas-0:2.2.3-5.fc43~bootstrap.src

Anyway, not sure I'll have much more time to dig into this more, just wanted to document the issues I found and the invvestigation I did as an aside of the real problem I needed to solve - a fix for the FTB for python-pandas

Comment 4 Gwyn Ciesla 2025-10-24 20:35:52 UTC
Thank you for the deep dive. We absolutely need to deprecate pytz. I don't currently have a plan, maybe this would be a good candidate for changes, maybe deprecation for f44 and removal in perhaps f46 or f47?

Comment 5 Aoife Moloney 2026-08-17 14:00:53 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 45 development cycle.
Changing version to 45.


Note You need to log in before you can comment on or make changes to this bug.