Skip to content

Drop support for Python 3.9, upgrade default dev version to 3.10#345

Merged
tpvasconcelos merged 6 commits into
mainfrom
upgrade-python-support
Oct 11, 2025
Merged

Drop support for Python 3.9, upgrade default dev version to 3.10#345
tpvasconcelos merged 6 commits into
mainfrom
upgrade-python-support

Conversation

@tpvasconcelos

@tpvasconcelos tpvasconcelos commented Oct 11, 2025

Copy link
Copy Markdown
Owner

📚 Documentation preview 📚: https://ridgeplot--345.org.readthedocs.build/en/345/

…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>
@github-actions

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>
@tpvasconcelos
tpvasconcelos requested a review from Copilot October 11, 2025 13:56
@codecov

codecov Bot commented Oct 11, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (321c4c6) to head (c537d45).
⚠️ Report is 142 commits behind head on main.

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     
Flag Coverage Δ
combined-src 100.00% <100.00%> (+0.15%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 Union type annotations with modern | syntax throughout the codebase
  • Updated type alias definitions to use TypeAlias annotation style
  • Replaced vendored zip_strict function with built-in zip(..., 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.

Comment thread pyproject.toml
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",

Copilot AI Oct 11, 2025

Copy link

Choose a reason for hiding this comment

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

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.

Suggested change
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.13",
# TODO: Enable the Python 3.14 classifier once support is tested and confirmed.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
- "3.11"
- "3.12"
- "3.13"
#- "3.14"

Copilot AI Oct 11, 2025

Copy link

Choose a reason for hiding this comment

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

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.

Suggested change
#- "3.14"
# - "3.14" # Python 3.14 is not yet available on GitHub Actions runners; will enable when released and supported.

Copilot uses AI. Check for mistakes.
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
@tpvasconcelos
tpvasconcelos merged commit 417ce6c into main Oct 11, 2025
18 checks passed
@tpvasconcelos
tpvasconcelos deleted the upgrade-python-support branch October 11, 2025 14:00
@tpvasconcelos tpvasconcelos changed the title Drop support for Python 3.9, upgrade default dev version to 3.10, and add support for 3.14 Drop support for Python 3.9, upgrade default dev version to 3.10 Oct 11, 2025
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.

2 participants