Braintrust Exporter

Installation

$pip install respan-exporter-braintrust

Classes

RespanBraintrustExporter

Exports Braintrust logs to Respan by registering as Braintrust’s background logger.

1from respan_exporter_braintrust import RespanBraintrustExporter
ParameterTypeDefaultDescription
api_keystr | NoneNoneRespan API key. Falls back to RESPAN_API_KEY env var.
base_urlstr | NoneNoneAPI base URL. Falls back to RESPAN_BASE_URL.

Methods

MethodDescription
install()Register as Braintrust’s background logger.
uninstall()Unregister from Braintrust.
log(*args)Log items to buffer.
flush(batch_size)Flush buffered items to Respan.

Context manager

The exporter supports context manager usage for automatic install/uninstall:

1with RespanBraintrustExporter(api_key="your-api-key") as exporter:
2 # Braintrust logs are automatically sent to Respan
3 pass

Usage

1import braintrust
2from respan_exporter_braintrust import RespanBraintrustExporter
3
4# Install as background logger
5with RespanBraintrustExporter(api_key="your-api-key"):
6 # Use Braintrust normally
7 experiment = braintrust.init(project="my-project")
8 experiment.log(
9 input="Tell me a joke",
10 output="Why did the AI cross the road?",
11 scores={"humor": 0.8},
12 )

Internal

  • Buffers records and flushes in batches
  • Converts Braintrust record format to Respan span format
  • Handles both root spans and child spans