-
Notifications
You must be signed in to change notification settings - Fork 0
chore!: bump minimum Python version to 3.11 #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
BREAKING CHANGE: Drop support for Python 3.9 and 3.10. This change: - Updates requires-python from >=3.9 to >=3.11 - Removes Python 3.9 and 3.10 from CI matrix and classifiers - Removes eval-type-backport dependency (only needed for Python <3.10) - Removes python_version conditions from mcp and crewai dependencies - Updates ruff target-version from py39 to py311 - Updates README requirements section Python 3.11 is now the minimum supported version, allowing the use of modern typing features and simplifying dependency management.
Regenerate uv.lock after removing eval-type-backport and updating python_version conditions in optional dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 3 files
There was a problem hiding this comment.
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 drops support for Python 3.9 and 3.10, establishing Python 3.11 as the new minimum supported version. This simplifies dependency management by removing version-conditional dependencies and enables the use of modern Python features.
Key Changes:
- Updated minimum Python version from 3.9 to 3.11 across all configuration files
- Removed version-conditional dependencies (
eval-type-backport, conditionalmcpandcrewai) - Updated CI matrix to test Python 3.11 and 3.13 (previously 3.9, 3.10, 3.13)
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| pyproject.toml | Updated requires-python to >=3.11, removed Python 3.9/3.10 classifiers, removed eval-type-backport dependency and version conditionals from optional dependencies, updated ruff target to py311 |
| README.md | Updated requirements to Python 3.11+, removed Python 3.10+ notes from CrewAI integration section |
| .github/workflows/ci.yaml | Updated CI matrix to test Python 3.11 and 3.13, removed Python 3.9 and 3.10 from matrix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| python-version: ["3.11", "3.13"] | ||
| include: | ||
| - python-version: "3.9" | ||
| sync-extras: "--all-extras --no-extra mcp" | ||
| - python-version: "3.10" | ||
| - python-version: "3.11" | ||
| sync-extras: "--all-extras" | ||
| - python-version: "3.13" | ||
| sync-extras: "--all-extras" |
Copilot
AI
Dec 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CI matrix tests Python 3.11 and 3.13, but skips Python 3.12. This is unusual and might be unintentional. Consider adding Python 3.12 to the matrix to ensure compatibility with all supported versions listed in the project classifiers (3.11, 3.12, 3.13).
Ruff B905 rule requires explicit strict= parameter for zip() when targeting Python 3.11+. Using strict=True ensures both iterables have the same length, which is the expected behaviour in these cases.
- Import TypeAlias from typing instead of typing_extensions - Use datetime.UTC instead of datetime.timezone.utc - Remove obsolete TODO comments about Python 3.9 support
glebedel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Summary
Drop support for Python 3.9 and 3.10, making Python 3.11 the minimum supported version.
pydantic suport 3.11 or above now
What Changed
requires-pythonfrom>=3.9to>=3.11eval-type-backportdependency (only needed for Python <3.10)python_versionconditions frommcpandcrewaioptional dependenciestarget-versionfrompy39topy311Why
Python 3.11 provides modern typing features and better performance. This simplifies dependency management by removing version-conditional dependencies and allows the codebase to use Python 3.11+ features without backports.
BREAKING CHANGE: Python 3.9 and 3.10 are no longer supported.
Summary by cubic
Set Python 3.11 as the minimum supported version and drop Python 3.9/3.10. This is a breaking change that simplifies dependencies and enables 3.11 features.
Dependencies
Migration
Written for commit 23a75e9. Summary will update automatically on new commits.