Skip to content

Commit 06e0d87

Browse files
release: 0.62.0 (#648)
* feat(api): api update * feat(api): api update * feat(api): api update * release: 0.62.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 02ec86a commit 06e0d87

File tree

14 files changed

+602
-8
lines changed

14 files changed

+602
-8
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.61.0"
2+
".": "0.62.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: 90
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-9b2e136aedff0713e8d50d6c53a930cd2c3583dcac1a9fce552cf25bb0d29214.yml
3-
openapi_spec_hash: 81e1da702f2dfb28bbe1bfab0d5d8cbd
4-
config_hash: 5b2602a56850cf0d0e50da298d1c6916
1+
configured_endpoints: 92
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-f1d928f705d6771a22fe701dfb8c0c66aabbd0dd6d17e3fa09b8eb3a48259a84.yml
3+
openapi_spec_hash: 12dc18a4da3f084fee3d2c5f428e1df3
4+
config_hash: f9f7bc60c36f103c77333d9149cd3e46

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Changelog
22

3+
## 0.62.0 (2025-10-01)
4+
5+
Full Changelog: [v0.61.0...v0.62.0](https://github.com/runloopai/api-client-python/compare/v0.61.0...v0.62.0)
6+
7+
### Features
8+
9+
* **api:** api update ([a2ed6d7](https://github.com/runloopai/api-client-python/commit/a2ed6d7530f8ea05f600713163ac646989426a65))
10+
* **api:** api update ([59b9486](https://github.com/runloopai/api-client-python/commit/59b9486f94c15ec76021ec98db3dad93225be663))
11+
* **api:** api update ([8d62f4b](https://github.com/runloopai/api-client-python/commit/8d62f4b5018b52f3d813b8f6a1f3e5460b80e368))
12+
313
## 0.61.0 (2025-09-29)
414

515
Full Changelog: [v0.60.1...v0.61.0](https://github.com/runloopai/api-client-python/compare/v0.60.1...v0.61.0)

api.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,14 @@ Types:
4545

4646
```python
4747
from runloop_api_client.types import (
48+
BlueprintBuildFromInspectionParameters,
4849
BlueprintBuildLog,
4950
BlueprintBuildLogsListView,
5051
BlueprintBuildParameters,
5152
BlueprintListView,
5253
BlueprintPreviewView,
5354
BlueprintView,
55+
InspectionSource,
5456
)
5557
```
5658

@@ -61,6 +63,7 @@ Methods:
6163
- <code title="get /v1/blueprints/{id}">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
6264
- <code title="get /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
6365
- <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> object</code>
66+
- <code title="post /v1/blueprints/create_from_inspection">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create_from_inspection</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_from_inspection_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
6467
- <code title="get /v1/blueprints/list_public">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
6568
- <code title="get /v1/blueprints/{id}/logs">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">logs</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_build_logs_list_view.py">BlueprintBuildLogsListView</a></code>
6669
- <code title="post /v1/blueprints/preview">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">preview</a>(\*\*<a href="src/runloop_api_client/types/blueprint_preview_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_preview_view.py">BlueprintPreviewView</a></code>
@@ -298,6 +301,7 @@ Methods:
298301
- <code title="get /v1/repositories/{id}">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">RepositoryConnectionView</a></code>
299302
- <code title="get /v1/repositories">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list</a>(\*\*<a href="src/runloop_api_client/types/repository_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">SyncRepositoriesCursorIDPage[RepositoryConnectionView]</a></code>
300303
- <code title="post /v1/repositories/{id}/delete">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">delete</a>(id) -> object</code>
304+
- <code title="post /v1/repositories/{id}/inspect">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">inspect</a>(id, \*\*<a href="src/runloop_api_client/types/repository_inspect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_inspection_details.py">RepositoryInspectionDetails</a></code>
301305
- <code title="get /v1/repositories/{id}/inspections">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list_inspections</a>(id) -> <a href="./src/runloop_api_client/types/repository_inspection_list_view.py">RepositoryInspectionListView</a></code>
302306
- <code title="post /v1/repositories/{id}/refresh">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">refresh</a>(id, \*\*<a href="src/runloop_api_client/types/repository_refresh_params.py">params</a>) -> object</code>
303307

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 = "0.61.0"
3+
version = "0.62.0"
44
description = "The official Python library for the runloop API"
55
dynamic = ["readme"]
66
license = "MIT"

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__ = "0.61.0" # x-release-please-version
4+
__version__ = "0.62.0" # x-release-please-version

src/runloop_api_client/resources/blueprints.py

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
blueprint_create_params,
1212
blueprint_preview_params,
1313
blueprint_list_public_params,
14+
blueprint_create_from_inspection_params,
1415
)
1516
from .._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
1617
from .._utils import maybe_transform, async_maybe_transform
@@ -29,6 +30,7 @@
2930
from ..lib.polling_async import async_poll_until
3031
from ..types.blueprint_view import BlueprintView
3132
from ..types.blueprint_preview_view import BlueprintPreviewView
33+
from ..types.inspection_source_param import InspectionSourceParam
3234
from ..types.blueprint_build_logs_list_view import BlueprintBuildLogsListView
3335
from ..types.shared_params.launch_parameters import LaunchParameters
3436
from ..types.shared_params.code_mount_parameters import CodeMountParameters
@@ -394,6 +396,75 @@ def delete(
394396
cast_to=object,
395397
)
396398

399+
def create_from_inspection(
400+
self,
401+
*,
402+
inspection_source: InspectionSourceParam,
403+
name: str,
404+
file_mounts: Optional[Dict[str, str]] | Omit = omit,
405+
launch_parameters: Optional[LaunchParameters] | Omit = omit,
406+
metadata: Optional[Dict[str, str]] | Omit = omit,
407+
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
408+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
409+
# The extra values given here take precedence over values defined on the client or passed to this method.
410+
extra_headers: Headers | None = None,
411+
extra_query: Query | None = None,
412+
extra_body: Body | None = None,
413+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
414+
idempotency_key: str | None = None,
415+
) -> BlueprintView:
416+
"""
417+
Starts build of custom defined container Blueprint using a RepositoryConnection
418+
Inspection as a source container specification.
419+
420+
Args:
421+
inspection_source: (Optional) Use a RepositoryInspection a source of a Blueprint build. The
422+
Dockerfile will be automatically created based on the RepositoryInspection
423+
contents.
424+
425+
name: Name of the Blueprint.
426+
427+
file_mounts: (Optional) Map of paths and file contents to write before setup.
428+
429+
launch_parameters: Parameters to configure your Devbox at launch time.
430+
431+
metadata: (Optional) User defined metadata for the Blueprint.
432+
433+
system_setup_commands: A list of commands to run to set up your system.
434+
435+
extra_headers: Send extra headers
436+
437+
extra_query: Add additional query parameters to the request
438+
439+
extra_body: Add additional JSON properties to the request
440+
441+
timeout: Override the client-level default timeout for this request, in seconds
442+
443+
idempotency_key: Specify a custom idempotency key for this request
444+
"""
445+
return self._post(
446+
"/v1/blueprints/create_from_inspection",
447+
body=maybe_transform(
448+
{
449+
"inspection_source": inspection_source,
450+
"name": name,
451+
"file_mounts": file_mounts,
452+
"launch_parameters": launch_parameters,
453+
"metadata": metadata,
454+
"system_setup_commands": system_setup_commands,
455+
},
456+
blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
457+
),
458+
options=make_request_options(
459+
extra_headers=extra_headers,
460+
extra_query=extra_query,
461+
extra_body=extra_body,
462+
timeout=timeout,
463+
idempotency_key=idempotency_key,
464+
),
465+
cast_to=BlueprintView,
466+
)
467+
397468
def list_public(
398469
self,
399470
*,
@@ -919,6 +990,75 @@ async def delete(
919990
cast_to=object,
920991
)
921992

993+
async def create_from_inspection(
994+
self,
995+
*,
996+
inspection_source: InspectionSourceParam,
997+
name: str,
998+
file_mounts: Optional[Dict[str, str]] | Omit = omit,
999+
launch_parameters: Optional[LaunchParameters] | Omit = omit,
1000+
metadata: Optional[Dict[str, str]] | Omit = omit,
1001+
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
1002+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1003+
# The extra values given here take precedence over values defined on the client or passed to this method.
1004+
extra_headers: Headers | None = None,
1005+
extra_query: Query | None = None,
1006+
extra_body: Body | None = None,
1007+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
1008+
idempotency_key: str | None = None,
1009+
) -> BlueprintView:
1010+
"""
1011+
Starts build of custom defined container Blueprint using a RepositoryConnection
1012+
Inspection as a source container specification.
1013+
1014+
Args:
1015+
inspection_source: (Optional) Use a RepositoryInspection a source of a Blueprint build. The
1016+
Dockerfile will be automatically created based on the RepositoryInspection
1017+
contents.
1018+
1019+
name: Name of the Blueprint.
1020+
1021+
file_mounts: (Optional) Map of paths and file contents to write before setup.
1022+
1023+
launch_parameters: Parameters to configure your Devbox at launch time.
1024+
1025+
metadata: (Optional) User defined metadata for the Blueprint.
1026+
1027+
system_setup_commands: A list of commands to run to set up your system.
1028+
1029+
extra_headers: Send extra headers
1030+
1031+
extra_query: Add additional query parameters to the request
1032+
1033+
extra_body: Add additional JSON properties to the request
1034+
1035+
timeout: Override the client-level default timeout for this request, in seconds
1036+
1037+
idempotency_key: Specify a custom idempotency key for this request
1038+
"""
1039+
return await self._post(
1040+
"/v1/blueprints/create_from_inspection",
1041+
body=await async_maybe_transform(
1042+
{
1043+
"inspection_source": inspection_source,
1044+
"name": name,
1045+
"file_mounts": file_mounts,
1046+
"launch_parameters": launch_parameters,
1047+
"metadata": metadata,
1048+
"system_setup_commands": system_setup_commands,
1049+
},
1050+
blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
1051+
),
1052+
options=make_request_options(
1053+
extra_headers=extra_headers,
1054+
extra_query=extra_query,
1055+
extra_body=extra_body,
1056+
timeout=timeout,
1057+
idempotency_key=idempotency_key,
1058+
),
1059+
cast_to=BlueprintView,
1060+
)
1061+
9221062
def list_public(
9231063
self,
9241064
*,
@@ -1114,6 +1254,9 @@ def __init__(self, blueprints: BlueprintsResource) -> None:
11141254
self.delete = to_raw_response_wrapper(
11151255
blueprints.delete,
11161256
)
1257+
self.create_from_inspection = to_raw_response_wrapper(
1258+
blueprints.create_from_inspection,
1259+
)
11171260
self.list_public = to_raw_response_wrapper(
11181261
blueprints.list_public,
11191262
)
@@ -1141,6 +1284,9 @@ def __init__(self, blueprints: AsyncBlueprintsResource) -> None:
11411284
self.delete = async_to_raw_response_wrapper(
11421285
blueprints.delete,
11431286
)
1287+
self.create_from_inspection = async_to_raw_response_wrapper(
1288+
blueprints.create_from_inspection,
1289+
)
11441290
self.list_public = async_to_raw_response_wrapper(
11451291
blueprints.list_public,
11461292
)
@@ -1168,6 +1314,9 @@ def __init__(self, blueprints: BlueprintsResource) -> None:
11681314
self.delete = to_streamed_response_wrapper(
11691315
blueprints.delete,
11701316
)
1317+
self.create_from_inspection = to_streamed_response_wrapper(
1318+
blueprints.create_from_inspection,
1319+
)
11711320
self.list_public = to_streamed_response_wrapper(
11721321
blueprints.list_public,
11731322
)
@@ -1195,6 +1344,9 @@ def __init__(self, blueprints: AsyncBlueprintsResource) -> None:
11951344
self.delete = async_to_streamed_response_wrapper(
11961345
blueprints.delete,
11971346
)
1347+
self.create_from_inspection = async_to_streamed_response_wrapper(
1348+
blueprints.create_from_inspection,
1349+
)
11981350
self.list_public = async_to_streamed_response_wrapper(
11991351
blueprints.list_public,
12001352
)

0 commit comments

Comments
 (0)