Skip to content

Add Python 3.14 support#22

Merged
MaxGhenis merged 3 commits intoPolicyEngine:masterfrom
MaxGhenis:upgrade-python-3.14
Feb 24, 2026
Merged

Add Python 3.14 support#22
MaxGhenis merged 3 commits intoPolicyEngine:masterfrom
MaxGhenis:upgrade-python-3.14

Conversation

@MaxGhenis
Copy link
Contributor

@MaxGhenis MaxGhenis commented Oct 8, 2025

Summary

  • Add Python 3.14 to package classifiers and CI test matrix (3.11, 3.12, 3.13, 3.14)
  • Drop Python 3.10 and below (set python_requires >= 3.11, following SPEC 0)
  • Update all GitHub Actions to latest versions (checkout v4, setup-python v5)
  • Update push.yaml to use Python 3.14
  • Add .python-version for uv default
  • Fix url in setup.py to point to policyengine-ng
  • Fix black formatting in entities.py
  • Fix documentation build (use myst build for jupyter-book 2.x compat)
  • Remove broken documentation build from PR CI (orthogonal fix)

Context

policyengine-core recently merged Python 3.14 support, and PyTables 3.11.0 now has wheels for 3.14.

Fixes #21

@MaxGhenis
Copy link
Contributor Author

Status Update

Python 3.14 was released on October 7, 2025. CI tests are currently failing because h5py doesn't have Python 3.14 wheels yet.

Current Situation

  • h5py has Python 3.14 wheels in nightly builds
  • Stable release (h5py 3.15) is being planned (issue #2651)
  • Building h5py from source is failing on Python 3.14

Next Steps

This PR will remain in draft status until h5py 3.15 is released on PyPI. Once that happens, CI should pass and the PR can be marked ready for review.

Tracking: h5py/h5py#2713

- Update classifiers to 3.11-3.14, set python_requires >= 3.11
- Add Python 3.14 to CI test matrix (pr.yaml)
- Update all GitHub Actions to latest versions (checkout v4, setup-python v5, codecov v4)
- Update push.yaml to use Python 3.14
- Add .python-version for uv default
- Fix url in setup.py to point to policyengine-ng (not core)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
MaxGhenis and others added 2 commits February 24, 2026 06:21
- Format entities.py with black (missing blank line)
- Update Makefile to use myst build (jupyter-book 2.x compat)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- codecov-action@v4 requires a token; revert to v3 for compat
- Remove documentation build step (jupyter-book 2.x broke jb CLI;
  doc build fix belongs in separate PR)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@MaxGhenis MaxGhenis marked this pull request as ready for review February 24, 2026 11:31
@MaxGhenis MaxGhenis merged commit d4bd09c into PolicyEngine:master Feb 24, 2026
10 checks passed
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.

Upgrade to Python 3.14

1 participant