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.57.0"
".": "0.58.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 112
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-e9c99662d29710f105847d461f8919e06f6aa2e43b0e1a6285d0b137643a7907.yml
openapi_spec_hash: 4415cb4790c7a5ec892f4e3521217cb4
config_hash: 27b38657d9a3b33328be930eeb319628
configured_endpoints: 117
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-3b34d85c005a4058ac1faaea092615af577d12cee6e420f102de57339251672d.yml
openapi_spec_hash: fad386b8e8712e6639ed9689e9dfc070
config_hash: 0f222358f24700d1811c5d27078a3849
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 0.58.0 (2026-05-27)

Full Changelog: [v0.57.0...v0.58.0](https://github.com/kernel/kernel-python-sdk/compare/v0.57.0...v0.58.0)

### Features

* [codex] Expose API keys in SDK config ([41b3aa2](https://github.com/kernel/kernel-python-sdk/commit/41b3aa243c39af3614154af0059b0299c4e41664))
* Fix API key request model SDK metadata ([3ced474](https://github.com/kernel/kernel-python-sdk/commit/3ced474265441099b9fd26f26050ec799e804fac))
* Support telemetry enabled request config and fix SDK metadata ([a1054a6](https://github.com/kernel/kernel-python-sdk/commit/a1054a6b72e79e0fffc88b1b46661683a8a953b8))

## 0.57.0 (2026-05-26)

Full Changelog: [v0.57.0...v0.57.0](https://github.com/kernel/kernel-python-sdk/compare/v0.57.0...v0.57.0)
Expand Down
17 changes: 16 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ from kernel.types.browsers import (
BrowserTelemetryCategoryConfig,
BrowserTelemetryConfig,
BrowserTelemetryEvent,
BrowserTelemetryRequestConfig,
TelemetryStreamResponse,
)
```
Expand Down Expand Up @@ -415,6 +414,22 @@ Methods:
- <code title="get /org/projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">retrieve</a>(id) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
- <code title="patch /org/projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">update</a>(id, \*\*<a href="src/kernel/types/projects/limit_update_params.py">params</a>) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>

# APIKeys

Types:

```python
from kernel.types import APIKey, CreatedAPIKey
```

Methods:

- <code title="post /org/api_keys">client.api_keys.<a href="./src/kernel/resources/api_keys.py">create</a>(\*\*<a href="src/kernel/types/api_key_create_params.py">params</a>) -> <a href="./src/kernel/types/created_api_key.py">CreatedAPIKey</a></code>
- <code title="get /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">retrieve</a>(id) -> <a href="./src/kernel/types/api_key.py">APIKey</a></code>
- <code title="patch /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">update</a>(id, \*\*<a href="src/kernel/types/api_key_update_params.py">params</a>) -> <a href="./src/kernel/types/api_key.py">APIKey</a></code>
- <code title="get /org/api_keys">client.api_keys.<a href="./src/kernel/resources/api_keys.py">list</a>(\*\*<a href="src/kernel/types/api_key_list_params.py">params</a>) -> <a href="./src/kernel/types/api_key.py">SyncOffsetPagination[APIKey]</a></code>
- <code title="delete /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">delete</a>(id) -> None</code>

# CredentialProviders

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 = "kernel"
version = "0.57.0"
version = "0.58.0"
description = "The official Python library for the kernel API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
44 changes: 44 additions & 0 deletions src/kernel/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
apps,
auth,
proxies,
api_keys,
browsers,
profiles,
projects,
Expand All @@ -62,6 +63,7 @@
)
from .resources.apps import AppsResource, AsyncAppsResource
from .resources.proxies import ProxiesResource, AsyncProxiesResource
from .resources.api_keys import APIKeysResource, AsyncAPIKeysResource
from .resources.profiles import ProfilesResource, AsyncProfilesResource
from .resources.auth.auth import AuthResource, AsyncAuthResource
from .resources.extensions import ExtensionsResource, AsyncExtensionsResource
Expand Down Expand Up @@ -260,6 +262,13 @@ def projects(self) -> ProjectsResource:

return ProjectsResource(self)

@cached_property
def api_keys(self) -> APIKeysResource:
"""Create and manage API keys for organization and project-scoped access."""
from .resources.api_keys import APIKeysResource

return APIKeysResource(self)

@cached_property
def credential_providers(self) -> CredentialProvidersResource:
"""Configure external credential providers like 1Password."""
Expand Down Expand Up @@ -584,6 +593,13 @@ def projects(self) -> AsyncProjectsResource:

return AsyncProjectsResource(self)

@cached_property
def api_keys(self) -> AsyncAPIKeysResource:
"""Create and manage API keys for organization and project-scoped access."""
from .resources.api_keys import AsyncAPIKeysResource

return AsyncAPIKeysResource(self)

@cached_property
def credential_providers(self) -> AsyncCredentialProvidersResource:
"""Configure external credential providers like 1Password."""
Expand Down Expand Up @@ -821,6 +837,13 @@ def projects(self) -> projects.ProjectsResourceWithRawResponse:

return ProjectsResourceWithRawResponse(self._client.projects)

@cached_property
def api_keys(self) -> api_keys.APIKeysResourceWithRawResponse:
"""Create and manage API keys for organization and project-scoped access."""
from .resources.api_keys import APIKeysResourceWithRawResponse

return APIKeysResourceWithRawResponse(self._client.api_keys)

@cached_property
def credential_providers(self) -> credential_providers.CredentialProvidersResourceWithRawResponse:
"""Configure external credential providers like 1Password."""
Expand Down Expand Up @@ -911,6 +934,13 @@ def projects(self) -> projects.AsyncProjectsResourceWithRawResponse:

return AsyncProjectsResourceWithRawResponse(self._client.projects)

@cached_property
def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithRawResponse:
"""Create and manage API keys for organization and project-scoped access."""
from .resources.api_keys import AsyncAPIKeysResourceWithRawResponse

return AsyncAPIKeysResourceWithRawResponse(self._client.api_keys)

@cached_property
def credential_providers(self) -> credential_providers.AsyncCredentialProvidersResourceWithRawResponse:
"""Configure external credential providers like 1Password."""
Expand Down Expand Up @@ -1001,6 +1031,13 @@ def projects(self) -> projects.ProjectsResourceWithStreamingResponse:

return ProjectsResourceWithStreamingResponse(self._client.projects)

@cached_property
def api_keys(self) -> api_keys.APIKeysResourceWithStreamingResponse:
"""Create and manage API keys for organization and project-scoped access."""
from .resources.api_keys import APIKeysResourceWithStreamingResponse

return APIKeysResourceWithStreamingResponse(self._client.api_keys)

@cached_property
def credential_providers(self) -> credential_providers.CredentialProvidersResourceWithStreamingResponse:
"""Configure external credential providers like 1Password."""
Expand Down Expand Up @@ -1091,6 +1128,13 @@ def projects(self) -> projects.AsyncProjectsResourceWithStreamingResponse:

return AsyncProjectsResourceWithStreamingResponse(self._client.projects)

@cached_property
def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithStreamingResponse:
"""Create and manage API keys for organization and project-scoped access."""
from .resources.api_keys import AsyncAPIKeysResourceWithStreamingResponse

return AsyncAPIKeysResourceWithStreamingResponse(self._client.api_keys)

@cached_property
def credential_providers(self) -> credential_providers.AsyncCredentialProvidersResourceWithStreamingResponse:
"""Configure external credential providers like 1Password."""
Expand Down
2 changes: 1 addition & 1 deletion src/kernel/_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__ = "kernel"
__version__ = "0.57.0" # x-release-please-version
__version__ = "0.58.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/kernel/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@
ProxiesResourceWithStreamingResponse,
AsyncProxiesResourceWithStreamingResponse,
)
from .api_keys import (
APIKeysResource,
AsyncAPIKeysResource,
APIKeysResourceWithRawResponse,
AsyncAPIKeysResourceWithRawResponse,
APIKeysResourceWithStreamingResponse,
AsyncAPIKeysResourceWithStreamingResponse,
)
from .browsers import (
BrowsersResource,
AsyncBrowsersResource,
Expand Down Expand Up @@ -164,6 +172,12 @@
"AsyncProjectsResourceWithRawResponse",
"ProjectsResourceWithStreamingResponse",
"AsyncProjectsResourceWithStreamingResponse",
"APIKeysResource",
"AsyncAPIKeysResource",
"APIKeysResourceWithRawResponse",
"AsyncAPIKeysResourceWithRawResponse",
"APIKeysResourceWithStreamingResponse",
"AsyncAPIKeysResourceWithStreamingResponse",
"CredentialProvidersResource",
"AsyncCredentialProvidersResource",
"CredentialProvidersResourceWithRawResponse",
Expand Down
Loading
Loading