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 — add 3.14 to 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_version in .pre-commit-config.yaml (nbstripout hook) from python3.13 to python3.14
- Replace deprecated
asyncio.iscoroutinefunction() with inspect.iscoroutinefunction() (deprecated in 3.14, removal planned for 3.16) in:
src/tinyagent/agent.py
src/tinyagent/callbacks/wrapper.py
src/tinyagent/tools/wrappers.py
README and CONTRIBUTING already say "Python 3.11+" and do not need updates.
Summary
Python 3.14 is released. tinyagent currently caps supported versions at
<3.14inpyproject.tomland 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:.github/workflows/tests-unit.yaml— add3.14to the unit test matrix: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)
language_versionin.pre-commit-config.yaml(nbstripouthook) frompython3.13topython3.14asyncio.iscoroutinefunction()withinspect.iscoroutinefunction()(deprecated in 3.14, removal planned for 3.16) in:src/tinyagent/agent.pysrc/tinyagent/callbacks/wrapper.pysrc/tinyagent/tools/wrappers.pyREADME and CONTRIBUTING already say "Python 3.11+" and do not need updates.