Releases: braintrustdata/braintrust-sdk-python
Release list
Python SDK v0.31.0
Changelog
Features
- (devserver) Support remote dataset version and environment selection (#622)
Bug Fixes
- (adk) Avoid logging stream cleanup as errors (#626)
- (langchain) Prevent async runs from inheriting ended spans (#624)
- Eval parameters omit null description (#613)
- (pydantic_ai) Allowlist kwargs pass-through, drop eager message reshape (#610)
- (strands) Allowlist metrics, add span_origin, fix agent metadata reads (#612)
- (temporal) Pass Exception directly to span.log(error=...) (#611)
Package: https://pypi.org/project/braintrust/0.31.0/
Full Changelog: py-sdk-v0.30.1...py-sdk-v0.31.0
Python SDK v0.30.1
Changelog
Bug Fixes
- (openai) Allowlist metadata pass-through, drop eager response serialization (#606)
- (openai) Preserve async parsing for streaming responses (#607)
- (openrouter) Allowlist metadata pass-through, drop eager serialization (#608)
Package: https://pypi.org/project/braintrust/0.30.1/
Full Changelog: py-sdk-v0.30.0...py-sdk-v0.30.1
Python SDK v0.30.0
Changelog
Features
- (perf/huggingface_hub) Optimize how dict attributes are set (#591)
Bug Fixes
- Normalize list score dicts in remote evals (#595)
- (mistral) Drop eager response serialization, use allowlist metadata pass-through (#604)
- (llamaindex) Stop emitting llm spans over delegated provider calls, add provider metadata (#602)
- (livekit_agents) Allowlist metadata fields, drop eager serialization (#603)
- (litellm) Use underlying provider for metadata, drop eager serialization (#594)
- (langchain) Add provider metadata, route tools to metadata, allowlist span fields (#593)
- (instructor) Add model/provider metadata, drop
__future__import (#592) - (google_genai) Add provider metadata, route tools to metadata, drop eager serialization (#590)
Package: https://pypi.org/project/braintrust/0.30.0/
Full Changelog: py-sdk-v0.29.0...py-sdk-v0.30.0
Python SDK v0.29.0
Changelog
Features
- Per-integration instrumentation.name on span origin (#576)
Bug Fixes
- (crewai) Add provider metadata, route tools to metadata, drop eager serialization (#587)
- (dspy) Align span shape with spec, drop over-serialization, avoid nested llm spans (#588)
- (cohere) Drop redundant _try_to_dict pass in tool-call iteration (#586)
- (claude_agent_sdk) Add provider metadata, drop deep-copy serialization, allowlist hook fields (#585)
- (bedrock_runtime) Improve metrics, tools, and attachments on spans (#584)
- (anthropic) Drop redundant bt_safe_deep_copy passes in tracing (#583)
- (agno) Route tools to metadata, materialize media attachments, propagate exception objects (#582)
- (agentscope) Improve data attached to spans (#581)
- (adk) Fix llm span metadata (provider, tools, errors) (#580)
Package: https://pypi.org/project/braintrust/0.29.0/
Full Changelog: py-sdk-v0.28.0...py-sdk-v0.29.0
Python SDK v0.28.0
Changelog
Features
- Add span origin provenance (#570)
Bug Fixes
Package: https://pypi.org/project/braintrust/0.28.0/
Full Changelog: py-sdk-v0.27.0...py-sdk-v0.28.0
Python SDK v0.27.0
Changelog
Features
- (anthropic) Trace messages.parse outputs (#562)
Bug Fixes
- Function invocation 405s on EU/self-hosted (strip /v1/proxy from proxy_conn) (#541)
- Avoid duplicate spans when a full fetch follows a typed fetch (#546)
- Fix Temporal replay span parent propagation (#560)
Other Changes
- Expose realtime flag for span fetcher (#542)
Package: https://pypi.org/project/braintrust/0.27.0/
Full Changelog: py-sdk-v0.26.0...py-sdk-v0.27.0
Python SDK v0.26.0
Changelog
Features
- (prompts) Add async prompt loading (#537)
- (evals) Forward/pick up
bt eval <...> --sample Nflag (#532) - Otel compatible distributed tracing (#496)
- (pydantic_ai) Support pydantic-ai 2.0 (#538)
Package: https://pypi.org/project/braintrust/0.26.0/
Full Changelog: py-sdk-v0.25.0...py-sdk-v0.26.0
Python SDK v0.25.0
Changelog
Features
- (bedrock) Trace bedrock runtime calls (#519)
- (openai) Trace inline moderation metadata (#507)
- (agentscope) Support 2.x integration APIs (#501)
- Add classifier function push builder (#497)
Bug Fixes
- (experiments) Pass base_experiment_id to summarize (#512)
- (langchain) Stop double-counting anthropic cache tokens in prompt totals (#510)
- Strip nulls from remote eval prompt parameter defaults (#508)
Package: https://pypi.org/project/braintrust/0.25.0/
Full Changelog: py-sdk-v0.24.0...py-sdk-v0.25.0
Python SDK v0.24.0
Changelog
Features
- (invoke) Expose overrides field on invoke() (#489)
- Upwards-recursively read
.env.braintrustcontainingBRAINTRUST_API_KEY(#466)
Bug Fixes
- Honor org git metadata settings for experiments (#486)
- (livekit_agents) Skip empty LiveKit function tool spans (#476)
- (google_genai) Make sure streaming spans attach to correct parent (#484)
Other Changes
- Centralize env parsing (#472)
Package: https://pypi.org/project/braintrust/0.24.0/
Full Changelog: py-sdk-v0.23.0...py-sdk-v0.24.0
Python SDK v0.23.0
Changelog
Features
Bug Fixes
- (logger) Defensively collect no git metadata when org returns nothing (#453)
Other Changes
Package: https://pypi.org/project/braintrust/0.23.0/
Full Changelog: py-sdk-v0.22.1...py-sdk-v0.23.0