Braintrust Python SDK
The official Python SDK for logging, tracing, and evaluating AI applications with Braintrust.
Installation
Install the SDK:
pip install braintrust
Quickstart
Run a simple evaluation:
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:
BRAINTRUST_API_KEY=<YOUR_API_KEY> braintrust eval tutorial_eval.py
Optional Extras
Install extras as needed for specific workflows:
pip install "braintrust[audio]"
pip install "braintrust[cli]"
pip install "braintrust[openai-agents]"
pip install "braintrust[otel]"
pip install "braintrust[temporal]"
pip install "braintrust[all]"
Available extras:
audio: installs PyAV for Opus/Ogg session recording on Python 3.12+performance: installsorjsonfor faster JSON serializationcli: installs optional dependencies used by the Braintrust CLIopenai-agents: installs OpenAI Agents integration supportotel: installs OpenTelemetry integration dependenciestemporal: installs Temporal integration dependenciesall: installs all optional extras
Audio encoding
braintrust[audio] requires Python 3.12+ and uses PyAV's bundled FFmpeg codecs.
On Python 3.10–3.11, the extra does not install PyAV; use PCM/WAV recording.
Each Opus/Ogg segment is an independent file with exact playable duration. Installing the extra does not
enable capture; framework adapters still require their audio opt-ins and privacy
permission. Without PyAV, default recording warns once and uses raw PCM. Explicit
Opus configuration requires the extra. PCM/WAV need no native codecs.
Audio uploads use Attachment.upload() directly. Span customizers and masking
apply to trace records published afterward; removing an attachment reference does
not prevent or undo its upload.
Documentation
- Python SDK docs: https://docs.braintrust.dev/sdks/python/versions/latest
- Braintrust docs: https://docs.braintrust.dev
- 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
Metadata
Release files for braintrust 0.50.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 | Actions |
|---|---|---|---|---|
| braintrust-0.50.0.tar.gz | 674.1 kB | With provenance | Details for braintrust-0.50.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| braintrust-0.50.0-py3-none-any.whl | Python 3 | none | any | Details for braintrust-0.50.0-py3-none-any.whl |
Total release size: 1.5 MB
Release files / braintrust-0.50.0.tar.gz
| Download URL | braintrust-0.50.0.tar.gz |
|---|---|
| Size | 674.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a1cea33547db688c637ab01766ab427a32418ed11a705aeed3ce7734760e401
|
|
BLAKE2b-256 checksum How to use checksums |
eb313a312d8aa7d17b7f64fd01c1ec914b1c4f97708d5b507db09380eaf1296a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
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 Nov 11, 2026.
Transparency logRelease files / braintrust-0.50.0-py3-none-any.whl
| Download URL | braintrust-0.50.0-py3-none-any.whl |
|---|---|
| Size | 809.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1603c59f84d671b00102a25083594c321c929e4c6745c6be1165eb1190c1fb2f
|
|
BLAKE2b-256 checksum How to use checksums |
1ff9957f6e31af6ed5d5661363b502b238e7273a7653b16c92c485650525afc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
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 Nov 11, 2026.
Transparency logSecurity for braintrust 0.50.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
Both files in this release have been uploaded with provenance metadata.
Attestation for braintrust-0.50.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 Nov 11, 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.