Skip to main content

tai42-contract

License: Apache 2.0

Pure interface contracts for the TAI ecosystem: the protocols, ABCs, pydantic models, and enums every other package builds against. At runtime this package imports nothing but pydantic, and its behaviour is limited to a narrow whitelisted surface — the tai42_app forwarding handle, model-level validators/normalizers, the storage path guard, and Agent's default astream/terminal-drain; everything else is a pydantic model, Protocol, ABC, or enum. Vendor types (fastmcp, langchain, starlette, mcp) appear only inside TYPE_CHECKING blocks, so they are never loaded when the code runs.

Position in the ecosystem

TAI is an open-source runtime for MCP tools, agents, and workflows — the server that hosts a capability and supplies the operational layer around it (manifest loading, access control, OAuth connectors, background execution, monitoring, storage, and human-in-the-loop steps). Everything plugs in against the interfaces this package defines.

Four packages; each depends only on the ones to its left:

                     tai42-kit  <--.
                   /  (helpers)     \
tai42-contract  <-+                  +--  tai42-skeleton
  (interfaces)     \                /    (the server)
                     tai42-cli  <--'
               (the remote client)

tai42-contract is the leaf: it depends on no other tai-* package, so anything — the skeleton, the CLI, a plugin, a helper — can import it without pulling in an implementation.

Install

Requires Python 3.13+. Install from PyPI into the environment that runs the server. Usually pulled in transitively via tai42-kit / tai42-skeleton, but it installs directly too:

uv add tai42-contract

Or from source — clone this repo and add it as an editable dependency:

git clone https://github.com/tai42ai/tai42   # next to your app checkout
cd /path/to/your/app
uv add --editable ../tai42/core/contract

Development

uv venv --python 3.13
uv pip install --no-sources --editable ".[dev]"   # pydantic + tooling + vendor libs (for pyright)
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync pyright
uv run --no-sync pytest --cov --cov-report=term-missing                           # self-contained contract tests

Documentation

The whole platform — concepts, guides, and the generated reference — lives in the unified documentation site:

License

Apache-2.0. See LICENSE and NOTICE.

Metadata

Release files for tai42-contract 15.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tai42-contract 15.1.0
File Size Uploaded
tai42_contract-15.1.0.tar.gz 286.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tai42-contract 15.1.0
File Interpreter ABI Platform
tai42_contract-15.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 641.5 kB

Release files / tai42_contract-15.1.0.tar.gz

Download URL tai42_contract-15.1.0.tar.gz
Size 286.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a4b443666938fe38523276adf676165bee3f30604ebfa6894a6ac699cb5af126
BLAKE2b-256 checksum
How to use checksums
2a4ab064e6a84445e020210d3b81b4df36aab0a14dd7dbe61f8a50a22713cf7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / tai42_contract-15.1.0-py3-none-any.whl

Download URL tai42_contract-15.1.0-py3-none-any.whl
Size 354.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2c619243cd76f89eb3c329248c0c2cc83f33142d992c9d9b82bc21690be2b6b
BLAKE2b-256 checksum
How to use checksums
26d67702548072061a75ff680dd2d5f2674f1c39dacc872ee7ff3fcd9de39b15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

19.0.0

2 release files

18.0.0

2 release files

17.0.0

2 release files

15.3.0

2 release files

15.2.0

2 release files

This release

15.1.0 This release

2 release files

15.0.1

2 release files

15.0.0

2 release files

14.0.0

2 release files

13.2.0

2 release files

13.1.0

2 release files

13.0.0

2 release files

12.0.0

2 release files

11.0.1

2 release files

11.0.0

2 release files

10.0.0

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.2.1

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.1.0

2 release files

7.0.2

2 release files

7.0.1

2 release files

7.0.0

2 release files

6.5.0

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.9.0

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.0.0

2 release files

2.3.0

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page