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.95.0"
".": "0.96.0"
}
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [0.96.0](https://github.com/kernel/kernel-python-sdk/compare/v0.95.0...v0.96.0) (2026-08-27)


### Features

* Rename the site configs API to config registry ([114c986](https://github.com/kernel/kernel-python-sdk/commit/114c986f0d771049ec09741c65e0be317c98f718))

## [0.95.0](https://github.com/kernel/kernel-python-sdk/compare/v0.94.0...v0.95.0) (2026-08-26)


Expand Down
19 changes: 12 additions & 7 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Methods:
- <code title="get /invocations/{id}/events">client.invocations.<a href="./src/kernel/resources/invocations.py">follow</a>(id, \*\*<a href="src/kernel/types/invocation_follow_params.py">params</a>) -> <a href="./src/kernel/types/invocation_follow_response.py">InvocationFollowResponse</a></code>
- <code title="get /invocations/{id}/browsers">client.invocations.<a href="./src/kernel/resources/invocations.py">list_browsers</a>(id) -> <a href="./src/kernel/types/invocation_list_browsers_response.py">InvocationListBrowsersResponse</a></code>

# SiteConfigs
# ConfigRegistry

Types:

Expand All @@ -83,6 +83,7 @@ from kernel.types import (
Analysis,
AnalysisSummary,
Browser,
ConfigRegistryResponse,
Evidence,
LookupRequest,
LookupResponse,
Expand All @@ -92,18 +93,22 @@ from kernel.types import (
RecommendationResult,
RecommendationSummary,
ResolveRequest,
SiteConfigResponse,
Target,
)
```

Methods:

- <code title="get /site-configs/{id}">client.site_configs.<a href="./src/kernel/resources/site_configs.py">retrieve</a>(id) -> <a href="./src/kernel/types/site_config_response.py">SiteConfigResponse</a></code>
- <code title="get /site-configs">client.site_configs.<a href="./src/kernel/resources/site_configs.py">list</a>(\*\*<a href="src/kernel/types/site_config_list_params.py">params</a>) -> <a href="./src/kernel/types/analysis_summary.py">SyncOffsetPagination[AnalysisSummary]</a></code>
- <code title="get /site-configs/recommendations">client.site_configs.<a href="./src/kernel/resources/site_configs.py">list_recommendations</a>(\*\*<a href="src/kernel/types/site_config_list_recommendations_params.py">params</a>) -> <a href="./src/kernel/types/recommendation_summary.py">SyncOffsetPagination[RecommendationSummary]</a></code>
- <code title="post /site-configs/lookup">client.site_configs.<a href="./src/kernel/resources/site_configs.py">lookup</a>(\*\*<a href="src/kernel/types/site_config_lookup_params.py">params</a>) -> <a href="./src/kernel/types/lookup_response.py">LookupResponse</a></code>
- <code title="post /site-configs/resolve">client.site_configs.<a href="./src/kernel/resources/site_configs.py">resolve</a>(\*\*<a href="src/kernel/types/site_config_resolve_params.py">params</a>) -> <a href="./src/kernel/types/site_config_response.py">SiteConfigResponse</a></code>
- <code title="get /config-registry">client.config_registry.<a href="./src/kernel/resources/config_registry/config_registry.py">list</a>(\*\*<a href="src/kernel/types/config_registry_list_params.py">params</a>) -> <a href="./src/kernel/types/recommendation_summary.py">SyncOffsetPagination[RecommendationSummary]</a></code>
- <code title="post /config-registry/lookup">client.config_registry.<a href="./src/kernel/resources/config_registry/config_registry.py">lookup</a>(\*\*<a href="src/kernel/types/config_registry_lookup_params.py">params</a>) -> <a href="./src/kernel/types/lookup_response.py">LookupResponse</a></code>
- <code title="post /config-registry/resolve">client.config_registry.<a href="./src/kernel/resources/config_registry/config_registry.py">resolve</a>(\*\*<a href="src/kernel/types/config_registry_resolve_params.py">params</a>) -> <a href="./src/kernel/types/config_registry_response.py">ConfigRegistryResponse</a></code>

## Analyses

Methods:

- <code title="get /config-registry/analyses/{id}">client.config_registry.analyses.<a href="./src/kernel/resources/config_registry/analyses.py">retrieve</a>(id) -> <a href="./src/kernel/types/config_registry_response.py">ConfigRegistryResponse</a></code>
- <code title="get /config-registry/analyses">client.config_registry.analyses.<a href="./src/kernel/resources/config_registry/analyses.py">list</a>(\*\*<a href="src/kernel/types/config_registry/analysis_list_params.py">params</a>) -> <a href="./src/kernel/types/analysis_summary.py">SyncOffsetPagination[AnalysisSummary]</a></code>

# Browsers

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.95.0"
version = "0.96.0"
description = "The official Python library for the kernel API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
40 changes: 20 additions & 20 deletions src/kernel/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@
deployments,
invocations,
organization,
site_configs,
browser_pools,
config_registry,
credential_providers,
)
from .resources.apps import AppsResource, AsyncAppsResource
Expand All @@ -75,14 +75,14 @@
from .resources.credentials import CredentialsResource, AsyncCredentialsResource
from .resources.deployments import DeploymentsResource, AsyncDeploymentsResource
from .resources.invocations import InvocationsResource, AsyncInvocationsResource
from .resources.site_configs import SiteConfigsResource, AsyncSiteConfigsResource
from .resources.browser_pools import BrowserPoolsResource, AsyncBrowserPoolsResource
from .resources.browsers.browsers import BrowsersResource, AsyncBrowsersResource
from .resources.projects.projects import ProjectsResource, AsyncProjectsResource
from .resources.telemetry.telemetry import TelemetryResource, AsyncTelemetryResource
from .resources.credential_providers import CredentialProvidersResource, AsyncCredentialProvidersResource
from .resources.audit_logs.audit_logs import AuditLogsResource, AsyncAuditLogsResource
from .resources.organization.organization import OrganizationResource, AsyncOrganizationResource
from .resources.config_registry.config_registry import ConfigRegistryResource, AsyncConfigRegistryResource

__all__ = [
"ENVIRONMENTS",
Expand Down Expand Up @@ -226,11 +226,11 @@ def invocations(self) -> InvocationsResource:
return InvocationsResource(self)

@cached_property
def site_configs(self) -> SiteConfigsResource:
def config_registry(self) -> ConfigRegistryResource:
"""Resolve browser and proxy recommendations for bot-protected sites."""
from .resources.site_configs import SiteConfigsResource
from .resources.config_registry import ConfigRegistryResource

return SiteConfigsResource(self)
return ConfigRegistryResource(self)

@cached_property
def browsers(self) -> BrowsersResource:
Expand Down Expand Up @@ -609,11 +609,11 @@ def invocations(self) -> AsyncInvocationsResource:
return AsyncInvocationsResource(self)

@cached_property
def site_configs(self) -> AsyncSiteConfigsResource:
def config_registry(self) -> AsyncConfigRegistryResource:
"""Resolve browser and proxy recommendations for bot-protected sites."""
from .resources.site_configs import AsyncSiteConfigsResource
from .resources.config_registry import AsyncConfigRegistryResource

return AsyncSiteConfigsResource(self)
return AsyncConfigRegistryResource(self)

@cached_property
def browsers(self) -> AsyncBrowsersResource:
Expand Down Expand Up @@ -896,11 +896,11 @@ def invocations(self) -> invocations.InvocationsResourceWithRawResponse:
return InvocationsResourceWithRawResponse(self._client.invocations)

@cached_property
def site_configs(self) -> site_configs.SiteConfigsResourceWithRawResponse:
def config_registry(self) -> config_registry.ConfigRegistryResourceWithRawResponse:
"""Resolve browser and proxy recommendations for bot-protected sites."""
from .resources.site_configs import SiteConfigsResourceWithRawResponse
from .resources.config_registry import ConfigRegistryResourceWithRawResponse

return SiteConfigsResourceWithRawResponse(self._client.site_configs)
return ConfigRegistryResourceWithRawResponse(self._client.config_registry)

@cached_property
def browsers(self) -> browsers.BrowsersResourceWithRawResponse:
Expand Down Expand Up @@ -1023,11 +1023,11 @@ def invocations(self) -> invocations.AsyncInvocationsResourceWithRawResponse:
return AsyncInvocationsResourceWithRawResponse(self._client.invocations)

@cached_property
def site_configs(self) -> site_configs.AsyncSiteConfigsResourceWithRawResponse:
def config_registry(self) -> config_registry.AsyncConfigRegistryResourceWithRawResponse:
"""Resolve browser and proxy recommendations for bot-protected sites."""
from .resources.site_configs import AsyncSiteConfigsResourceWithRawResponse
from .resources.config_registry import AsyncConfigRegistryResourceWithRawResponse

return AsyncSiteConfigsResourceWithRawResponse(self._client.site_configs)
return AsyncConfigRegistryResourceWithRawResponse(self._client.config_registry)

@cached_property
def browsers(self) -> browsers.AsyncBrowsersResourceWithRawResponse:
Expand Down Expand Up @@ -1150,11 +1150,11 @@ def invocations(self) -> invocations.InvocationsResourceWithStreamingResponse:
return InvocationsResourceWithStreamingResponse(self._client.invocations)

@cached_property
def site_configs(self) -> site_configs.SiteConfigsResourceWithStreamingResponse:
def config_registry(self) -> config_registry.ConfigRegistryResourceWithStreamingResponse:
"""Resolve browser and proxy recommendations for bot-protected sites."""
from .resources.site_configs import SiteConfigsResourceWithStreamingResponse
from .resources.config_registry import ConfigRegistryResourceWithStreamingResponse

return SiteConfigsResourceWithStreamingResponse(self._client.site_configs)
return ConfigRegistryResourceWithStreamingResponse(self._client.config_registry)

@cached_property
def browsers(self) -> browsers.BrowsersResourceWithStreamingResponse:
Expand Down Expand Up @@ -1277,11 +1277,11 @@ def invocations(self) -> invocations.AsyncInvocationsResourceWithStreamingRespon
return AsyncInvocationsResourceWithStreamingResponse(self._client.invocations)

@cached_property
def site_configs(self) -> site_configs.AsyncSiteConfigsResourceWithStreamingResponse:
def config_registry(self) -> config_registry.AsyncConfigRegistryResourceWithStreamingResponse:
"""Resolve browser and proxy recommendations for bot-protected sites."""
from .resources.site_configs import AsyncSiteConfigsResourceWithStreamingResponse
from .resources.config_registry import AsyncConfigRegistryResourceWithStreamingResponse

return AsyncSiteConfigsResourceWithStreamingResponse(self._client.site_configs)
return AsyncConfigRegistryResourceWithStreamingResponse(self._client.config_registry)

@cached_property
def browsers(self) -> browsers.AsyncBrowsersResourceWithStreamingResponse:
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.95.0" # x-release-please-version
__version__ = "0.96.0" # x-release-please-version
28 changes: 14 additions & 14 deletions src/kernel/resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,6 @@
OrganizationResourceWithStreamingResponse,
AsyncOrganizationResourceWithStreamingResponse,
)
from .site_configs import (
SiteConfigsResource,
AsyncSiteConfigsResource,
SiteConfigsResourceWithRawResponse,
AsyncSiteConfigsResourceWithRawResponse,
SiteConfigsResourceWithStreamingResponse,
AsyncSiteConfigsResourceWithStreamingResponse,
)
from .browser_pools import (
BrowserPoolsResource,
AsyncBrowserPoolsResource,
Expand All @@ -128,6 +120,14 @@
BrowserPoolsResourceWithStreamingResponse,
AsyncBrowserPoolsResourceWithStreamingResponse,
)
from .config_registry import (
ConfigRegistryResource,
AsyncConfigRegistryResource,
ConfigRegistryResourceWithRawResponse,
AsyncConfigRegistryResourceWithRawResponse,
ConfigRegistryResourceWithStreamingResponse,
AsyncConfigRegistryResourceWithStreamingResponse,
)
from .credential_providers import (
CredentialProvidersResource,
AsyncCredentialProvidersResource,
Expand Down Expand Up @@ -156,12 +156,12 @@
"AsyncInvocationsResourceWithRawResponse",
"InvocationsResourceWithStreamingResponse",
"AsyncInvocationsResourceWithStreamingResponse",
"SiteConfigsResource",
"AsyncSiteConfigsResource",
"SiteConfigsResourceWithRawResponse",
"AsyncSiteConfigsResourceWithRawResponse",
"SiteConfigsResourceWithStreamingResponse",
"AsyncSiteConfigsResourceWithStreamingResponse",
"ConfigRegistryResource",
"AsyncConfigRegistryResource",
"ConfigRegistryResourceWithRawResponse",
"AsyncConfigRegistryResourceWithRawResponse",
"ConfigRegistryResourceWithStreamingResponse",
"AsyncConfigRegistryResourceWithStreamingResponse",
"BrowsersResource",
"AsyncBrowsersResource",
"BrowsersResourceWithRawResponse",
Expand Down
33 changes: 33 additions & 0 deletions src/kernel/resources/config_registry/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .analyses import (
AnalysesResource,
AsyncAnalysesResource,
AnalysesResourceWithRawResponse,
AsyncAnalysesResourceWithRawResponse,
AnalysesResourceWithStreamingResponse,
AsyncAnalysesResourceWithStreamingResponse,
)
from .config_registry import (
ConfigRegistryResource,
AsyncConfigRegistryResource,
ConfigRegistryResourceWithRawResponse,
AsyncConfigRegistryResourceWithRawResponse,
ConfigRegistryResourceWithStreamingResponse,
AsyncConfigRegistryResourceWithStreamingResponse,
)

__all__ = [
"AnalysesResource",
"AsyncAnalysesResource",
"AnalysesResourceWithRawResponse",
"AsyncAnalysesResourceWithRawResponse",
"AnalysesResourceWithStreamingResponse",
"AsyncAnalysesResourceWithStreamingResponse",
"ConfigRegistryResource",
"AsyncConfigRegistryResource",
"ConfigRegistryResourceWithRawResponse",
"AsyncConfigRegistryResourceWithRawResponse",
"ConfigRegistryResourceWithStreamingResponse",
"AsyncConfigRegistryResourceWithStreamingResponse",
]
Loading
Loading