[bot] Instrument Baseten Performance Client (87,159 weekly downloads)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- observability
Rechercherichtung
Start with the existing integrations under py/src/braintrust/integrations/ and the matrix in py/pyproject.toml to see how a wrapper is registered, then check py/noxfile.py for the session pattern. The issue lists five sync/async PerformanceClient entrypoints that need spans, so decide which ones to cover first. Done means a traced test session that runs against the package, but the scope and approach need maintainer input first.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
baseten-performance-client (import name baseten_performance_client) is Baseten's dedicated high-throughput Python client for embeddings, reranking, and classification inference against Baseten-hosted models. It is a Rust-backed (pyo3/reqwest/tokio) client distinct from both the general-purpose baseten management SDK and from calling Baseten endpoints through an OpenAI-compatible interface. This repository has zero instrumentation for it — no integration directory, wrapper, nox session, or matrix entry, and not even an incidental mention anywhere under py/.
This is a distinct execution surface from Braintrust's existing Baseten support: Braintrust currently only documents Baseten as a gateway-routed model provider for chat completions (see docs status below) — it does not cover this package's embeddings/reranking/classification execution API at all. It is also distinct from already-instrumented embedding/rerank libraries (cohere rerank, voyageai — itself still an open gap in #482) since it talks to Baseten-hosted deployments specifically via its own PerformanceClient class.
What is missing
The PerformanceClient class exposes paired sync/async execution entrypoints, none of which produce a Braintrust span today:
PerformanceClient.embed()/async_embed()— embedding execution against Baseten Embedding Inference deploymentsPerformanceClient.rerank()/async_rerank()— document reranking executionPerformanceClient.classify()/async_classify()— classification executionPerformanceClient.batch_system_one()/async_batch_system_one()— batched "System One" decision executionPerformanceClient.batch_post()/async_batch_post()— generic batched JSON request execution (e.g. against Engine-Builder-LLM completion endpoints)
All of these are high-concurrency batch execution calls (default max_concurrent_requests=256, configurable retries/hedging/timeouts via RequestProcessingPreference) that are the primary way applications drive bulk embedding/rerank/classification workloads through Baseten — currently entirely invisible to Braintrust tracing.
Weekly downloads
Weekly downloads: 87,159 (fetched 2026-11-02; https://pypistats.org/api/packages/baseten_performance_client/recent)
Braintrust docs status
not_found — checked:
- https://docs.braintrust.dev/integrations/ai-providers/baseten.md — scoped entirely to using Baseten as a model provider through Braintrust's gateway (
https://gateway.braintrust.dev/v1via the standard OpenAI SDK) for chat completions; does not mentionbaseten-performance-client, embeddings, reranking, or classification anywhere. - https://docs.braintrust.dev/guides/tracing/integrations — full tracing-integrations, agent-framework, eval-framework, and testing-framework lists checked; no mention of Baseten in any form.
Upstream sources
- GitHub: https://github.com/basetenlabs/truss/tree/main/baseten-performance-client
- PyPI: https://pypi.org/project/baseten-performance-client/ (current version 0.1.16, bumped ~2026-10-24 per release history: https://github.com/riseproject-dev/python-wheels/pull/3577)
- Docs: https://docs.baseten.co/reference/sdk/performance-client/overview
Local repo files inspected
py/src/braintrust/integrations/— nobaseten/directory, no file matchingbaseten*anywherepy/src/braintrust/wrappers/— no Baseten wrapperpy/pyproject.toml[tool.braintrust.matrix]— nobasetenentrypy/noxfile.py— notest_basetensession- Repo-wide case-insensitive grep for
basetenunderpy/— zero matches of any kind (not even incidental)
- Vorherrschende Sprache
- Python
- Sterne
- 22
- Forks
- 30
- Ø Merge
- 9 Std.
- Gemergte PRs (30 T.)
- 128
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus braintrustdata/braintrust-sdk-python
-
Temporal: add `workflow.Info.original_execution_run_id` to workflow span metadataEvtl. vergeben @Mohith26 hat das vor 3 Tagen übernommen. Offenfeature python
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
braintrustdata/braintrust-sdk-python#868 ·
Maintainer antworten meist innerhalb von 1 Tag
-
python
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
braintrustdata/braintrust-sdk-python#1063 ·
Maintainer antworten meist innerhalb von 1 Tag
-
new-integration python
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
braintrustdata/braintrust-sdk-python#999 ·
Maintainer antworten meist innerhalb von 1 Tag
-
python
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
braintrustdata/braintrust-sdk-python#957 ·
Maintainer antworten meist innerhalb von 1 Tag
-
python
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
braintrustdata/braintrust-sdk-python#956 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in braintrustdata/braintrust-sdk-python
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Textualize/textual#6753 · 1 Kommentar ·
-
priority:low size:small
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
RonaldHensbergen/composable-data-stack#1177 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Use registered media types for HDF5 and NetCDF, and stop claiming media_type must be IANA-registeredOffendocumentation metadata
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
Maintainer antworten meist innerhalb von 1 Tag
-
check-typing: ty 0.0.98+ fails on the renamed rule `unresolved-import` (now `import-not-found`)Evtl. vergeben @oberstet hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
crossbario/cfxdb#145 ·