Metadata-Version: 2.4
Name: trailing
Version: 0.1.0
Summary: Python SDK for the Trailing agent compliance audit platform — tamper-proof audit trails for AI agents.
Author-email: Trailing <hello@trailing.ai>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/trailingai/trailing
Project-URL: Documentation, https://github.com/trailingai/trailing
Project-URL: Repository, https://github.com/trailingai/trailing
Keywords: ai,agents,compliance,audit,llm,observability,langchain,crewai,openai
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Logging
Classifier: Topic :: Security
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Provides-Extra: crewai
Requires-Dist: crewai>=0.80; extra == "crewai"
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2; extra == "langchain"
Provides-Extra: openai
Requires-Dist: openai-agents>=0.0.5; extra == "openai"
Provides-Extra: claude
Provides-Extra: codex
Provides-Extra: cursor
Provides-Extra: all
Requires-Dist: trailing[claude,codex,crewai,cursor,langchain,openai]; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"

# Trailing Python SDK

Python client for sending trace and oversight events to Trailing.

## Install

```bash
pip install .
```

## Example

```python
from trailing import SdkContext, SdkEvent, TrailingClient

event = SdkEvent.tool_call(
    agent_id="planner-agent",
    agent_type="codex",
    session_id="session-123",
    tool_name="web.search",
    target="https://example.com/policy",
    parameters={"query": "retention"},
    context=SdkContext(policy_refs=["EU-AIA-12"]),
)

with TrailingClient(base_url="http://127.0.0.1:3001") as client:
    client.send_event(event)
```
