Skip to content

feat(sdk): add BenchmarkOps and AsyncBenchmarkOps to SDK#716

Merged
sid-rl merged 1 commit intonextfrom
siddarth/benchmarkops-sdk
Dec 20, 2025
Merged

feat(sdk): add BenchmarkOps and AsyncBenchmarkOps to SDK#716
sid-rl merged 1 commit intonextfrom
siddarth/benchmarkops-sdk

Conversation

@sid-rl
Copy link
Contributor

@sid-rl sid-rl commented Dec 20, 2025

Add manager classes for benchmark operations:

  • BenchmarkOps: Synchronous manager with create(), from_id(), and list()
  • AsyncBenchmarkOps: Async manager with the same interface

Changes:

  • Add SDKBenchmarkCreateParams and SDKBenchmarkListParams types
  • Wire BenchmarkOps to RunloopSDK.benchmark
  • Wire AsyncBenchmarkOps to AsyncRunloopSDK.benchmark
  • Update exports in init.py to include new classes

Tests:

  • Add unit tests for BenchmarkOps
  • Add unit tests for AsyncBenchmarkOps
  • Update SDK initialization tests to verify benchmark attribute
  • Update smoketests to use sdk_client.benchmark.* methods

@sid-rl sid-rl requested review from james-rl and jrvb-rl December 20, 2025 01:20
@sid-rl sid-rl merged commit 9b434d9 into next Dec 20, 2025
6 checks passed
@sid-rl sid-rl deleted the siddarth/benchmarkops-sdk branch December 20, 2025 01:22
@stainless-app stainless-app bot mentioned this pull request Dec 20, 2025
dines-rl added a commit that referenced this pull request Jan 20, 2026
* fix(types): allow pyright to infer TypedDict types within SequenceNotStr

* chore: add missing docstrings

* feat(devbox): added stdin streaming endpoint

* chore(internal): add missing files argument to base client

* feat(benchmarks): add `update_scenarios` method to benchmarks resource

* fix(benchmarks): `update()` for benchmarks and scenarios replaces all provided fields and does not modify unspecified fields (#6702)

* feat(sdk): add BenchmarkRun and AsyncBenchmarkRun classes (#712)

* update requirements-dev

* pyproject formatting nit

* feat(sdk): add BenchmarkRun and AsyncBenchmarkRun classes

* fixed smoketests

* `list_scenario_runs()` now returns a list of ScenarioRun/AsyncScenarioRun objects

* cleanup(agents): unified version parameter across agent sources (#713)

* cleanup(agents): unified version parameter across agent sources

* increase snapshot test timeout

* reinsert version parameter into example code

* fix: use async_to_httpx_files in patch method

* codegen metadata

* feat(sdk): add Benchmark and AsyncBenchmark classes (#714)

* feat(sdk): add Benchmark and AsyncBenchmark classes (with some import and test id cleanup)

* raise exceptions instead of skipping, more defensively run scenario

* rename benchmark `run()` to `start_run()`

* more helpful example docstrings

* comments about params type splitting for developer clarity

* remove low value unit tests

* add smoketest TODOs

* skip list_runs() smoketest when no available benchmark runs

* create/update custom benchmark and scenarios for smoketest, remove benchmark retrieval smoketest

* feat(sdk): add BenchmarkOps and AsyncBenchmarkOps to SDK (#716)

* chore(internal): add `--fix` argument to lint script

* chore(internal): codegen related update

* feat(client): add support for binary request streaming

* feat(devbox): remove this one

* feat(network-policy): add network policies to api

* chore(internal): update `actions/checkout` version

* feat(blueprint): Set cilium network policy on blueprint build (#7006)

* chore(devbox): Remove network policy from devbox view; use launch params instead (#7025)

* refactor(benchmark):  Deprecate /benchmark/{id}/runs in favor of /benchmark_runs (#7019)

* release: 1.3.0-alpha

* cp dines

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
Co-authored-by: sid-rl <[email protected]>
Co-authored-by: Alexander Dines <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants