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 @@
{
".": "1.22.0"
".": "1.22.1"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 119
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai/runloop-7235763cbdfd60834a897f356688d758b598a1dd723623330ea398dea2abea68.yml
configured_endpoints: 120
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai/runloop-96b0ac0a148db6fde2e8363ea2dcfaa63f2dc23cf35c30c5fcfffbefc222e5d1.yml
openapi_spec_hash: 01b9dbab4b732e4b83952debd108e404
config_hash: 444e00951b440bf92e7548b2807584a4
config_hash: ed1fdd7c9f0a25647e16b602bad4ff2e
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 1.22.1 (2026-06-01)

Full Changelog: [v1.22.0...v1.22.1](https://github.com/runloopai/api-client-python/compare/v1.22.0...v1.22.1)

### Build System

* **stainless:** map /v1/accounts/me to accounts.me in the SDK ([#9569](https://github.com/runloopai/api-client-python/issues/9569)) ([3f9cbe1](https://github.com/runloopai/api-client-python/commit/3f9cbe1e92c2eb9c1696f52cb11419bcafde6bd9))

## 1.22.0 (2026-05-27)

Full Changelog: [v1.21.0...v1.22.0](https://github.com/runloopai/api-client-python/compare/v1.21.0...v1.22.0)
Expand Down
12 changes: 12 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,18 @@ from runloop_api_client.types import (
)
```

# Accounts

Types:

```python
from runloop_api_client.types import AccountView
```

Methods:

- <code title="get /v1/accounts/me">client.accounts.<a href="./src/runloop_api_client/resources/accounts.py">me</a>() -> <a href="./src/runloop_api_client/types/account_view.py">AccountView</a></code>

# Benchmarks

Types:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "runloop_api_client"
version = "1.22.0"
version = "1.22.1"
description = "The official Python library for the runloop API"
dynamic = ["readme"]
license = "MIT"
Expand Down
38 changes: 38 additions & 0 deletions src/runloop_api_client/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
apikeys,
objects,
secrets,
accounts,
devboxes,
scenarios,
benchmarks,
Expand All @@ -58,6 +59,7 @@
from .resources.apikeys import ApikeysResource, AsyncApikeysResource
from .resources.objects import ObjectsResource, AsyncObjectsResource
from .resources.secrets import SecretsResource, AsyncSecretsResource
from .resources.accounts import AccountsResource, AsyncAccountsResource
from .resources.benchmarks import BenchmarksResource, AsyncBenchmarksResource
from .resources.blueprints import BlueprintsResource, AsyncBlueprintsResource
from .resources.axons.axons import AxonsResource, AsyncAxonsResource
Expand Down Expand Up @@ -144,6 +146,12 @@ def __init__(

self._idempotency_header = "x-request-id"

@cached_property
def accounts(self) -> AccountsResource:
from .resources.accounts import AccountsResource

return AccountsResource(self)

@cached_property
def benchmarks(self) -> BenchmarksResource:
from .resources.benchmarks import BenchmarksResource
Expand Down Expand Up @@ -432,6 +440,12 @@ def __init__(

self._idempotency_header = "x-request-id"

@cached_property
def accounts(self) -> AsyncAccountsResource:
from .resources.accounts import AsyncAccountsResource

return AsyncAccountsResource(self)

@cached_property
def benchmarks(self) -> AsyncBenchmarksResource:
from .resources.benchmarks import AsyncBenchmarksResource
Expand Down Expand Up @@ -655,6 +669,12 @@ class RunloopWithRawResponse:
def __init__(self, client: Runloop) -> None:
self._client = client

@cached_property
def accounts(self) -> accounts.AccountsResourceWithRawResponse:
from .resources.accounts import AccountsResourceWithRawResponse

return AccountsResourceWithRawResponse(self._client.accounts)

@cached_property
def benchmarks(self) -> benchmarks.BenchmarksResourceWithRawResponse:
from .resources.benchmarks import BenchmarksResourceWithRawResponse
Expand Down Expand Up @@ -758,6 +778,12 @@ class AsyncRunloopWithRawResponse:
def __init__(self, client: AsyncRunloop) -> None:
self._client = client

@cached_property
def accounts(self) -> accounts.AsyncAccountsResourceWithRawResponse:
from .resources.accounts import AsyncAccountsResourceWithRawResponse

return AsyncAccountsResourceWithRawResponse(self._client.accounts)

@cached_property
def benchmarks(self) -> benchmarks.AsyncBenchmarksResourceWithRawResponse:
from .resources.benchmarks import AsyncBenchmarksResourceWithRawResponse
Expand Down Expand Up @@ -861,6 +887,12 @@ class RunloopWithStreamedResponse:
def __init__(self, client: Runloop) -> None:
self._client = client

@cached_property
def accounts(self) -> accounts.AccountsResourceWithStreamingResponse:
from .resources.accounts import AccountsResourceWithStreamingResponse

return AccountsResourceWithStreamingResponse(self._client.accounts)

@cached_property
def benchmarks(self) -> benchmarks.BenchmarksResourceWithStreamingResponse:
from .resources.benchmarks import BenchmarksResourceWithStreamingResponse
Expand Down Expand Up @@ -964,6 +996,12 @@ class AsyncRunloopWithStreamedResponse:
def __init__(self, client: AsyncRunloop) -> None:
self._client = client

@cached_property
def accounts(self) -> accounts.AsyncAccountsResourceWithStreamingResponse:
from .resources.accounts import AsyncAccountsResourceWithStreamingResponse

return AsyncAccountsResourceWithStreamingResponse(self._client.accounts)

@cached_property
def benchmarks(self) -> benchmarks.AsyncBenchmarksResourceWithStreamingResponse:
from .resources.benchmarks import AsyncBenchmarksResourceWithStreamingResponse
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__ = "1.22.0" # x-release-please-version
__version__ = "1.22.1" # x-release-please-version
14 changes: 14 additions & 0 deletions src/runloop_api_client/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@
SecretsResourceWithStreamingResponse,
AsyncSecretsResourceWithStreamingResponse,
)
from .accounts import (
AccountsResource,
AsyncAccountsResource,
AccountsResourceWithRawResponse,
AsyncAccountsResourceWithRawResponse,
AccountsResourceWithStreamingResponse,
AsyncAccountsResourceWithStreamingResponse,
)
from .devboxes import (
DevboxesResource,
AsyncDevboxesResource,
Expand Down Expand Up @@ -130,6 +138,12 @@
)

__all__ = [
"AccountsResource",
"AsyncAccountsResource",
"AccountsResourceWithRawResponse",
"AsyncAccountsResourceWithRawResponse",
"AccountsResourceWithStreamingResponse",
"AsyncAccountsResourceWithStreamingResponse",
"BenchmarksResource",
"AsyncBenchmarksResource",
"BenchmarksResourceWithRawResponse",
Expand Down
141 changes: 141 additions & 0 deletions src/runloop_api_client/resources/accounts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

import httpx

from .._types import Body, Query, Headers, NotGiven, not_given
from .._compat import cached_property
from .._resource import SyncAPIResource, AsyncAPIResource
from .._response import (
to_raw_response_wrapper,
to_streamed_response_wrapper,
async_to_raw_response_wrapper,
async_to_streamed_response_wrapper,
)
from .._base_client import make_request_options
from ..types.account_view import AccountView

__all__ = ["AccountsResource", "AsyncAccountsResource"]


class AccountsResource(SyncAPIResource):
@cached_property
def with_raw_response(self) -> AccountsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.

For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
"""
return AccountsResourceWithRawResponse(self)

@cached_property
def with_streaming_response(self) -> AccountsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.

For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
"""
return AccountsResourceWithStreamingResponse(self)

def me(
self,
*,
# 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.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AccountView:
"""
Returns the account the API key or session is authenticated against, including
id, name, tier, and billing summary.
"""
return self._get(
"/v1/accounts/me",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AccountView,
)


class AsyncAccountsResource(AsyncAPIResource):
@cached_property
def with_raw_response(self) -> AsyncAccountsResourceWithRawResponse:
"""
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.

For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
"""
return AsyncAccountsResourceWithRawResponse(self)

@cached_property
def with_streaming_response(self) -> AsyncAccountsResourceWithStreamingResponse:
"""
An alternative to `.with_raw_response` that doesn't eagerly read the response body.

For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
"""
return AsyncAccountsResourceWithStreamingResponse(self)

async def me(
self,
*,
# 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.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AccountView:
"""
Returns the account the API key or session is authenticated against, including
id, name, tier, and billing summary.
"""
return await self._get(
"/v1/accounts/me",
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=AccountView,
)


class AccountsResourceWithRawResponse:
def __init__(self, accounts: AccountsResource) -> None:
self._accounts = accounts

self.me = to_raw_response_wrapper(
accounts.me,
)


class AsyncAccountsResourceWithRawResponse:
def __init__(self, accounts: AsyncAccountsResource) -> None:
self._accounts = accounts

self.me = async_to_raw_response_wrapper(
accounts.me,
)


class AccountsResourceWithStreamingResponse:
def __init__(self, accounts: AccountsResource) -> None:
self._accounts = accounts

self.me = to_streamed_response_wrapper(
accounts.me,
)


class AsyncAccountsResourceWithStreamingResponse:
def __init__(self, accounts: AsyncAccountsResource) -> None:
self._accounts = accounts

self.me = async_to_streamed_response_wrapper(
accounts.me,
)
1 change: 1 addition & 0 deletions src/runloop_api_client/types/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from .object_view import ObjectView as ObjectView
from .secret_view import SecretView as SecretView
from .tunnel_view import TunnelView as TunnelView
from .account_view import AccountView as AccountView
from .input_context import InputContext as InputContext
from .scenario_view import ScenarioView as ScenarioView
from .axon_list_view import AxonListView as AxonListView
Expand Down
Loading
Loading