Skip to content

Conversation

@khaeru
Copy link
Owner

@khaeru khaeru commented Oct 10, 2025

Python 3.14 was released 2024-10-07. This PR is to:

  • Check/confirm that sdmx is compatible with the new version. This includes:
    • The existence of compatible releases of upstream dependencies. If those releases are not immediately available, the PR can aid to monitor and track upstream issues.
  • Drop support for Python 3.9, which will reach end-of-life (no more updates, even security updates) "approximately [during, before, or after] October 2025" per PEP 569.
    • Remove any code marked as for Python 3.9 compatibility only. Depending on these changes, part or all of the functionality may remain usable with Python 3.9 if users have extreme need.
    • Make any general clean-ups or improvements possible with features available from Python 3.10.
      • Use the type union operator instead of typing.Optional and typing.Union
      • Use match/case instead of some if statements with multiple elif blocks.

Analogous to #195.

PR checklist

  • Checks all ✅
  • Update documentation
  • Update doc/whatsnew.rst

@khaeru khaeru self-assigned this Oct 10, 2025
@khaeru khaeru added enh Enhancements & new features ci labels Oct 10, 2025
@codecov
Copy link

codecov bot commented Oct 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.25%. Comparing base (52f7741) to head (7221b87).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #249      +/-   ##
==========================================
- Coverage   99.02%   98.25%   -0.77%     
==========================================
  Files         115      115              
  Lines        9331     9344      +13     
==========================================
- Hits         9240     9181      -59     
- Misses         91      163      +72     
Files with missing lines Coverage Δ
sdmx/client.py 96.17% <100.00%> (-2.74%) ⬇️
sdmx/compare.py 100.00% <100.00%> (ø)
sdmx/convert/pandas.py 99.70% <100.00%> (+<0.01%) ⬆️
sdmx/dictlike.py 97.64% <100.00%> (ø)
sdmx/format/__init__.py 100.00% <100.00%> (ø)
sdmx/format/xml/common.py 100.00% <100.00%> (ø)
sdmx/message.py 100.00% <100.00%> (ø)
sdmx/model/common.py 99.71% <100.00%> (+<0.01%) ⬆️
sdmx/model/internationalstring.py 100.00% <100.00%> (ø)
sdmx/model/v21.py 100.00% <100.00%> (ø)
... and 24 more

... and 15 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- mypy v1.16.1 → v1.18.2
- ruff v0.11.13 → v0.14.0
- Remove use of typing.{Optional,Union}.
- Import generics from collections.abc.
@khaeru khaeru merged commit 71cdf84 into main Oct 13, 2025
34 of 36 checks passed
@khaeru khaeru deleted the python-3.14 branch October 13, 2025 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci enh Enhancements & new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants