Add Python 3.14 support

Open Beginner friendly
#16 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
85/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python
Domain
ci-cd

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

  1. pyproject.toml — raise the upper bound:

    requires-python = ">=3.11,<3.15"
    
  2. .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.

Dominant language
Python
Stars
30
Forks
4
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.