Skip to content

Commit ea15b34

Browse files
stainless-app[bot]dines-rlalb-rl
authored
release: 1.3.0 (#717)
* chore: update network policy create params descriptions (#7069) * chore: fix stainless spec / remove deprecated benchmark/runs (#7074) * release: 1.3.0 * Update CHANGELOG.md * fixing-build * Fix smoketests * Fix remaining smoketests --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Alexander Dines <160077924+dines-rl@users.noreply.github.com> Co-authored-by: Alexander Dines <alex@runloop.ai> Co-authored-by: Albert Li <albert@runloop.ai>
1 parent 9b31116 commit ea15b34

27 files changed

Lines changed: 104 additions & 1343 deletions

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.3.0-alpha"
2+
".": "1.3.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 108
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-e583f34fdcdc18499c8692e8eb8021f6163201f0f77206934c712c319a674d43.yml
3-
openapi_spec_hash: f2fb3f7f5c1f62d3dc397cd02cd1007a
4-
config_hash: 42959fa2708796cc2f83937278dde733
1+
configured_endpoints: 103
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-5359067a857aa94f69bae0d3311856be3e637da067fdc9dbf8bd26fe476efbd8.yml
3+
openapi_spec_hash: 5227ef7c306d5226c3aee8932b2e8c6a
4+
config_hash: cb43d4ca9e64d5a099199d6818d70539

CHANGELOG.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
# Changelog
22

3-
## 1.3.0-alpha (2026-01-20)
3+
## 1.3.0 (2026-01-22)
44

5-
Full Changelog: [v1.2.0...v1.3.0-alpha](https://github.com/runloopai/api-client-python/compare/v1.2.0...v1.3.0-alpha)
6-
7-
### ⚠ BREAKING CHANGES
8-
9-
* remove support for pydantic-v1, pydantic-v2 is now default ([#710](https://github.com/runloopai/api-client-python/issues/710))
5+
Full Changelog: [v1.3.0-alpha...v1.3.0](https://github.com/runloopai/api-client-python/compare/v1.3.0-alpha...v1.3.0)
106

117
### Features
128

9+
* **network-policy:** add network policies ([#720](https://github.com/runloopai/api-client-python/issues/720)) ([9b31116](https://github.com/runloopai/api-client-python/commit/9b311168fcda2554f8ea03c9698c1e284dc1bdba))
1310
* **benchmarks:** add `update_scenarios` method to benchmarks resource ([71ec221](https://github.com/runloopai/api-client-python/commit/71ec221f1d0cad7aac33c0299d3f8b1aa97d0741))
1411
* **blueprint:** Set cilium network policy on blueprint build ([#7006](https://github.com/runloopai/api-client-python/issues/7006)) ([95c62ac](https://github.com/runloopai/api-client-python/commit/95c62ac1e2689acdd83cac2dc85f1a639490d982))
1512
* **client:** add support for binary request streaming ([d6c2200](https://github.com/runloopai/api-client-python/commit/d6c22008f7cd8a6a07055f29bcb4eca4914ec5e0))
@@ -31,6 +28,10 @@ Full Changelog: [v1.2.0...v1.3.0-alpha](https://github.com/runloopai/api-client-
3128

3229
### Chores
3330

31+
* fix stainless spec / remove deprecated benchmark/runs ([#7074](https://github.com/runloopai/api-client-python/issues/7074)) ([3ed7d80](https://github.com/runloopai/api-client-python/commit/3ed7d806edc349b4bb4cfb8e0e54b78f272a6d75))
32+
* fix tests and linting ([#719](https://github.com/runloopai/api-client-python/issues/719)) ([74db814](https://github.com/runloopai/api-client-python/commit/74db81455af44b94896e8adc7a6e24ba71b9e2ef))
33+
* update network policy create params descriptions ([#7069](https://github.com/runloopai/api-client-python/issues/7069)) ([b151692](https://github.com/runloopai/api-client-python/commit/b15169283ff344c447b203b6bc3589f05c400ea7))
34+
* remove support for pydantic-v1, pydantic-v2 is now default ([#710](https://github.com/runloopai/api-client-python/issues/710))
3435
* add documentation url to pypi project page ([#711](https://github.com/runloopai/api-client-python/issues/711)) ([7afb327](https://github.com/runloopai/api-client-python/commit/7afb32731842ebee4f479837959ccac856bd5e85))
3536
* add missing docstrings ([a198632](https://github.com/runloopai/api-client-python/commit/a198632f6a3936bcf5b5b4f4e6324461c4853893))
3637
* **devbox:** Remove network policy from devbox view; use launch params instead ([#7025](https://github.com/runloopai/api-client-python/issues/7025)) ([d53af14](https://github.com/runloopai/api-client-python/commit/d53af14f6f55144859c8257d936a115989563b6d))

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The REST API documentation can be found on
1919

2020
```sh
2121
# install from PyPI
22-
pip install --pre runloop_api_client
22+
pip install runloop_api_client
2323
```
2424

2525
## Usage
@@ -96,7 +96,7 @@ You can enable this by installing `aiohttp`:
9696

9797
```sh
9898
# install from PyPI
99-
pip install --pre runloop_api_client[aiohttp]
99+
pip install runloop_api_client[aiohttp]
100100
```
101101

102102
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:

api.md

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ Types:
2020
```python
2121
from runloop_api_client.types import (
2222
BenchmarkCreateParameters,
23-
BenchmarkRunListView,
24-
BenchmarkRunView,
2523
BenchmarkScenarioUpdateParameters,
2624
BenchmarkUpdateParameters,
2725
BenchmarkView,
@@ -32,31 +30,21 @@ from runloop_api_client.types import (
3230

3331
Methods:
3432

35-
- <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
36-
- <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
37-
- <code title="post /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
38-
- <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
39-
- <code title="get /v1/benchmarks/{id}/definitions">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">definitions</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_definitions_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_definition_list_view.py">ScenarioDefinitionListView</a></code>
40-
- <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
41-
- <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
42-
- <code title="post /v1/benchmarks/{id}/scenarios">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">update_scenarios</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_scenarios_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
43-
44-
## Runs
45-
46-
Methods:
47-
48-
- <code title="get /v1/benchmarks/runs/{id}">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
49-
- <code title="get /v1/benchmarks/runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmarks/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
50-
- <code title="post /v1/benchmarks/runs/{id}/cancel">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
51-
- <code title="post /v1/benchmarks/runs/{id}/complete">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
52-
- <code title="get /v1/benchmarks/runs/{id}/scenario_runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list_scenario_runs</a>(id, \*\*<a href="src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
33+
- <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
34+
- <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
35+
- <code title="post /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
36+
- <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
37+
- <code title="get /v1/benchmarks/{id}/definitions">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">definitions</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_definitions_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_definition_list_view.py">ScenarioDefinitionListView</a></code>
38+
- <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
39+
- <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
40+
- <code title="post /v1/benchmarks/{id}/scenarios">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">update_scenarios</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_scenarios_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
5341

5442
# BenchmarkRuns
5543

5644
Types:
5745

5846
```python
59-
from runloop_api_client.types import BenchmarkRunListView, BenchmarkRunView, ScenarioRunListView
47+
from runloop_api_client.types import BenchmarkRunListView, BenchmarkRunView
6048
```
6149

6250
Methods:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "runloop_api_client"
3-
version = "1.3.0-alpha"
3+
version = "1.3.0"
44
description = "The official Python library for the runloop API"
55
dynamic = ["readme"]
66
license = "MIT"

src/runloop_api_client/_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@
4646
from .resources.agents import AgentsResource, AsyncAgentsResource
4747
from .resources.objects import ObjectsResource, AsyncObjectsResource
4848
from .resources.secrets import SecretsResource, AsyncSecretsResource
49+
from .resources.benchmarks import BenchmarksResource, AsyncBenchmarksResource
4950
from .resources.blueprints import BlueprintsResource, AsyncBlueprintsResource
5051
from .resources.repositories import RepositoriesResource, AsyncRepositoriesResource
5152
from .resources.benchmark_runs import BenchmarkRunsResource, AsyncBenchmarkRunsResource
5253
from .resources.network_policies import NetworkPoliciesResource, AsyncNetworkPoliciesResource
5354
from .resources.devboxes.devboxes import DevboxesResource, AsyncDevboxesResource
5455
from .resources.scenarios.scenarios import ScenariosResource, AsyncScenariosResource
55-
from .resources.benchmarks.benchmarks import BenchmarksResource, AsyncBenchmarksResource
5656

5757
__all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Runloop", "AsyncRunloop", "Client", "AsyncClient"]
5858

src/runloop_api_client/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "runloop_api_client"
4-
__version__ = "1.3.0-alpha" # x-release-please-version
4+
__version__ = "1.3.0" # x-release-please-version

src/runloop_api_client/resources/benchmarks/benchmarks.py renamed to src/runloop_api_client/resources/benchmarks.py

Lines changed: 12 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,7 @@
66

77
import httpx
88

9-
from .runs import (
10-
RunsResource,
11-
AsyncRunsResource,
12-
RunsResourceWithRawResponse,
13-
AsyncRunsResourceWithRawResponse,
14-
RunsResourceWithStreamingResponse,
15-
AsyncRunsResourceWithStreamingResponse,
16-
)
17-
from ...types import (
9+
from ..types import (
1810
benchmark_list_params,
1911
benchmark_create_params,
2012
benchmark_update_params,
@@ -23,31 +15,27 @@
2315
benchmark_list_public_params,
2416
benchmark_update_scenarios_params,
2517
)
26-
from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
27-
from ..._utils import maybe_transform, async_maybe_transform
28-
from ..._compat import cached_property
29-
from ..._resource import SyncAPIResource, AsyncAPIResource
30-
from ..._response import (
18+
from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
19+
from .._utils import maybe_transform, async_maybe_transform
20+
from .._compat import cached_property
21+
from .._resource import SyncAPIResource, AsyncAPIResource
22+
from .._response import (
3123
to_raw_response_wrapper,
3224
to_streamed_response_wrapper,
3325
async_to_raw_response_wrapper,
3426
async_to_streamed_response_wrapper,
3527
)
36-
from ...pagination import SyncBenchmarksCursorIDPage, AsyncBenchmarksCursorIDPage
37-
from ..._base_client import AsyncPaginator, make_request_options
38-
from ...types.benchmark_view import BenchmarkView
39-
from ...types.benchmark_run_view import BenchmarkRunView
40-
from ...types.shared_params.run_profile import RunProfile
41-
from ...types.scenario_definition_list_view import ScenarioDefinitionListView
28+
from ..pagination import SyncBenchmarksCursorIDPage, AsyncBenchmarksCursorIDPage
29+
from .._base_client import AsyncPaginator, make_request_options
30+
from ..types.benchmark_view import BenchmarkView
31+
from ..types.benchmark_run_view import BenchmarkRunView
32+
from ..types.shared_params.run_profile import RunProfile
33+
from ..types.scenario_definition_list_view import ScenarioDefinitionListView
4234

4335
__all__ = ["BenchmarksResource", "AsyncBenchmarksResource"]
4436

4537

4638
class BenchmarksResource(SyncAPIResource):
47-
@cached_property
48-
def runs(self) -> RunsResource:
49-
return RunsResource(self._client)
50-
5139
@cached_property
5240
def with_raw_response(self) -> BenchmarksResourceWithRawResponse:
5341
"""
@@ -513,10 +501,6 @@ def update_scenarios(
513501

514502

515503
class AsyncBenchmarksResource(AsyncAPIResource):
516-
@cached_property
517-
def runs(self) -> AsyncRunsResource:
518-
return AsyncRunsResource(self._client)
519-
520504
@cached_property
521505
def with_raw_response(self) -> AsyncBenchmarksResourceWithRawResponse:
522506
"""
@@ -1010,10 +994,6 @@ def __init__(self, benchmarks: BenchmarksResource) -> None:
1010994
benchmarks.update_scenarios,
1011995
)
1012996

1013-
@cached_property
1014-
def runs(self) -> RunsResourceWithRawResponse:
1015-
return RunsResourceWithRawResponse(self._benchmarks.runs)
1016-
1017997

1018998
class AsyncBenchmarksResourceWithRawResponse:
1019999
def __init__(self, benchmarks: AsyncBenchmarksResource) -> None:
@@ -1044,10 +1024,6 @@ def __init__(self, benchmarks: AsyncBenchmarksResource) -> None:
10441024
benchmarks.update_scenarios,
10451025
)
10461026

1047-
@cached_property
1048-
def runs(self) -> AsyncRunsResourceWithRawResponse:
1049-
return AsyncRunsResourceWithRawResponse(self._benchmarks.runs)
1050-
10511027

10521028
class BenchmarksResourceWithStreamingResponse:
10531029
def __init__(self, benchmarks: BenchmarksResource) -> None:
@@ -1078,10 +1054,6 @@ def __init__(self, benchmarks: BenchmarksResource) -> None:
10781054
benchmarks.update_scenarios,
10791055
)
10801056

1081-
@cached_property
1082-
def runs(self) -> RunsResourceWithStreamingResponse:
1083-
return RunsResourceWithStreamingResponse(self._benchmarks.runs)
1084-
10851057

10861058
class AsyncBenchmarksResourceWithStreamingResponse:
10871059
def __init__(self, benchmarks: AsyncBenchmarksResource) -> None:
@@ -1111,7 +1083,3 @@ def __init__(self, benchmarks: AsyncBenchmarksResource) -> None:
11111083
self.update_scenarios = async_to_streamed_response_wrapper(
11121084
benchmarks.update_scenarios,
11131085
)
1114-
1115-
@cached_property
1116-
def runs(self) -> AsyncRunsResourceWithStreamingResponse:
1117-
return AsyncRunsResourceWithStreamingResponse(self._benchmarks.runs)

src/runloop_api_client/resources/benchmarks/__init__.py

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)