Metadata-Version: 2.4
Name: braintrust
Version: 0.11.0
Summary: SDK for integrating Braintrust
Home-page: https://www.braintrust.dev
Author: Braintrust
Author-email: info@braintrust.dev
Project-URL: Source Code, https://github.com/braintrustdata/braintrust-sdk-python
Project-URL: Bug Tracker, https://github.com/braintrustdata/braintrust-sdk-python/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10.0
Description-Content-Type: text/markdown
Requires-Dist: GitPython
Requires-Dist: requests
Requires-Dist: chevron
Requires-Dist: tqdm
Requires-Dist: exceptiongroup>=1.2.0
Requires-Dist: jsonschema
Requires-Dist: packaging
Requires-Dist: python-dotenv
Requires-Dist: sseclient-py
Requires-Dist: python-slugify
Requires-Dist: typing_extensions>=4.1.0
Requires-Dist: wrapt
Provides-Extra: cli
Requires-Dist: boto3; extra == "cli"
Requires-Dist: psycopg2-binary; extra == "cli"
Requires-Dist: uv; extra == "cli"
Requires-Dist: starlette; extra == "cli"
Requires-Dist: uvicorn; extra == "cli"
Provides-Extra: doc
Requires-Dist: pydoc-markdown; extra == "doc"
Provides-Extra: openai-agents
Requires-Dist: openai-agents; extra == "openai-agents"
Provides-Extra: otel
Requires-Dist: opentelemetry-api; extra == "otel"
Requires-Dist: opentelemetry-sdk; extra == "otel"
Requires-Dist: opentelemetry-exporter-otlp-proto-http; extra == "otel"
Provides-Extra: performance
Requires-Dist: orjson; platform_python_implementation != "PyPy" and extra == "performance"
Provides-Extra: temporal
Requires-Dist: temporalio>=1.19.0; python_version >= "3.10" and extra == "temporal"
Provides-Extra: all
Requires-Dist: boto3; extra == "all"
Requires-Dist: openai-agents; extra == "all"
Requires-Dist: opentelemetry-api; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp-proto-http; extra == "all"
Requires-Dist: opentelemetry-sdk; extra == "all"
Requires-Dist: orjson; platform_python_implementation != "PyPy" and extra == "all"
Requires-Dist: psycopg2-binary; extra == "all"
Requires-Dist: pydoc-markdown; extra == "all"
Requires-Dist: starlette; extra == "all"
Requires-Dist: temporalio>=1.19.0; python_version >= "3.10" and extra == "all"
Requires-Dist: uv; extra == "all"
Requires-Dist: uvicorn; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Braintrust Python SDK

[![PyPI version](https://img.shields.io/pypi/v/braintrust.svg)](https://pypi.org/project/braintrust/)

The official Python SDK for logging, tracing, and evaluating AI applications with [Braintrust](https://www.braintrust.dev/).

## Installation

Install the SDK:

```bash
pip install braintrust
```

## Quickstart

Run a simple evaluation:

```python
from braintrust import Eval


def is_equal(expected, output):
    return expected == output


Eval(
    "Say Hi Bot",
    data=lambda: [
        {"input": "Foo", "expected": "Hi Foo"},
        {"input": "Bar", "expected": "Hello Bar"},
    ],
    task=lambda input: "Hi " + input,
    scores=[is_equal],
)
```

Then run:

```bash
BRAINTRUST_API_KEY=<YOUR_API_KEY> braintrust eval tutorial_eval.py
```

## Optional Extras

Install extras as needed for specific workflows:

```bash
pip install "braintrust[cli]"
pip install "braintrust[openai-agents]"
pip install "braintrust[otel]"
pip install "braintrust[temporal]"
pip install "braintrust[all]"
```

Available extras:

- `performance`: installs `orjson` for faster JSON serialization
- `cli`: installs optional dependencies used by the Braintrust CLI
- `openai-agents`: installs OpenAI Agents integration support
- `otel`: installs OpenTelemetry integration dependencies
- `temporal`: installs Temporal integration dependencies
- `all`: installs all optional extras

## Documentation

- Python SDK docs: https://www.braintrust.dev/docs/reference/sdks/python
- Braintrust docs: https://www.braintrust.dev/docs
- Repo publishing guide: https://github.com/braintrustdata/braintrust-sdk-python/blob/main/docs/publishing.md
- Source code: https://github.com/braintrustdata/braintrust-sdk-python/tree/main/py

## License

Apache-2.0
