Drop support for Python 3.9, upgrade default dev version to 3.10#345
Conversation
…and add support for Python 3.14 Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #345 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 18 18
Lines 655 648 -7
Branches 83 82 -1
=========================================
- Hits 655 648 -7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull Request Overview
Updates the project to drop support for Python 3.9 and upgrade the default development version to Python 3.10, while preparing for Python 3.14 support. This change aligns with Python's support policy and modernizes the codebase by adopting newer Python features.
Key changes include:
- Replaced
Uniontype annotations with modern|syntax throughout the codebase - Updated type alias definitions to use
TypeAliasannotation style - Replaced vendored
zip_strictfunction with built-inzip(..., strict=True)available since Python 3.10 - Updated project configuration files to reflect new Python version requirements
Reviewed Changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Updated minimum Python version requirement and removed Python 3.9 classifier |
| src/ridgeplot/_types.py | Modernized type alias definitions using TypeAlias and ` |
| src/ridgeplot/_vendor/more_itertools.py | Removed entire vendored module as zip(..., strict=True) is now available |
| src/ridgeplot/_obj/traces/base.py | Replaced zip_strict with built-in zip(..., strict=True) |
| src/ridgeplot/_kde.py | Updated type aliases and replaced zip_strict calls |
| src/ridgeplot/_hist.py | Replaced zip_strict with built-in zip(..., strict=True) |
| src/ridgeplot/_figure_factory.py | Replaced zip_strict calls with built-in equivalent |
| tests/ | Updated type annotations and added type ignore comments for test compatibility |
| Configuration files | Updated Python version references from 3.9 to 3.10 across CI, docs, and dev tools |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| "Programming Language :: Python :: 3.10", | ||
| "Programming Language :: Python :: 3.11", | ||
| "Programming Language :: Python :: 3.12", | ||
| "Programming Language :: Python :: 3.13", |
There was a problem hiding this comment.
The commented-out Python 3.14 classifier should either be removed or uncommented with a clear reason for keeping it commented. If Python 3.14 support is not yet ready, consider adding a TODO comment explaining when it will be enabled.
| "Programming Language :: Python :: 3.13", | |
| "Programming Language :: Python :: 3.13", | |
| # TODO: Enable the Python 3.14 classifier once support is tested and confirmed. |
| - "3.11" | ||
| - "3.12" | ||
| - "3.13" | ||
| #- "3.14" |
There was a problem hiding this comment.
The commented-out Python 3.14 version in the CI matrix should either be removed or uncommented. If Python 3.14 testing is not ready, consider adding a comment explaining the reason or timeline for enabling it.
| #- "3.14" | |
| # - "3.14" # Python 3.14 is not yet available on GitHub Actions runners; will enable when released and supported. |
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
📚 Documentation preview 📚: https://ridgeplot--345.org.readthedocs.build/en/345/