Skip to content

Drop support for Python 3.9 and 3.10, add support for 3.14 and 3.15 - #281

Merged
youtux merged 4 commits into
masterfrom
drop-py39-py310-add-py314-py315
Oct 11, 2026
Merged

youtux merged 4 commits into
masterfrom
drop-py39-py310-add-py314-py315

Conversation

@youtux

@youtux youtux commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Drops support for Python 3.9 and 3.10 (both EOL) and adds support for Python 3.14 and 3.15.

Supported versions are now: 3.11, 3.12, 3.13, 3.14, 3.15.

Changes

  • pyproject.toml: Updated requires-python to >=3.11, updated classifiers and black target-version
  • tox.ini: Updated envlist to test py3.11 through py3.15
  • .github/workflows/main.yml: Updated CI matrix to test py3.11 through py3.15
  • .pre-commit-config.yaml: Updated pyupgrade to --py311-plus
  • CHANGES.rst: Documented the version changes
  • uv.lock: Updated dependencies via pre-commit hook

- Update requires-python to >=3.11
- Update classifiers to include Python 3.14 and 3.15
- Update tox envlist to test py3.11 through py3.15
- Update CI workflow matrix to test py3.11 through py3.15
- Update pre-commit pyupgrade to --py311-plus
- Update black target-version
- Document changes in CHANGES.rst
- Update uv.lock dependencies

Co-authored-by: Junie <junie@jetbrains.com>
Copilot AI balanced review requested due to automatic review settings October 11, 2026 13:10

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.

🟡 Changes recommended

Three modified import blocks must be normalized to pass the configured isort pre-commit hook.

3 open findings
What changed in this PR

Updates supported Python versions to 3.11–3.15 across packaging, tooling, CI, and dependencies.

Changes:

  • Raises the minimum Python version to 3.11 and adds 3.14/3.15 support.
  • Updates CI, tox, Black, and pyupgrade targets.
  • Regenerates dependencies and modernizes standard-library imports.
File Description
.github/​workflows/​main.yml Updates the CI Python matrix.
.pre-commit-config.yaml Targets Python 3.11+ syntax.
CHANGES.rst Documents supported-version changes.
pyproject.toml Updates metadata and Black targets.
src/​pytest_factoryboy/​compat.py Uses the standard-library TypeAlias.
src/​pytest_factoryboy/​fixture.py Moves Callable to collections.abc.
src/​pytest_factoryboy/​fixturegen.py Moves Callable to collections.abc.
tox.ini Updates test environments to Python 3.11–3.15.
uv.lock Regenerates dependencies for Python 3.11+.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/pytest_factoryboy/compat.py Outdated
Comment thread src/pytest_factoryboy/fixture.py Outdated
Comment thread src/pytest_factoryboy/fixturegen.py Outdated

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.

🟡 Changes recommended

The unexplained build-backend upgrade should be reverted or documented before approval.

1 open finding
3 resolved since last review

🧠 Review effort: Balanced

Comment thread pyproject.toml
@youtux
youtux merged commit f369fd0 into master Oct 11, 2026
9 of 19 checks passed
@youtux
youtux deleted the drop-py39-py310-add-py314-py315 branch October 11, 2026 13:39
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