One typed runtime API for Claude, Codex, and Antigravity agent SDKs.
Project description
agent-runtime-kit
agent-runtime-kit is a small Python runtime layer for agent SDKs. It gives
applications one typed async API for dispatching an agentic task through Claude
Agent SDK, OpenAI Codex SDK, or Google Antigravity SDK while keeping provider
capabilities visible.
Tags: agent-sdk agent-runtime coding-agents claude-code
openai-codex google-antigravity mcp typed-python async-python
developer-tools
About
agent-runtime-kit is for Python developers who want to run coding-agent tasks
through vendor runtimes without rewriting their application around each SDK. It
normalizes the runtime boundary: task inputs, capability checks, event streams,
tool audits, availability diagnostics, and typed results.
The library keeps vendor differences visible. Claude, Codex, and Antigravity
still expose different capabilities, permission models, setup requirements, and
unsupported fields. agent-runtime-kit gives those differences a consistent
shape instead of hiding them behind a lowest-common-denominator wrapper.
The package is intentionally not a router, benchmark harness, queue, hosted service, or full agent framework. It is the reusable layer underneath those systems: task models, runtime capabilities, event sinks, availability diagnostics, and adapters.
Install
If you want all first-party runtimes available, install the all extra:
pip install "agent-runtime-kit[all]"
Install the dependency-free core when you only need the public models, fake runtime, registry, diagnostics types, or you plan to add provider SDKs later:
pip install agent-runtime-kit
Install a single provider extra when your application only dispatches through one vendor runtime:
pip install "agent-runtime-kit[claude]"
pip install "agent-runtime-kit[codex]"
pip install "agent-runtime-kit[antigravity]"
Provider extras are a packaging boundary, not a separate API. They keep the core importable without vendor SDKs, avoid forcing every user to install every CLI binary or compiled runtime wheel, and contain dependency drift when one fast-moving vendor SDK changes independently of the others. Missing adapters raise typed setup errors that point to the matching extra.
import asyncio
from agent_runtime_kit import AgentTask, FakeAgentRuntime
async def main() -> None:
runtime = FakeAgentRuntime(output="done")
result = await runtime.run(AgentTask(goal="Summarize this repository"))
print(result.output)
asyncio.run(main())
The core package has no Claude, Codex, or Antigravity dependency. Vendor SDKs are added through optional extras.
Real Providers
import asyncio
from agent_runtime_kit import AgentTask
from agent_runtime_kit.adapters import ClaudeAgentRuntime
async def main() -> None:
runtime = ClaudeAgentRuntime(default_model="claude-sonnet-4-6")
diagnostic = runtime.availability()
if not diagnostic.available:
raise RuntimeError(diagnostic.message)
result = await runtime.run(AgentTask(goal="Summarize this repository"))
print(result.output)
asyncio.run(main())
Runtime Fields
AgentTask supports goal, system prompt, model, reasoning effort, working
directory, permission profile, MCP stdio servers, session/resume handles, output
schema, budget, metadata, and an async event sink. (model and
reasoning_effort are first-class fields; the legacy metadata["model"] /
metadata["reasoning_effort"] aliases still work.) Where a runtime cannot honor
a field (for example only Claude maps budget_usd; Codex and Antigravity reject
it with a typed UnsupportedTaskInputError) the adapter raises rather than
silently dropping it.
AgentResult returns output, finish reason (see FinishReason), parsed
structured output, usage, cost, session id, tool-call audits, and provider
metadata. artifacts is a reserved field: no built-in runtime populates it yet,
so it is always an empty tuple today.
Docs
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_runtime_kit-0.3.0.tar.gz.
File metadata
- Download URL: agent_runtime_kit-0.3.0.tar.gz
- Upload date:
- Size: 122.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc839f91a825ec9a6459eacb382cb9f3fbbc693b171d6a58079f69e64225bcd3
|
|
| MD5 |
d06b57d31c725ddfa138cd15a994985a
|
|
| BLAKE2b-256 |
5272a345d052a9b6e7ff8d36f12cb968c44634ee095086c0cd8ca09a172964f7
|
Provenance
The following attestation bundles were made for agent_runtime_kit-0.3.0.tar.gz:
Publisher:
publish-pypi.yml on ebarti/agent-runtime-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_runtime_kit-0.3.0.tar.gz -
Subject digest:
fc839f91a825ec9a6459eacb382cb9f3fbbc693b171d6a58079f69e64225bcd3 - Sigstore transparency entry: 2048547982
- Sigstore integration time:
-
Permalink:
ebarti/agent-runtime-kit@96b09b67a76bef6784227ec0c7edaf9b8d232be4 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ebarti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@96b09b67a76bef6784227ec0c7edaf9b8d232be4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file agent_runtime_kit-0.3.0-py3-none-any.whl.
File metadata
- Download URL: agent_runtime_kit-0.3.0-py3-none-any.whl
- Upload date:
- Size: 47.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b5079c5250a9ce3cc11afa74b72003191ca9e53c9dfe724e65d47f21bc9dec6
|
|
| MD5 |
a75972f56ad2aca5f79b9c49a66d0032
|
|
| BLAKE2b-256 |
da70df924e8e4b0c6eeed4456c34f19c0b98b0464d895563515fb0c37bd8810d
|
Provenance
The following attestation bundles were made for agent_runtime_kit-0.3.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on ebarti/agent-runtime-kit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_runtime_kit-0.3.0-py3-none-any.whl -
Subject digest:
3b5079c5250a9ce3cc11afa74b72003191ca9e53c9dfe724e65d47f21bc9dec6 - Sigstore transparency entry: 2048548014
- Sigstore integration time:
-
Permalink:
ebarti/agent-runtime-kit@96b09b67a76bef6784227ec0c7edaf9b8d232be4 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/ebarti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@96b09b67a76bef6784227ec0c7edaf9b8d232be4 -
Trigger Event:
release
-
Statement type: