Official Python client for the Agent Ledger API
Project description
agent-ledger-sdk
Python SDK for Agent Ledger. Instrument your agents, stream session data, and enforce budget guardrails with a simple HTTP client.
Installation
pip install agent-ledger-sdk
# or
uv add agent-ledger-sdk
Quick start
from agent_ledger_sdk import AgentLedgerClient, BudgetGuardrailError
ledger = AgentLedgerClient(api_key="alk_abc123")
session_id = ledger.start_session("support-bot")
try:
ledger.log_llm_call(
session_id,
{
"step_index": 0,
"model": "gpt-4.1",
"provider": "openai",
"prompt": "Draft a welcome email",
"response": "Hello ...",
"tokens_in": 120,
"tokens_out": 96,
"latency_ms": 2100,
},
)
ledger.end_session(session_id, "success")
except BudgetGuardrailError as exc:
print("Budget exceeded", exc.details)
ledger.end_session(session_id, "error", error_message="Budget hit")
API overview
| Method | Description |
|---|---|
AgentLedgerClient(api_key, base_url=None, timeout=10.0) |
Creates a reusable HTTP client. base_url falls back to AGENT_LEDGER_BASE_URL, otherwise the hosted production endpoint. |
start_session(agent_name) |
Begins a session and returns its ID. |
end_session(session_id, status, error_message=None) |
Completes a session. |
log_events(session_id, events) |
Low-level helper that posts arbitrary event payloads. |
log_llm_call, log_tool_call, log_tool_result |
Typed shortcuts that add the type field for you. |
Budget guardrails
When Agent Ledger blocks spending for an agent, the SDK raises BudgetGuardrailError. Inspect the .details attribute to see the remaining budget and attempted spend so you can pause execution gracefully.
Thread safety & async
AgentLedgerClient wraps a single httpx.Client. Reuse the instance across calls and call close() when shutting down, or use it as a context manager. For async workloads, you can build a thin wrapper around httpx.AsyncClient; contributions welcome!
Development
cd packages/sdk-py
python -m venv .venv && source .venv/bin/activate
pip install -e .[dev]
pytest
License
MIT
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_ledger_sdk-0.0.2.tar.gz.
File metadata
- Download URL: agent_ledger_sdk-0.0.2.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a1c951332050b71356f15529afea6226490ebfc98f451056a2bb953bdad6b08
|
|
| MD5 |
1252220d606688fcaa1c4b058f39ad78
|
|
| BLAKE2b-256 |
e94e8eb0113007774d05db36bf73d17aded1fc026128ade41772e3d61d3e533a
|
File details
Details for the file agent_ledger_sdk-0.0.2-py3-none-any.whl.
File metadata
- Download URL: agent_ledger_sdk-0.0.2-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6949880fb3307cfc5e54f555924c711dd7b8461350a08bbc90f75df9de7dd99c
|
|
| MD5 |
431dd1f8646bc6913f041cb7bbf1841c
|
|
| BLAKE2b-256 |
d8d500d060216155c51e37722ff12709e342265e54f5d1e6e54c83769fcd8b51
|