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.31.0"
".": "0.31.1"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 100
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-a6d93dc291278035c96add38bb6150ec2b9ba8bbabb4676e3dbbb8444cf3b1e4.yml
openapi_spec_hash: 694bcc56d94fd0ff0d1f7b0fc1dae8ba
config_hash: 62e33cf2ed8fe0b4ceebba63367481ad
configured_endpoints: 108
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-3fbe762c99e8a120c426ac22bc1fa257c9127d631b12a38a6440a37f52935543.yml
openapi_spec_hash: 5a190df210ed90b20a71c5061ff43917
config_hash: 38c9b3b355025daf9bb643040e4af94e
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.31.1 (2026-02-06)

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

### Chores

* add Managed Auth API planning doc ([f24a387](https://github.com/kernel/kernel-python-sdk/commit/f24a387432ff8e506c143da566e65d5674c7ff6c))

## 0.31.0 (2026-02-06)

Full Changelog: [v0.30.0...v0.31.0](https://github.com/kernel/kernel-python-sdk/compare/v0.30.0...v0.31.0)
Expand Down
43 changes: 37 additions & 6 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,34 @@ Methods:
- <code title="delete /profiles/{id_or_name}">client.profiles.<a href="./src/kernel/resources/profiles.py">delete</a>(id_or_name) -> None</code>
- <code title="get /profiles/{id_or_name}/download">client.profiles.<a href="./src/kernel/resources/profiles.py">download</a>(id_or_name) -> BinaryAPIResponse</code>

# Auth

## Connections

Types:

```python
from kernel.types.auth import (
LoginRequest,
LoginResponse,
ManagedAuth,
ManagedAuthCreateRequest,
SubmitFieldsRequest,
SubmitFieldsResponse,
ConnectionFollowResponse,
)
```

Methods:

- <code title="post /auth/connections">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">create</a>(\*\*<a href="src/kernel/types/auth/connection_create_params.py">params</a>) -> <a href="./src/kernel/types/auth/managed_auth.py">ManagedAuth</a></code>
- <code title="get /auth/connections/{id}">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">retrieve</a>(id) -> <a href="./src/kernel/types/auth/managed_auth.py">ManagedAuth</a></code>
- <code title="get /auth/connections">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">list</a>(\*\*<a href="src/kernel/types/auth/connection_list_params.py">params</a>) -> <a href="./src/kernel/types/auth/managed_auth.py">SyncOffsetPagination[ManagedAuth]</a></code>
- <code title="delete /auth/connections/{id}">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">delete</a>(id) -> None</code>
- <code title="get /auth/connections/{id}/events">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">follow</a>(id) -> <a href="./src/kernel/types/auth/connection_follow_response.py">ConnectionFollowResponse</a></code>
- <code title="post /auth/connections/{id}/login">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">login</a>(id, \*\*<a href="src/kernel/types/auth/connection_login_params.py">params</a>) -> <a href="./src/kernel/types/auth/login_response.py">LoginResponse</a></code>
- <code title="post /auth/connections/{id}/submit">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">submit</a>(id, \*\*<a href="src/kernel/types/auth/connection_submit_params.py">params</a>) -> <a href="./src/kernel/types/auth/submit_fields_response.py">SubmitFieldsResponse</a></code>

# Proxies

Types:
Expand Down Expand Up @@ -360,17 +388,20 @@ Types:
from kernel.types import (
CreateCredentialProviderRequest,
CredentialProvider,
CredentialProviderItem,
CredentialProviderTestResult,
UpdateCredentialProviderRequest,
CredentialProviderListResponse,
CredentialProviderListItemsResponse,
)
```

Methods:

- <code title="post /org/credential-providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">create</a>(\*\*<a href="src/kernel/types/credential_provider_create_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
- <code title="get /org/credential-providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">retrieve</a>(id) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
- <code title="patch /org/credential-providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">update</a>(id, \*\*<a href="src/kernel/types/credential_provider_update_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
- <code title="get /org/credential-providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">list</a>() -> <a href="./src/kernel/types/credential_provider_list_response.py">CredentialProviderListResponse</a></code>
- <code title="delete /org/credential-providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">delete</a>(id) -> None</code>
- <code title="post /org/credential-providers/{id}/test">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">test</a>(id) -> <a href="./src/kernel/types/credential_provider_test_result.py">CredentialProviderTestResult</a></code>
- <code title="post /org/credential_providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">create</a>(\*\*<a href="src/kernel/types/credential_provider_create_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
- <code title="get /org/credential_providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">retrieve</a>(id) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
- <code title="patch /org/credential_providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">update</a>(id, \*\*<a href="src/kernel/types/credential_provider_update_params.py">params</a>) -> <a href="./src/kernel/types/credential_provider.py">CredentialProvider</a></code>
- <code title="get /org/credential_providers">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">list</a>() -> <a href="./src/kernel/types/credential_provider_list_response.py">CredentialProviderListResponse</a></code>
- <code title="delete /org/credential_providers/{id}">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">delete</a>(id) -> None</code>
- <code title="get /org/credential_providers/{id}/items">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">list_items</a>(id) -> <a href="./src/kernel/types/credential_provider_list_items_response.py">CredentialProviderListItemsResponse</a></code>
- <code title="post /org/credential_providers/{id}/test">client.credential_providers.<a href="./src/kernel/resources/credential_providers.py">test</a>(id) -> <a href="./src/kernel/types/credential_provider_test_result.py">CredentialProviderTestResult</a></code>
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.31.0"
version = "0.31.1"
description = "The official Python library for the kernel API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
38 changes: 38 additions & 0 deletions src/kernel/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
if TYPE_CHECKING:
from .resources import (
apps,
auth,
agents,
proxies,
browsers,
Expand All @@ -47,6 +48,7 @@
from .resources.apps import AppsResource, AsyncAppsResource
from .resources.proxies import ProxiesResource, AsyncProxiesResource
from .resources.profiles import ProfilesResource, AsyncProfilesResource
from .resources.auth.auth import AuthResource, AsyncAuthResource
from .resources.extensions import ExtensionsResource, AsyncExtensionsResource
from .resources.credentials import CredentialsResource, AsyncCredentialsResource
from .resources.deployments import DeploymentsResource, AsyncDeploymentsResource
Expand Down Expand Up @@ -183,6 +185,12 @@ def profiles(self) -> ProfilesResource:

return ProfilesResource(self)

@cached_property
def auth(self) -> AuthResource:
from .resources.auth import AuthResource

return AuthResource(self)

@cached_property
def proxies(self) -> ProxiesResource:
from .resources.proxies import ProxiesResource
Expand Down Expand Up @@ -443,6 +451,12 @@ def profiles(self) -> AsyncProfilesResource:

return AsyncProfilesResource(self)

@cached_property
def auth(self) -> AsyncAuthResource:
from .resources.auth import AsyncAuthResource

return AsyncAuthResource(self)

@cached_property
def proxies(self) -> AsyncProxiesResource:
from .resources.proxies import AsyncProxiesResource
Expand Down Expand Up @@ -630,6 +644,12 @@ def profiles(self) -> profiles.ProfilesResourceWithRawResponse:

return ProfilesResourceWithRawResponse(self._client.profiles)

@cached_property
def auth(self) -> auth.AuthResourceWithRawResponse:
from .resources.auth import AuthResourceWithRawResponse

return AuthResourceWithRawResponse(self._client.auth)

@cached_property
def proxies(self) -> proxies.ProxiesResourceWithRawResponse:
from .resources.proxies import ProxiesResourceWithRawResponse
Expand Down Expand Up @@ -703,6 +723,12 @@ def profiles(self) -> profiles.AsyncProfilesResourceWithRawResponse:

return AsyncProfilesResourceWithRawResponse(self._client.profiles)

@cached_property
def auth(self) -> auth.AsyncAuthResourceWithRawResponse:
from .resources.auth import AsyncAuthResourceWithRawResponse

return AsyncAuthResourceWithRawResponse(self._client.auth)

@cached_property
def proxies(self) -> proxies.AsyncProxiesResourceWithRawResponse:
from .resources.proxies import AsyncProxiesResourceWithRawResponse
Expand Down Expand Up @@ -776,6 +802,12 @@ def profiles(self) -> profiles.ProfilesResourceWithStreamingResponse:

return ProfilesResourceWithStreamingResponse(self._client.profiles)

@cached_property
def auth(self) -> auth.AuthResourceWithStreamingResponse:
from .resources.auth import AuthResourceWithStreamingResponse

return AuthResourceWithStreamingResponse(self._client.auth)

@cached_property
def proxies(self) -> proxies.ProxiesResourceWithStreamingResponse:
from .resources.proxies import ProxiesResourceWithStreamingResponse
Expand Down Expand Up @@ -849,6 +881,12 @@ def profiles(self) -> profiles.AsyncProfilesResourceWithStreamingResponse:

return AsyncProfilesResourceWithStreamingResponse(self._client.profiles)

@cached_property
def auth(self) -> auth.AsyncAuthResourceWithStreamingResponse:
from .resources.auth import AsyncAuthResourceWithStreamingResponse

return AsyncAuthResourceWithStreamingResponse(self._client.auth)

@cached_property
def proxies(self) -> proxies.AsyncProxiesResourceWithStreamingResponse:
from .resources.proxies import AsyncProxiesResourceWithStreamingResponse
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.31.0" # x-release-please-version
__version__ = "0.31.1" # 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 @@ -8,6 +8,14 @@
AppsResourceWithStreamingResponse,
AsyncAppsResourceWithStreamingResponse,
)
from .auth import (
AuthResource,
AsyncAuthResource,
AuthResourceWithRawResponse,
AsyncAuthResourceWithRawResponse,
AuthResourceWithStreamingResponse,
AsyncAuthResourceWithStreamingResponse,
)
from .agents import (
AgentsResource,
AsyncAgentsResource,
Expand Down Expand Up @@ -120,6 +128,12 @@
"AsyncProfilesResourceWithRawResponse",
"ProfilesResourceWithStreamingResponse",
"AsyncProfilesResourceWithStreamingResponse",
"AuthResource",
"AsyncAuthResource",
"AuthResourceWithRawResponse",
"AsyncAuthResourceWithRawResponse",
"AuthResourceWithStreamingResponse",
"AsyncAuthResourceWithStreamingResponse",
"ProxiesResource",
"AsyncProxiesResource",
"ProxiesResourceWithRawResponse",
Expand Down
Loading