Metadata-Version: 2.4
Name: circuit-agent-sdk
Version: 2.4.2
Summary: Official Python SDK for building and deploying agents on the Circuit platform
Project-URL: Repository, https://github.com/circuitorg/monorepo/tree/main/agent-sdk-python
Project-URL: Issues, https://github.com/circuitorg/monorepo/issues
Author-email: Circuit <kyle@selvlabs.com>
License: Proprietary
Keywords: agent,circuit,sdk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: fastapi==0.109.0
Requires-Dist: mangum==0.17.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests==2.31.0
Requires-Dist: solana>=0.30.0
Requires-Dist: solders>=0.18.0
Requires-Dist: toml==0.10.2
Requires-Dist: uvicorn==0.27.0
Requires-Dist: web3>=6.0.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.23.0; extra == 'docs'
Description-Content-Type: text/markdown

# Circuit Agent SDK - Python

Official Python SDK for building and deploying agents on the Circuit platform.

See the full documentation at [docs.circuit.org](https://docs.circuit.org/agent-developers/overview).

## Internal Environment Variables

These variables are supported for internal development and deployed runtime wiring. They are intentionally not documented on the public docs site.

| Variable | Purpose | Default |
| --- | --- | --- |
| `CIRCUIT_AGENT_API_URL` | Override the Agent API URL for non-deployed SDK requests. **Required** alongside `CIRCUIT_API_URL` when targeting staging with `circuit run` (e.g. `https://agents.staging.circuit.org`). | `https://agents.circuit.org` |
| `CIRCUIT_AUTH_FILE` | Override the auth filename used for local filesystem auth lookup | unset |
| `CIRCUIT_DEV_API_KEY` | Add an `X-API-Key` header for local development | unset |
| `CIRCUIT_DEPLOYED` | Auto-set for deployed agents to force internal VPC routing | unset |
| `CIRCUIT_AGENT_SLUG` | Auto-set for deployed agents and sent as `X-Agent-Slug` | unset |

Base URL resolution order:

1. `config.base_url`
2. `CIRCUIT_DEPLOYED=true` or Lambda runtime detection, which routes to `http://transaction-service.agent.internal`
3. `CIRCUIT_AGENT_API_URL`
4. `https://agents.circuit.org`

Filesystem auth filename resolution order:

1. `CIRCUIT_AUTH_FILE`
2. `auth-local.json` when `CIRCUIT_AGENT_API_URL` or `CIRCUIT_API_URL` contains `localhost` or `127.0.0.1`
3. `auth-production.json`

The SDK checks `~/.config/circuit/<filename>` first, then `~/.circuit/<filename>`.
