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
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.65.0"
".": "0.66.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 94
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-039b6fefb20a791ff9739695a732c6d70ac20788675486b6ef04c7a3911b938d.yml
openapi_spec_hash: 2a41f3c2f6c48a1787d06094240302a5
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-f60ee2123156a4db87ddfa4e1b8dd6379e26e8f8cf533946ca25b76559b6aa4d.yml
openapi_spec_hash: d80fdfaf40c65ce8c1962c4f6d35acc6
config_hash: 95facb8cef59b5a1b05763b871bf6a4b
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.66.0 (2025-10-23)

Full Changelog: [v0.65.0...v0.66.0](https://github.com/runloopai/api-client-python/compare/v0.65.0...v0.66.0)

### Features

* **api:** api update ([a0f1f40](https://github.com/runloopai/api-client-python/commit/a0f1f402b1f403fbe439bdebd9f96d5069c5fdf9))


### Chores

* bump `httpx-aiohttp` version to 0.1.9 ([8d29288](https://github.com/runloopai/api-client-python/commit/8d29288a957e7a8d14dfb4e4cfaf4d6345dbaf41))

## 0.65.0 (2025-10-15)

Full Changelog: [v0.64.0...v0.65.0](https://github.com/runloopai/api-client-python/compare/v0.64.0...v0.65.0)
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "runloop_api_client"
version = "0.65.0"
version = "0.66.0"
description = "The official Python library for the runloop API"
dynamic = ["readme"]
license = "MIT"
Expand Down Expand Up @@ -40,7 +40,7 @@ Homepage = "https://github.com/runloopai/api-client-python"
Repository = "https://github.com/runloopai/api-client-python"

[project.optional-dependencies]
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"]
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]

[tool.uv]
managed = true
Expand Down
2 changes: 1 addition & 1 deletion src/runloop_api_client/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "runloop_api_client"
__version__ = "0.65.0" # x-release-please-version
__version__ = "0.66.0" # x-release-please-version
40 changes: 40 additions & 0 deletions src/runloop_api_client/resources/blueprints.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ def create(
file_mounts: Optional[Dict[str, str]] | Omit = omit,
launch_parameters: Optional[LaunchParameters] | Omit = omit,
metadata: Optional[Dict[str, str]] | Omit = omit,
secrets: Optional[Dict[str, str]] | Omit = omit,
services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand Down Expand Up @@ -122,6 +123,11 @@ def create(

metadata: (Optional) User defined metadata for the Blueprint.

secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
will be available to commands during the build. Secrets are NOT stored in the
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.

services: (Optional) List of containerized services to include in the Blueprint. These
services will be pre-pulled during the build phase for optimized startup
performance.
Expand Down Expand Up @@ -151,6 +157,7 @@ def create(
"file_mounts": file_mounts,
"launch_parameters": launch_parameters,
"metadata": metadata,
"secrets": secrets,
"services": services,
"system_setup_commands": system_setup_commands,
},
Expand Down Expand Up @@ -404,6 +411,7 @@ def create_from_inspection(
file_mounts: Optional[Dict[str, str]] | Omit = omit,
launch_parameters: Optional[LaunchParameters] | Omit = omit,
metadata: Optional[Dict[str, str]] | Omit = omit,
secrets: Optional[Dict[str, str]] | Omit = omit,
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
Expand All @@ -430,6 +438,10 @@ def create_from_inspection(

metadata: (Optional) User defined metadata for the Blueprint.

secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
can be used as environment variables in system_setup_commands. Example:
{"GITHUB_TOKEN": "gh_secret"} makes 'gh_secret' available as GITHUB_TOKEN.

system_setup_commands: A list of commands to run to set up your system.

extra_headers: Send extra headers
Expand All @@ -451,6 +463,7 @@ def create_from_inspection(
"file_mounts": file_mounts,
"launch_parameters": launch_parameters,
"metadata": metadata,
"secrets": secrets,
"system_setup_commands": system_setup_commands,
},
blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
Expand Down Expand Up @@ -561,6 +574,7 @@ def preview(
file_mounts: Optional[Dict[str, str]] | Omit = omit,
launch_parameters: Optional[LaunchParameters] | Omit = omit,
metadata: Optional[Dict[str, str]] | Omit = omit,
secrets: Optional[Dict[str, str]] | Omit = omit,
services: Optional[Iterable[blueprint_preview_params.Service]] | Omit = omit,
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand Down Expand Up @@ -599,6 +613,11 @@ def preview(

metadata: (Optional) User defined metadata for the Blueprint.

secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
will be available to commands during the build. Secrets are NOT stored in the
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.

services: (Optional) List of containerized services to include in the Blueprint. These
services will be pre-pulled during the build phase for optimized startup
performance.
Expand Down Expand Up @@ -628,6 +647,7 @@ def preview(
"file_mounts": file_mounts,
"launch_parameters": launch_parameters,
"metadata": metadata,
"secrets": secrets,
"services": services,
"system_setup_commands": system_setup_commands,
},
Expand Down Expand Up @@ -676,6 +696,7 @@ async def create(
file_mounts: Optional[Dict[str, str]] | Omit = omit,
launch_parameters: Optional[LaunchParameters] | Omit = omit,
metadata: Optional[Dict[str, str]] | Omit = omit,
secrets: Optional[Dict[str, str]] | Omit = omit,
services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand Down Expand Up @@ -716,6 +737,11 @@ async def create(

metadata: (Optional) User defined metadata for the Blueprint.

secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
will be available to commands during the build. Secrets are NOT stored in the
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.

services: (Optional) List of containerized services to include in the Blueprint. These
services will be pre-pulled during the build phase for optimized startup
performance.
Expand Down Expand Up @@ -745,6 +771,7 @@ async def create(
"file_mounts": file_mounts,
"launch_parameters": launch_parameters,
"metadata": metadata,
"secrets": secrets,
"services": services,
"system_setup_commands": system_setup_commands,
},
Expand Down Expand Up @@ -998,6 +1025,7 @@ async def create_from_inspection(
file_mounts: Optional[Dict[str, str]] | Omit = omit,
launch_parameters: Optional[LaunchParameters] | Omit = omit,
metadata: Optional[Dict[str, str]] | Omit = omit,
secrets: Optional[Dict[str, str]] | Omit = omit,
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
Expand All @@ -1024,6 +1052,10 @@ async def create_from_inspection(

metadata: (Optional) User defined metadata for the Blueprint.

secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
can be used as environment variables in system_setup_commands. Example:
{"GITHUB_TOKEN": "gh_secret"} makes 'gh_secret' available as GITHUB_TOKEN.

system_setup_commands: A list of commands to run to set up your system.

extra_headers: Send extra headers
Expand All @@ -1045,6 +1077,7 @@ async def create_from_inspection(
"file_mounts": file_mounts,
"launch_parameters": launch_parameters,
"metadata": metadata,
"secrets": secrets,
"system_setup_commands": system_setup_commands,
},
blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
Expand Down Expand Up @@ -1155,6 +1188,7 @@ async def preview(
file_mounts: Optional[Dict[str, str]] | Omit = omit,
launch_parameters: Optional[LaunchParameters] | Omit = omit,
metadata: Optional[Dict[str, str]] | Omit = omit,
secrets: Optional[Dict[str, str]] | Omit = omit,
services: Optional[Iterable[blueprint_preview_params.Service]] | Omit = omit,
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
Expand Down Expand Up @@ -1193,6 +1227,11 @@ async def preview(

metadata: (Optional) User defined metadata for the Blueprint.

secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
will be available to commands during the build. Secrets are NOT stored in the
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.

services: (Optional) List of containerized services to include in the Blueprint. These
services will be pre-pulled during the build phase for optimized startup
performance.
Expand Down Expand Up @@ -1222,6 +1261,7 @@ async def preview(
"file_mounts": file_mounts,
"launch_parameters": launch_parameters,
"metadata": metadata,
"secrets": secrets,
"services": services,
"system_setup_commands": system_setup_commands,
},
Expand Down
8 changes: 8 additions & 0 deletions src/runloop_api_client/types/blueprint_build_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,14 @@ class BlueprintBuildParameters(BaseModel):
metadata: Optional[Dict[str, str]] = None
"""(Optional) User defined metadata for the Blueprint."""

secrets: Optional[Dict[str, str]] = None
"""(Optional) Map of mount IDs/environment variable names to secret names.

Secrets will be available to commands during the build. Secrets are NOT stored
in the blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the
secret 'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.
"""

services: Optional[List[Service]] = None
"""(Optional) List of containerized services to include in the Blueprint.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,12 @@ class BlueprintCreateFromInspectionParams(TypedDict, total=False):
metadata: Optional[Dict[str, str]]
"""(Optional) User defined metadata for the Blueprint."""

secrets: Optional[Dict[str, str]]
"""(Optional) Map of mount IDs/environment variable names to secret names.

Secrets can be used as environment variables in system_setup_commands. Example:
{"GITHUB_TOKEN": "gh_secret"} makes 'gh_secret' available as GITHUB_TOKEN.
"""

system_setup_commands: Optional[SequenceNotStr[str]]
"""A list of commands to run to set up your system."""
8 changes: 8 additions & 0 deletions src/runloop_api_client/types/blueprint_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ class BlueprintCreateParams(TypedDict, total=False):
metadata: Optional[Dict[str, str]]
"""(Optional) User defined metadata for the Blueprint."""

secrets: Optional[Dict[str, str]]
"""(Optional) Map of mount IDs/environment variable names to secret names.

Secrets will be available to commands during the build. Secrets are NOT stored
in the blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the
secret 'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.
"""

services: Optional[Iterable[Service]]
"""(Optional) List of containerized services to include in the Blueprint.

Expand Down
8 changes: 8 additions & 0 deletions src/runloop_api_client/types/blueprint_preview_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ class BlueprintPreviewParams(TypedDict, total=False):
metadata: Optional[Dict[str, str]]
"""(Optional) User defined metadata for the Blueprint."""

secrets: Optional[Dict[str, str]]
"""(Optional) Map of mount IDs/environment variable names to secret names.

Secrets will be available to commands during the build. Secrets are NOT stored
in the blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the
secret 'DATABASE_PASSWORD' available as environment variable 'DB_PASS'.
"""

services: Optional[Iterable[Service]]
"""(Optional) List of containerized services to include in the Blueprint.

Expand Down
6 changes: 6 additions & 0 deletions tests/api_resources/test_blueprints.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ def test_method_create_with_all_params(self, client: Runloop) -> None:
},
},
metadata={"foo": "string"},
secrets={"foo": "string"},
services=[
{
"image": "image",
Expand Down Expand Up @@ -254,6 +255,7 @@ def test_method_create_from_inspection_with_all_params(self, client: Runloop) ->
},
},
metadata={"foo": "string"},
secrets={"foo": "string"},
system_setup_commands=["string"],
)
assert_matches_type(BlueprintView, blueprint, path=["response"])
Expand Down Expand Up @@ -400,6 +402,7 @@ def test_method_preview_with_all_params(self, client: Runloop) -> None:
},
},
metadata={"foo": "string"},
secrets={"foo": "string"},
services=[
{
"image": "image",
Expand Down Expand Up @@ -491,6 +494,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncRunloop) -
},
},
metadata={"foo": "string"},
secrets={"foo": "string"},
services=[
{
"image": "image",
Expand Down Expand Up @@ -679,6 +683,7 @@ async def test_method_create_from_inspection_with_all_params(self, async_client:
},
},
metadata={"foo": "string"},
secrets={"foo": "string"},
system_setup_commands=["string"],
)
assert_matches_type(BlueprintView, blueprint, path=["response"])
Expand Down Expand Up @@ -825,6 +830,7 @@ async def test_method_preview_with_all_params(self, async_client: AsyncRunloop)
},
},
metadata={"foo": "string"},
secrets={"foo": "string"},
services=[
{
"image": "image",
Expand Down
Loading