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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions