synthiaresearch
Synthia evals your AI agent against simulated users: probe it to infer who it's for, generate a synthetic scenario dataset, play the scenarios against it, and judge every rollout — locally from this SDK, or as a CI gate on every pull request.
pip install synthiaresearch # Python ≥ 3.10; the import name is `synthia`
Quickstart
from synthia import Synthia
client = Synthia() # reads SYNTHIA_API_KEY / SYNTHIA_BASE_URL
# One call: probe + generate (or reuse this script's dataset), play every
# scenario against your agent, judge the rollouts server-side.
def rollout_agent(transcript, sandbox):
return my_agent.respond_with_tools(transcript, sandbox)
outcome = client.run(rollout_agent, agent_meta={"name": "my-agent"})
print(outcome.pass_rate, outcome.evaluations)
Each step — prepare(), rollouts.run(), rollouts.quality_check() — is
also available
individually
when you need to intervene between them.
In CI
The package ships the synthia CLI (also python -m synthia): point a
synthia.yaml at a module exporting agent(transcript, sandbox) -> reply
and gate PRs on the pass rate —
synthia validate # check config + entrypoint, no network
synthia run # play the suite, judge it, gate on thresholds
— or use the GitHub Action
with language: python. Setup guide:
Synthia in CI.
Documentation
- Python API reference
— every method, plus the deliberate divergences from the JS SDK (no
ready();wait(**kwargs); rollouts run on a thread pool, so your agent callable must be thread-safe). - CLI reference · synthia.yaml · environment & sessions
- Runnable examples: examples/
Mirrors the JS/TypeScript SDK
(synthiaresearch on npm) — same API surface, same CLI, same yaml,
byte-identical results-JSON contract. Replies and tool events are
redacted by default
before upload. MIT licensed.
Development
src/synthia/client.py— the SDK: theSynthiaclient, resource classes, and the local probe/rollout loops with tool-call tracing.src/synthia/cli/— thesynthiaCLI, a module-for-module mirror of the JS CLI (same schema, same exit codes, same report contract).pyproject.toml— thesynthiaresearchpackage definition (httpxandpyyamlas the only runtime dependencies; the import name stayssynthia).
Metadata
Release files for synthiaresearch 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| synthiaresearch-0.1.0.tar.gz | 39.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synthiaresearch-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.8 kB
Release files / synthiaresearch-0.1.0.tar.gz
| Download URL | synthiaresearch-0.1.0.tar.gz |
|---|---|
| Size | 39.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58b383490f4683e33b0d8402461ec3db0deed86e32e288ab45e824f9d2bd2799
|
|
BLAKE2b-256 checksum How to use checksums |
54ccb08923ec44b5719d9f09b00a78e84468a16cae5ad94f31775d74544428ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.
Transparency logRelease files / synthiaresearch-0.1.0-py3-none-any.whl
| Download URL | synthiaresearch-0.1.0-py3-none-any.whl |
|---|---|
| Size | 36.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cad2ae7b250f55b8692b07c7eae997031141e9595c4ada645df0dc606ea452c6
|
|
BLAKE2b-256 checksum How to use checksums |
52664cc499bf8eec4c5506d9f212cca357cdda977af3b92abaf0c5714d396365
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.
Transparency logSecurity for synthiaresearch 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for synthiaresearch-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.