Metadata-Version: 2.4
Name: assay-server
Version: 0.1.0
Summary: Assay server: evaluation and observability for AI pipelines and agents, with a dashboard and demo data
Author: tap222
License-Expression: MIT
Project-URL: Homepage, https://github.com/tap222/docai-eval
Project-URL: Documentation, https://github.com/tap222/docai-eval#setup-guide
Project-URL: Issues, https://github.com/tap222/docai-eval/issues
Keywords: llm,agents,evaluation,observability,document-ai,ai
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.110
Requires-Dist: uvicorn>=0.27
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: pydantic>=2.5
Provides-Extra: postgres
Requires-Dist: psycopg[binary]>=3.1; extra == "postgres"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: httpx>=0.27; extra == "dev"
Dynamic: license-file

# assay-server

The [Assay](https://github.com/tap222/docai-eval) server: evaluation and observability for AI
systems, meaning document-intelligence pipelines (OCR, classification, splitting, field
extraction) and AI agents (reasoning, tool calls, state changes). This package includes
the API, the dashboard, and a demo tenant. Python 3.10+.

```bash
pip install assay-server
assay demo      # synthetic tenant, 7 weeks of daily runs, staged incidents
assay serve     # http://127.0.0.1:8400  (API docs at /docs)
```

By default, results go to SQLite in the current directory. For production, add the Postgres
driver and point Assay at your database:

```bash
pip install "assay-server[postgres]"
export ASSAY_STORE_URL=postgresql+psycopg://user:pass@host:5432/assay
```

A new server has no login. Creating the first admin key switches login on:

```bash
assay keys create --tenant acme --scopes admin --name "acme admin"
```

To send data to the server from your own code, use the SDK,
[`assay-evals`](https://pypi.org/project/assay-evals/), which has no dependencies.

The [setup guide](https://github.com/tap222/docai-eval#setup-guide) also covers Docker,
Vercel, connecting your pipeline's database, and release gates.
