Skip to content

feat: add Python 3.14 support with pydantic 2.12.5#18

Merged
aquemy merged 1 commit intomainfrom
feat/python-3.14-support
Dec 26, 2025
Merged

feat: add Python 3.14 support with pydantic 2.12.5#18
aquemy merged 1 commit intomainfrom
feat/python-3.14-support

Conversation

@aquemy
Copy link
Copy Markdown
Member

@aquemy aquemy commented Dec 26, 2025

Summary

Adds Python 3.14 support by upgrading to pydantic 2.12.5, which includes full compatibility with Python 3.14's new type annotation semantics and free-threaded mode.

Changes

Dependency Upgrade

  • Bumped pydantic: >=2.0>=2.12.4
  • Resolved versions:
    • pydantic: 2.11.92.12.5
    • pydantic-core: 2.33.22.41.5
    • typing-inspection: 0.4.10.4.2

CI/CD

  • Re-enabled Python 3.14 in test matrix (.github/workflows/pull_request.yaml)
  • Tests now run on both Python 3.13 and 3.14

Python 3.14 Compatibility

Pydantic 2.12.5 provides:

  • ✅ Support for PEP 649 (lazy evaluation of annotations)
  • ✅ Support for PEP 749 (deferred evaluation semantics)
  • ✅ Free-threaded Python 3.14 compatibility
  • ✅ Multiple Python 3.14-specific bug fixes from patches 2.12.1 through 2.12.5

Testing

  • ✅ All 666 tests pass locally on Python 3.13
  • ✅ Pre-commit hooks pass
  • ⏳ CI will validate on both Python 3.13 and 3.14

References

Related

Reverts the Python 3.14 removal from PR #16 (commit 3831494), which was necessary because pydantic-core 2.33.2 didn't support Python 3.14.

- Bump pydantic constraint from >=2.0 to >=2.12.4
- Update uv.lock with pydantic 2.12.5 and pydantic-core 2.41.5
- Re-enable Python 3.14 in CI test matrix

Pydantic 2.12.5 includes latest Python 3.14 compatibility fixes,
supporting new type annotation semantics (PEP 649, PEP 749) and
free-threaded Python 3.14.
@aquemy aquemy merged commit 3f9564b into main Dec 26, 2025
4 checks passed
@aquemy aquemy deleted the feat/python-3.14-support branch December 26, 2025 12:52
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.

1 participant