Skip to content

Add Python 3.14 support #16

Description

@barredterra

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions