Add Python 3.14 support
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
Research direction
Update the Python requirement in pyproject.toml and the version matrix in .github/workflows/tests-unit.yaml. Start by reviewing those entries and the existing unit-test workflow, then run the unit tests on Python 3.14. Done means Python 3.14 is declared supported and CI verifies it alongside the existing versions.
Written by the indexing model from the issue text.
Description
Summary
Python 3.14 is released. tinyagent currently caps supported versions at <3.14 in pyproject.toml and does not test against 3.14 in CI.
This issue tracks the work needed to declare and verify Python 3.14 support.
Proposed changes
-
pyproject.toml— raise the upper bound:requires-python = ">=3.11,<3.15" -
.github/workflows/tests-unit.yaml— add3.14to the unit test matrix:python-version: ['3.11', '3.12', '3.13', '3.14']
Compatibility notes
A quick audit of the codebase found no use of APIs removed in Python 3.14 (e.g. pkgutil.find_loader, typing.Hashable/Sized, sys.last_*).
Existing unit tests pass on Python 3.14 locally with no source changes required.
Optional follow-ups (not blocking)
- Bump
language_versionin.pre-commit-config.yaml(nbstripouthook) frompython3.13topython3.14 - Replace deprecated
asyncio.iscoroutinefunction()withinspect.iscoroutinefunction()(deprecated in 3.14, removal planned for 3.16) in:src/tinyagent/agent.pysrc/tinyagent/callbacks/wrapper.pysrc/tinyagent/tools/wrappers.py
README and CONTRIBUTING already say "Python 3.11+" and do not need updates.
- Dominant language
- Python
- Stars
- 30
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100