feat: add Python 3.14 compatibility to all remaining Presidio packages#2147
feat: add Python 3.14 compatibility to all remaining Presidio packages#2147SharonHart with Copilot wants to merge 4 commits into
Conversation
- Update requires-python to <3.15 in anonymizer, image-redactor, cli, structured, and umbrella packages - Add Python 3.14 PyPI classifier to all affected packages - Split spacy dependency markers in image-redactor to exclude 3.8.14 on Python 3.14 (no compatible wheel), matching analyzer pattern - Extend CI matrix to test all components on Python 3.14 - Document Python 3.14 as a supported version in installation docs - Add CHANGELOG entry under [unreleased] Closes #2096
All packages now support 3.14, so add it directly to the matrix array instead of duplicating each component in `include` entries.
There was a problem hiding this comment.
Pull request overview
This PR completes Python 3.14 compatibility across the remaining Presidio packages (beyond presidio-analyzer) by aligning requires-python bounds and classifiers, updating the image-redactor’s spaCy markers for 3.14 wheel availability, expanding CI coverage to test all components on 3.14, and documenting 3.14 as a supported version.
Changes:
- Updated
requires-pythonto>=3.10,<3.15and added theProgramming Language :: Python :: 3.14classifier across the remaining packages. - Split
presidio-image-redactor’s spaCy dependency marker to excludespacy==3.8.14specifically on Python 3.14 (matching the analyzer’s approach). - Expanded CI’s Python matrix to include 3.14 for all tested components, and updated installation docs + changelog accordingly.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
presidio/pyproject.toml |
Aligns meta-package Python support and classifiers to include 3.14. |
presidio-structured/pyproject.toml |
Narrows requires-python to <3.15 and adds 3.14 classifier for installability on 3.14. |
presidio-image-redactor/pyproject.toml |
Adds 3.14 classifier / <3.15 bound and adjusts spaCy markers to avoid 3.8.14 on 3.14. |
presidio-cli/pyproject.toml |
Aligns Python version bounds and classifiers to include 3.14. |
presidio-anonymizer/pyproject.toml |
Aligns Python version bounds and classifiers to include 3.14. |
docs/installation.md |
Documents Python 3.14 as a supported version. |
CHANGELOG.md |
Records the Python 3.14 support change and the spaCy exclusion detail. |
.github/workflows/ci.yml |
Extends the CI Python matrix to include 3.14 across all components in the test job. |
Coverage report (presidio-cli)Click to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||
Coverage report (presidio-anonymizer)Click to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||||||||||||||
Coverage report (presidio-image-redactor)Click to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||||||||||||||
Coverage report (presidio-analyzer)Click to see where and how coverage changed
The report is truncated to 25 files out of 69. To see the full report, please visit the workflow summary page. This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
presidio-analyzeralready declared Python 3.14 support; the remaining packages still capped at<3.14(or used an overly broad<4.0), blocking 3.14 users from installing them.Changes
pyproject.tomlupdates — forpresidio-anonymizer,presidio-image-redactor,presidio-cli,presidio-structured, andpresidio:requires-pythonset to>=3.10,<3.15(consistent with the analyzer)Programming Language :: Python :: 3.14PyPI classifierpresidio-image-redactorspacy marker — split the Python ≥3.13 spacy constraint to excludespacy==3.8.14on Python 3.14 (no 3.14 wheel exists for that release), matching the analyzer pattern:CI — extended the Python 3.14
includematrix entries from Analyzer-only to all five components (Anonymizer, Image Redactor, CLI, Structured).Docs — added Python 3.14 to the supported versions list in
docs/installation.md.