Skip to content

Bump Pint >= 0.24, <0.26 and Python >= 3.10, < 3.15 - #380

Merged
kwabenantim merged 7 commits into
masterfrom
379-numpy-2
Jul 15, 2026
Merged

kwabenantim merged 7 commits into
masterfrom
379-numpy-2

Conversation

@kwabenantim

@kwabenantim kwabenantim commented Jul 14, 2026 •

Copy link
Copy Markdown
Member

Description

Fixes #379, which supports upgrading to Python 3.14.

  • Bump Pint up to 0.24+, <0.26 (0.25.x is the latest)
  • Drop Python < 3.10
  • Add Python 3.14

Motivation and Context

Upgrading to Python 3.14. The plan is to follow this with sympy updates (#376)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Documentation checklist

  • I have updated all documentation in the code where necessary.
  • I have checked spelling in all (new) comments and documentation.
  • I have added a note to RELEASE.md if relevant (new feature, breaking change, or notable bug fix).

Testing

  • Testing is done automatically and codecov shows test coverage
  • This cannot be tested automatically

@codecov

codecov Bot commented Jul 14, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (73c0cb1) to head (bbc77ec).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #380   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9         9           
  Lines         1594      1594           
  Branches       327       327           
=========================================
  Hits          1594      1594           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

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

@kwabenantim kwabenantim changed the title Switch to Pint 0.24 Bump Pint up to 0.24 Jul 14, 2026
@kwabenantim

Copy link
Copy Markdown
Member Author

This doesn't seem to have caused much difference except for an error message in 1fa4336. This PR will be followed by sympy updates (#376)

@kwabenantim
kwabenantim marked this pull request as ready for review July 14, 2026 14:33
@kwabenantim kwabenantim changed the title Bump Pint up to 0.24 Bump Pint up to 0.24, Python to 3.14 Jul 14, 2026
@kwabenantim kwabenantim changed the title Bump Pint up to 0.24, Python to 3.14 Bump Pint up to 0.24, Python to 3.10 - 3.14 Jul 14, 2026
@kwabenantim kwabenantim changed the title Bump Pint up to 0.24, Python to 3.10 - 3.14 Bump Pint >= 0.24, <0.26 and Python >= 3.10, < 3.14 Jul 14, 2026
@kwabenantim
kwabenantim requested a review from Copilot July 14, 2026 14:35
@kwabenantim kwabenantim changed the title Bump Pint >= 0.24, <0.26 and Python >= 3.10, < 3.14 Bump Pint >= 0.24, <0.26 and Python >= 3.10, < 3.15 Jul 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates cellmlmanip’s supported Python and Pint ranges to enable compatibility with Pint ≥ 0.24 (and therefore NumPy 2.x) and adds CI coverage for Python 3.14, aligning with issue #379.

Changes:

  • Bumped Pint requirement to >=0.24, <0.26 and updated unit-handling code to match Pint 0.24+ API changes.
  • Dropped Python 3.9 support and updated packaging metadata / pinned requirements generation to Python 3.10.
  • Updated GitHub Actions matrices and pinned requirements files to reflect the new supported Python/Pint ecosystem.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_parser.py Updates an expected Pint dimensionality error string for the new Pint version.
setup.py Updates supported Python metadata and bumps the Pint dependency constraint.
requirements/test.txt Regenerates pinned test dependencies with Python 3.10 and Pint 0.24.x.
requirements/dev.txt Regenerates pinned dev dependencies with Python 3.10 and newer tooling.
requirements/base.txt Regenerates pinned base dependencies with Pint 0.24.x transitive deps.
requirements/base.in Updates the unpinned Pint constraint to >=0.24, <0.26.
requirements/README.md Updates pinned-deps generation note from Python 3.6 to 3.10.
requirements/check-python-version.py Enforces generating pinned deps using Python 3.10.
RELEASE.md Adds release notes for 0.3.8 covering Pint/Python support changes.
cellmlmanip/version.txt Bumps package version from 0.3.7 to 0.3.8.
cellmlmanip/units.py Updates Pint imports and dimensionless unit definition logic for Pint 0.24+.
.github/workflows/unit-test.yml Updates CI matrix to test Python 3.10–3.14.
.github/workflows/unit-test-pinned.yml Updates pinned-deps CI to run on Python 3.10.
.github/workflows/style.yml Updates style checks to run on Python 3.10.
.github/workflows/docs.yml Updates docs build to run on Python 3.10.
.github/workflows/coverage.yml Updates coverage job to run on Python 3.10.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread setup.py
Comment thread tests/test_parser.py
@kwabenantim
kwabenantim merged commit e0de482 into master Jul 15, 2026
23 checks passed
@kwabenantim
kwabenantim deleted the 379-numpy-2 branch July 15, 2026 07:37
@kwabenantim kwabenantim mentioned this pull request Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Pint 0.24 (and Numpy 2.0)

3 participants