Skip to content

Releases: braintrustdata/braintrust-sdk-python

Python SDK v0.15.0

14 Apr 16:47
d258198

Choose a tag to compare

Changelog

Features

  • Add per-input trial_count support to Eval() (#274)
  • (mistral) Trace audio api calls (#275)
  • (anthropic) Trace beta managed agents apis (#270)
  • (mistral) Trace OCR API calls (#268)
  • (openai|litellm) Attach speech outputs (#267)
  • (litellm) Trace transcription calls (#264)
  • (litellm) Trace image generation calls (#261)
  • (openai) Trace responses api tool spans (#253)
  • (anthropic) Trace server tool content blocks as tool spans (#255)
  • (openai) Preserve streaming refusal output (#258)

Bug Fixes

  • CachedSpanFetcher no longer caches empty results permanently (#79)
  • (openai) Trace chat streaming audio attachments (#271)
  • (openai) Log audio file attachments (#265)
  • (adk) Avoid duplicate sync runner invocation spans (#252)
  • (integrations) Unify multimodal attachment materialization (#247)

Package: https://pypi.org/project/braintrust/0.15.0/

Full Changelog: py-sdk-v0.14.0...py-sdk-v0.15.0

Python SDK v0.14.0

10 Apr 16:14
3b34248

Choose a tag to compare

Changelog

Features

  • (openai) Trace images api calls (#245)
  • (openai) Instrument Audio API (speech, transcriptions, translations) (#232)

Bug Fixes

  • (framework) Split Output TypeVar into Output and Expected (#243)
  • (framework) Preserve defaults for unmatched callback params (#241)
  • (cli) Reject whitespace in python bundle filenames (#237)
  • Resolve reportUnknownMemberType under pyright strict mode (#242)
  • (anthropic) Capture structured output metadata (#238)
  • (claude_agent_sdk) Log ResultMessage metrices (#225)
  • (anthropic) Capture time_to_first_token when using .text_stream (#234)

Maintenance

  • Generated SDK types (#248)
  • Generated SDK types (#246)

Other Changes

  • Include sandbox runtime in list request (#227)

Package: https://pypi.org/project/braintrust/0.14.0/

Full Changelog: py-sdk-v0.13.0...py-sdk-v0.14.0

Python SDK v0.13.0

08 Apr 17:29
3a562f0

Choose a tag to compare

Changelog

Features

  • (google_genai) Trace interactions api methods (#210)
  • (openai) Migrate openai wrapper and add claude agent sdk integration (#206)
  • (integrations) Add mistral sdk integration (#199)

Bug Fixes

  • (openai) Preserve logprobs for streaming chat spans (#215)
  • (pydantic_ai) Support moved tool manager module (#224)
  • (claude_agent_sdk) Use result message output (#218)
  • (anthropic) Convert multimodal base64 inputs to attachments (#212)
  • Allow eval filtering with EvalCase objects (#211)
  • (claude_agent_sdk) Trace top-level query calls (#216)
  • (claude_agent_sdk) Serialize thinking blocks with type (#213)
  • (devserver) Tighten cors origin validation (#203)
  • (dspy) Add adapter callback tracing (#190)
  • (anthropic) Move ephemeral cache creation fields to metadata (#205)
  • (anthropic) Capture server-side tool usage metrics (#192)

Maintenance

  • Add minimum supported versions for genai and dspy (#220)
  • Generated SDK types (#221)

Package: https://pypi.org/project/braintrust/0.13.0/

Full Changelog: py-sdk-v0.12.1...py-sdk-v0.13.0

Python SDK v0.12.1

02 Apr 17:29
0daac2f

Choose a tag to compare

Changelog

Bug Fixes

  • (anthropic) Capture nested usage metrics and metadata (#189)
  • Encode request body as UTF-8 bytes to prevent Latin-1 corruption (#194)
  • Fix python sandbox parameters (#191)

Package: https://pypi.org/project/braintrust/0.12.1/

Full Changelog: py-sdk-v0.12.0...py-sdk-v0.12.1

Python SDK v0.12.0

01 Apr 16:21
a656bab

Choose a tag to compare

Changelog

Features

  • (langchain) Add automatic instrumentation (#183)
  • Add openrouter integration (#158)
  • Add agentscope integration for tracing (#147)
  • (google_genai) Add generate_images tracing support (#161)

Bug Fixes

  • (litellm) Patch async embeddings for auto instrumentation (#186)
  • (anthropic) Log stop reason in span output (#185)
  • (google_genai) Attach grounding_metadata to streaming responses (#155)
  • (temporal) Forward kwargs to maximize temporal version compat (#179)

Other Changes

  • Rehydrate remote prompt parameters (#166)

Package: https://pypi.org/project/braintrust/0.12.0/

Full Changelog: py-sdk-v0.11.0...py-sdk-v0.12.0

Python SDK v0.11.0

26 Mar 00:05
183dbb0

Choose a tag to compare

Changelog

Features

  • Instrument claude agent sdk hooks (#141)
  • (perf) Optimize _to_bt_safe and bt_safe_deep_copy hot paths (#139)
  • Add support for nested subagents tool calls in ADK integration (#131)
  • Instrument Anthropic Messages Batch API (#127)
  • Add patch command to HTTPConnection
  • Introduce new integrations API and convert anthropic (#118)
  • Instrument google genai embed_content methods (#111)

Bug Fixes

  • Add context manager support to traced stream wrappers in openai integration (#120)
  • Add x-bt-use-gateway to CORS allowed headers (#119)
  • Warn when Eval() receives an empty dataset (#109)
  • Capture thinking config in span metadata for anthropic integration (#110)

Package: https://pypi.org/project/braintrust/0.11.0/

Full Changelog: py-sdk-v0.10.0...py-sdk-v0.11.0

Python SDK v0.10.0

19 Mar 20:02
ff18889

Choose a tag to compare

Changelog

Features

  • Port load_parameters to the Python SDK (#90)
  • Make atexit flush registration optional (#81)
  • Tracing for raw_response in wrap_openai (#80)

Bug Fixes

  • Prevent serialization from emitting pydantic serializer warnings (#95)
  • Make sure request error gets logged in same line as message (#96)
  • Make agno rely on provider attribute (#92)

Other Changes

  • Align span metadata type (#89)
  • Add sandbox registration to python sdk (#26)

Package: https://pypi.org/project/braintrust/0.10.0/

Full Changelog: py-sdk-v0.9.0...py-sdk-v0.10.0

Python SDK v0.9.0

12 Mar 20:59
fb80c54

Choose a tag to compare

Changelog

Features

  • Improve claude agent sdk spans (#66)
  • Wrap Agent.to_cli_sync (#57)
  • Add tags support to SDK builder classes (#33)

Bug Fixes

  • Make sure parallel agent calls get correct child spans in claude agent sdk (#73)
  • Multi turn evaluation causes JSON serialization error (#62)
  • Make sure cross context cleanup doesn't raise an error (#58)

Maintenance

  • Run python publishing via gha trigger (#72)
  • Allow for nox commands to be passed down (#56)

Other Changes

  • Improve claude agent sdk tests (#65)
  • Enable claude agent sdk tests in CI (#68)

Package: https://pypi.org/project/braintrust/0.9.0/

Full Changelog: py-sdk-v0.8.0...py-sdk-v0.9.0

Python SDK v0.8.0

06 Mar 17:50
97da34d

Choose a tag to compare

Changelog

Features

  • Add pytest integration (#25)
  • Add Agno Workflow tracing support (#46)
  • Improve compatibility with agno 2.5.0 (#41)
  • Capture ExceptionGroup sub-exceptions in traceback (#20)

Bug Fixes

  • Add performance extra to braintrust package (#50)
  • Make ADK and pydantic integration wrappers thread safe (#23)

Maintenance

  • Bump SDK version to 0.8.0 (#49)
  • Clean up Python SDK READMEs (#51)
  • Remove API key usage in CI (#39)
  • Exclude test packages from setuptools (#40)

Other Changes

  • Use mise everywhere and clean up contributing docs (#52)
  • Remove redundant imports inside the methods (#34)

Package: https://pypi.org/project/braintrust/0.8.0/

Full Changelog: py-sdk-v0.7.0...py-sdk-v0.8.0

py-sdk-v0.7.0

27 Feb 18:54
8ab9dc0

Choose a tag to compare

What's Changed

  • fix: Declare merged_git_metadata_settings before usage (#10)
  • feat: Auto-enable Google ADK integration in braintrust package (#13)
  • feat: Allow passing tags for evals and experiments (#16)

Full Changelog: py-sdk-v0.6.0...py-sdk-v0.7.0