Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions py/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,11 @@ def test_google_genai(session, version):
@nox.parametrize("version", DSPY_VERSIONS, ids=DSPY_VERSIONS)
def test_dspy(session, version):
_install_test_deps(session)
if version == LATEST:
# DSPy only lower-bounds LiteLLM, whose 1.92.0 release lacks Windows
# and Python 3.14 wheels. Preinstall our portable matrix pin so DSPy's
# dependency resolution does not select that incompatible release.
_install_matrix_dep(session, "litellm", LATEST)
_install_matrix_dep(session, "dspy", version)
_run_tests(session, f"{INTEGRATION_DIR}/dspy/test_dspy.py", version=version)

Expand Down
40 changes: 21 additions & 19 deletions py/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ conflicts = [
[tool.braintrust.matrix]

[tool.braintrust.matrix.openai]
latest = "openai==2.44.0"
latest = "openai==2.45.0"
"1.92.0" = "openai==1.92.0"
"1.77.0" = "openai==1.77.0"
"1.71.0" = "openai==1.71.0"
Expand All @@ -332,29 +332,31 @@ latest = "cohere==7.0.5"
"5.0.0" = "cohere==5.0.0"

[tool.braintrust.matrix.openai-agents]
latest = "openai-agents==0.17.7"
latest = "openai-agents==0.18.2"
"0.13.6" = "openai-agents==0.13.6"
"0.0.19" = "openai-agents==0.0.19"

[tool.braintrust.matrix.litellm]
latest = "litellm==1.91.0"
# 1.92.0 only publishes Linux wheels through CPython 3.13, but the test
# matrix also covers Windows and CPython 3.14.
latest = "litellm==1.91.2"
"1.74.0" = "litellm==1.74.0"

[tool.braintrust.matrix.livekit-agents]
latest = "livekit-agents==1.6.4"
latest = "livekit-agents==1.6.5"
"1.3.1" = "livekit-agents==1.3.1"

[tool.braintrust.matrix.claude-agent-sdk]
latest = "claude-agent-sdk==0.2.110"
latest = "claude-agent-sdk==0.2.116"
"0.1.10" = "claude-agent-sdk==0.1.10"

[tool.braintrust.matrix.agno]
latest = "agno==2.6.22"
latest = "agno==2.7.2"
"2.4.0" = "agno==2.4.0"
"2.1.0" = "agno==2.1.0"

[tool.braintrust.matrix.agentscope]
latest = "agentscope==2.0.3"
latest = "agentscope==2.0.4"
"1.0.0" = "agentscope==1.0.0"

[tool.braintrust.matrix.autogen-agentchat]
Expand All @@ -366,15 +368,15 @@ latest = "autogen-ext[openai]==0.7.5"
"0.7.0" = "autogen-ext[openai]==0.7.0"

[tool.braintrust.matrix.strands-agents]
latest = "strands-agents==1.45.0"
latest = "strands-agents==1.47.0"
"1.20.0" = "strands-agents==1.20.0"

[tool.braintrust.matrix.pydantic-ai-integration]
latest = "pydantic-ai==2.5.0"
latest = "pydantic-ai==2.9.0"
"1.10.0" = "pydantic-ai==1.10.0"

[tool.braintrust.matrix.pydantic-ai-wrap-openai]
latest = "pydantic-ai==2.5.0"
latest = "pydantic-ai==2.9.0"
"1.0.1" = "pydantic-ai==1.0.1"
"0.1.9" = "pydantic-ai==0.1.9"

Expand All @@ -387,7 +389,7 @@ latest = "instructor==1.15.4"
"1.11.0" = "instructor==1.11.0"

[tool.braintrust.matrix.google-genai]
latest = "google-genai==2.10.0"
latest = "google-genai==2.11.0"
"1.75.0" = "google-genai==1.75.0"
"1.30.0" = "google-genai==1.30.0"

Expand All @@ -403,35 +405,35 @@ latest = "deepagents==0.6.12"
# 1.13.0 is the first release with the full causal-id surface (event_id /
# parent_event_id / started_event_id on BaseEvent) plus the ``usage`` field on
# LLMCallCompletedEvent that the Braintrust CrewAI integration depends on.
latest = "crewai==1.15.1"
latest = "crewai==1.15.2"
"1.13.0" = "crewai==1.13.0"

[tool.braintrust.matrix.google-adk]
latest = "google-adk[mcp]==2.3.0"
latest = "google-adk[mcp]==2.4.0"
"1.14.1" = "google-adk[mcp]==1.14.1"

[tool.braintrust.matrix.langchain-core]
latest = "langchain-core==1.4.8"
latest = "langchain-core==1.4.9"
"0.3.28" = "langchain-core==0.3.28"

[tool.braintrust.matrix.llama-index-core]
latest = "llama-index-core==0.14.23"
"0.13.0" = "llama-index-core==0.13.0"

[tool.braintrust.matrix.openrouter]
latest = "openrouter==0.11.3"
latest = "openrouter==0.11.23"
"0.6.0" = "openrouter==0.6.0"

[tool.braintrust.matrix.mistralai]
latest = "mistralai==2.5.2"
latest = "mistralai==2.6.0"
"1.12.4" = "mistralai==1.12.4"

[tool.braintrust.matrix.huggingface-hub]
# Floor pinned to 0.32.0: the earliest release that exposes the
# ``provider="auto"`` routing mode the integration relies on for multi-
# provider use, while still keeping the same chat_completion /
# text_generation / feature_extraction / sentence_similarity method names.
latest = "huggingface-hub==1.22.0"
latest = "huggingface-hub==1.23.0"
"0.32.0" = "huggingface-hub==0.32.0"

[tool.braintrust.matrix.temporalio]
Expand All @@ -449,11 +451,11 @@ latest = "pytest==9.1.1"
latest = "braintrust-core==0.0.59"

[tool.braintrust.matrix.boto3]
latest = "boto3==1.43.40"
latest = "boto3==1.43.46"
"1.34.116" = "boto3==1.34.116"

[tool.braintrust.matrix.botocore]
latest = "botocore==1.43.40"
latest = "botocore==1.43.46"
"1.34.116" = "botocore==1.34.116"

# ---------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,44 @@ interactions:
questions by only replying with the author that wrote the book."},{"role":"user","content":"Charlotte''s
Web"}],"model":"gpt-4o-mini"}'
headers:
Accept:
accept:
- application/json
Accept-Encoding:
accept-encoding:
- gzip, deflate
Connection:
connection:
- keep-alive
Content-Length:
content-length:
- '207'
Content-Type:
content-type:
- application/json
Host:
host:
- api.openai.com
User-Agent:
user-agent:
- OpenAI/Python 2.31.0
X-Stainless-Arch:
x-stainless-arch:
- arm64
X-Stainless-Async:
x-stainless-async:
- 'false'
X-Stainless-Lang:
x-stainless-lang:
- python
X-Stainless-OS:
x-stainless-os:
- MacOS
X-Stainless-Package-Version:
x-stainless-package-version:
- 2.31.0
X-Stainless-Runtime:
- CPython
X-Stainless-Runtime-Version:
- 3.12.12
x-stainless-read-timeout:
- '600'
x-stainless-retry-count:
- '0'
x-stainless-runtime:
- CPython
x-stainless-runtime-version:
- 3.14.3
method: POST
uri: https://api.openai.com/v1/chat/completions
response:
body:
string: "{\n \"id\": \"chatcmpl-DYECgl74zzv3N7I6LYmHc6nNp4kO0\",\n \"object\":
\"chat.completion\",\n \"created\": 1777050122,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n
string: "{\n \"id\": \"chatcmpl-E1Cgc9XzpTtv0nRU6LvZ5TMZd7ALO\",\n \"object\":
\"chat.completion\",\n \"created\": 1783955802,\n \"model\": \"gpt-4o-mini-2024-07-18\",\n
\ \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\":
\"assistant\",\n \"content\": \"E.B. White\",\n \"refusal\":
null,\n \"annotations\": []\n },\n \"logprobs\": null,\n
Expand All @@ -50,44 +50,46 @@ interactions:
{\n \"cached_tokens\": 0,\n \"audio_tokens\": 0\n },\n \"completion_tokens_details\":
{\n \"reasoning_tokens\": 0,\n \"audio_tokens\": 0,\n \"accepted_prediction_tokens\":
0,\n \"rejected_prediction_tokens\": 0\n }\n },\n \"service_tier\":
\"default\",\n \"system_fingerprint\": \"fp_95c773cefe\"\n}\n"
\"default\",\n \"system_fingerprint\": \"fp_67faaa3b02\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-Ray:
- 9f16ac5e0a7aac25-YYZ
Connection:
- keep-alive
Content-Type:
- application/json
Date:
- Fri, 24 Apr 2026 17:02:02 GMT
Server:
- cloudflare
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
X-Content-Type-Options:
- nosniff
access-control-expose-headers:
- X-Request-ID
- CF-Ray
- CF-Ray
alt-svc:
- h3=":443"; ma=86400
cf-cache-status:
- DYNAMIC
cf-ray:
- a1a940107cc99dab-YYZ
connection:
- keep-alive
content-length:
- '816'
content-type:
- application/json
date:
- Mon, 13 Jul 2026 15:16:43 GMT
openai-organization:
- braintrust-data
openai-processing-ms:
- '351'
- '490'
openai-project:
- proj_vsCSXafhhByzWOThMrJcZiw9
openai-version:
- '2020-10-01'
server:
- cloudflare
set-cookie:
- __cf_bm=Tv_M8LvjaZSH.9fFgw13Hh29F5JyrvmyhVKEOkijiCw-1777050121.92461-1.0.1.1-uqK.VE6h..ZULBlQkEd0fmbi9wFaNI6coetKSAJlbNmu1tG0ZN7IiXlKQs82uxoSljCWa3FhG6TQwLDHjJ0BbcygzDCwklkSfoo4DtdAbkFw.BOxXBti510K0GkbGXQN;
HttpOnly; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 24 Apr 2026
17:32:02 GMT
- __cf_bm=MLXKaliw2ym5Kr_Ocyg69iaphIYknPb7.5w2j9B0_oo-1783955801.6731255-1.0.1.1-TIjFc3F_Lbskb.5PvgMAvluK7ksXC6NB.VK4a3_eh0rYlPEKlpIjR64KNrRwny1C67qa0cInOKaaF7RmGOnTR4IiYgXOaPPAVFjLac5JazPwtkDpn1X4I_H8Lfc8035W;
HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon,
13 Jul 2026 15:46:43 GMT
strict-transport-security:
- max-age=31536000; includeSubDomains; preload
transfer-encoding:
- chunked
x-content-type-options:
- nosniff
x-openai-proxy-wasm:
- v0.1
x-ratelimit-limit-requests:
Expand All @@ -103,42 +105,56 @@ interactions:
x-ratelimit-reset-tokens:
- 0s
x-request-id:
- req_7ab757d0aecc4a8983ea077ca773351e
- req_e29dd51dbb0849bca0f6923ea24dc6f1
status:
code: 200
message: OK
- request:
body: '{"session_id":"971fc8ed-a143-45e1-a48a-c1796c9fcbc0","run_id":"910a0a1a-1190-4f8c-a9eb-c37df9e62438","data":{"agent_id":"author-agent","db_type":null,"model_provider":"OpenAI","model_name":"OpenAIChat","model_id":"gpt-4o-mini","parser_model":null,"output_model":null,"has_tools":true,"has_memory":false,"has_learnings":false,"has_culture":false,"has_reasoning":false,"has_knowledge":false,"has_input_schema":false,"has_output_schema":false,"has_team":false},"sdk_version":"2.6.0","type":"agent"}'
body: '{"session_id":"d98fc62e-1e7d-41b1-a2b1-173da7fe858c","run_id":"66812348-fa19-4019-be80-482c69443430","data":{"agent_id":"author-agent","db_type":null,"model_provider":"OpenAI","model_name":"OpenAIChat","model_id":"gpt-4o-mini","parser_model":null,"output_model":null,"has_tools":true,"has_memory":false,"has_learnings":false,"has_culture":false,"has_reasoning":false,"has_knowledge":false,"has_input_schema":false,"has_output_schema":false,"has_team":false},"sdk_version":"2.7.2","type":"agent"}'
headers:
Accept:
accept:
- '*/*'
Accept-Encoding:
accept-encoding:
- gzip, deflate
Connection:
connection:
- keep-alive
Content-Length:
content-length:
- '495'
Content-Type:
content-type:
- application/json
Host:
host:
- os-api.agno.com
user-agent:
- agno/2.6.0
- agno/2.7.2
method: POST
uri: https://os-api.agno.com/telemetry/runs
response:
body:
string: '{"message":"Run creation acknowledged: 910a0a1a-1190-4f8c-a9eb-c37df9e62438","status":"success"}'
string: '{"message":"Run creation acknowledged: 66812348-fa19-4019-be80-482c69443430","status":"success"}'
headers:
content-length:
- '96'
content-type:
- application/json
cross-origin-opener-policy:
- same-origin
cross-origin-resource-policy:
- same-origin
date:
- Fri, 24 Apr 2026 17:02:03 GMT
- Mon, 13 Jul 2026 15:16:43 GMT
permissions-policy:
- camera=(), microphone=(), geolocation=()
referrer-policy:
- strict-origin-when-cross-origin
server:
- uvicorn
strict-transport-security:
- max-age=31536000; includeSubDomains
x-content-type-options:
- nosniff
x-frame-options:
- DENY
status:
code: 201
message: null
message: Created
version: 1
Loading