Metadata-Version: 2.4
Name: synth-agent-sdk
Version: 0.2.1
Summary: Autonomous agents, engineered. A Python SDK for building production-grade AI agents and multi-agent systems.
License-Expression: MIT
Requires-Python: >=3.10
Requires-Dist: click>=8.0
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.0
Requires-Dist: typing-extensions>=4.0
Provides-Extra: agentcore
Requires-Dist: boto3>=1.35; extra == 'agentcore'
Provides-Extra: all
Requires-Dist: anthropic>=0.39; extra == 'all'
Requires-Dist: boto3>=1.35; extra == 'all'
Requires-Dist: google-generativeai>=0.8; extra == 'all'
Requires-Dist: ollama>=0.4; extra == 'all'
Requires-Dist: openai>=1.0; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.39; extra == 'anthropic'
Provides-Extra: bedrock
Requires-Dist: boto3>=1.35; extra == 'bedrock'
Provides-Extra: google
Requires-Dist: google-generativeai>=0.8; extra == 'google'
Provides-Extra: ollama
Requires-Dist: ollama>=0.4; extra == 'ollama'
Provides-Extra: openai
Requires-Dist: openai>=1.0; extra == 'openai'
Description-Content-Type: text/markdown

# Synth

> Autonomous agents, engineered.

A Python SDK for building production-grade AI agents and multi-agent systems. From a 3-line single agent to complex, stateful, resumable multi-agent graphs — with model-agnostic provider support, streaming, observability, evaluation, and guardrails out of the box.

## Quick Start

```bash
pip install synth-agent-sdk
```

```python
from synth import Agent

agent = Agent(model="claude-sonnet-4-5", instructions="You are a helpful assistant.")
result = agent.run("What is the capital of France?")
print(result.text)
```

## Features

- **Minimal core** — 3 lines to a working agent
- **Tools** — `@tool` decorator auto-generates JSON schemas from type hints
- **Streaming** — typed event stream (`TokenEvent`, `ToolCallEvent`, `DoneEvent`, …)
- **Multi-provider** — Claude, GPT, Gemini, Ollama, AWS Bedrock via a single `model` string
- **Memory** — thread-scoped, persistent (Redis), or semantic (vector) conversation history
- **Guards** — declarative PII filtering, cost limits, tool-call blocking, custom checks
- **Structured output** — Pydantic model validation with automatic retry
- **Pipeline** — chain agents sequentially with optional parallel stages
- **Graph** — directed-graph workflows with conditional edges, loops, and concurrency
- **Agent Teams** — orchestrator-coordinated multi-agent collaboration
- **Tracing** — automatic OpenTelemetry-compatible traces on every run
- **Checkpointing** — resumable runs with local or Redis-backed state persistence
- **Evaluation** — built-in eval framework with exact-match and semantic scoring
- **CLI** — `synth dev`, `synth run`, `synth eval`, `synth trace`, `synth doctor`
- **AWS AgentCore** — deploy to AgentCore with `synth deploy --target agentcore`

## Installation

```bash
pip install synth-agent-sdk                # Core only
pip install synth-agent-sdk[anthropic]     # + Anthropic Claude
pip install synth-agent-sdk[openai]        # + OpenAI GPT
pip install synth-agent-sdk[bedrock]       # + AWS Bedrock
pip install synth-agent-sdk[all]           # Everything
```

Requires Python 3.10+.

## CLI

After installing, run `synth` to see the boot sequence:

```bash
synth
```

Available commands:

```bash
synth dev my_agent.py              # Local REPL with hot-reload + trace UI
synth run my_agent.py "prompt"     # Execute agent, print result
synth eval my_agent.py --dataset d # Run evaluation suite
synth trace <run_id>               # Open trace in browser
synth deploy --target agentcore    # Deploy to AWS AgentCore
synth doctor                       # Check env, credentials, deps
```

## Documentation

See the [User Guide](SynthSDK%20User%20Guide.md) for a full walkthrough.

## License

MIT
