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.15.0"
".": "0.16.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: 64
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e21f0324774a1762bc2bba0da3a8a6b0d0e74720d7a1c83dec813f9e027fcf58.yml
openapi_spec_hash: f1b636abfd6cb8e7c2ba7ffb8e53b9ba
config_hash: 09a2df23048cb16689c9a390d9e5bc47
configured_endpoints: 65
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-ecf484375ede1edd7754779ad8beeebd4ba9118152fe6cd65772dc7245a19dee.yml
openapi_spec_hash: b1f3f05005f75cbf5b82299459e2aa9b
config_hash: 3ded7a0ed77b1bfd68eabc6763521fe8
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.16.0 (2025-10-27)

Full Changelog: [v0.15.0...v0.16.0](https://github.com/onkernel/kernel-python-sdk/compare/v0.15.0...v0.16.0)

### Features

* ad hoc playwright code exec AP| ([4204ad5](https://github.com/onkernel/kernel-python-sdk/commit/4204ad587838ec90c3b54ca2eaf7d768da570a29))


### Chores

* bump `httpx-aiohttp` version to 0.1.9 ([1130759](https://github.com/onkernel/kernel-python-sdk/commit/1130759ebc7eb511d8788332b59e84d0819f9715))

## 0.15.0 (2025-10-17)

Full Changelog: [v0.14.2...v0.15.0](https://github.com/onkernel/kernel-python-sdk/compare/v0.14.2...v0.15.0)
Expand Down
12 changes: 12 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,18 @@ Methods:
- <code title="post /browsers/{id}/computer/scroll">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">scroll</a>(id, \*\*<a href="src/kernel/types/browsers/computer_scroll_params.py">params</a>) -> None</code>
- <code title="post /browsers/{id}/computer/type">client.browsers.computer.<a href="./src/kernel/resources/browsers/computer.py">type_text</a>(id, \*\*<a href="src/kernel/types/browsers/computer_type_text_params.py">params</a>) -> None</code>

## Playwright

Types:

```python
from kernel.types.browsers import PlaywrightExecuteResponse
```

Methods:

- <code title="post /browsers/{id}/playwright/execute">client.browsers.playwright.<a href="./src/kernel/resources/browsers/playwright.py">execute</a>(id, \*\*<a href="src/kernel/types/browsers/playwright_execute_params.py">params</a>) -> <a href="./src/kernel/types/browsers/playwright_execute_response.py">PlaywrightExecuteResponse</a></code>

# Profiles

Types:
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 = "kernel"
version = "0.15.0"
version = "0.16.0"
description = "The official Python library for the kernel API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down Expand Up @@ -39,7 +39,7 @@ Homepage = "https://github.com/onkernel/kernel-python-sdk"
Repository = "https://github.com/onkernel/kernel-python-sdk"

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

[tool.rye]
managed = true
Expand Down
2 changes: 1 addition & 1 deletion requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ httpx==0.28.1
# via httpx-aiohttp
# via kernel
# via respx
httpx-aiohttp==0.1.8
httpx-aiohttp==0.1.9
# via kernel
idna==3.4
# via anyio
Expand Down
2 changes: 1 addition & 1 deletion requirements.lock
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ httpcore==1.0.9
httpx==0.28.1
# via httpx-aiohttp
# via kernel
httpx-aiohttp==0.1.8
httpx-aiohttp==0.1.9
# via kernel
idna==3.4
# via anyio
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.15.0" # x-release-please-version
__version__ = "0.16.0" # x-release-please-version
14 changes: 14 additions & 0 deletions src/kernel/resources/browsers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@
ComputerResourceWithStreamingResponse,
AsyncComputerResourceWithStreamingResponse,
)
from .playwright import (
PlaywrightResource,
AsyncPlaywrightResource,
PlaywrightResourceWithRawResponse,
AsyncPlaywrightResourceWithRawResponse,
PlaywrightResourceWithStreamingResponse,
AsyncPlaywrightResourceWithStreamingResponse,
)

__all__ = [
"ReplaysResource",
Expand Down Expand Up @@ -80,6 +88,12 @@
"AsyncComputerResourceWithRawResponse",
"ComputerResourceWithStreamingResponse",
"AsyncComputerResourceWithStreamingResponse",
"PlaywrightResource",
"AsyncPlaywrightResource",
"PlaywrightResourceWithRawResponse",
"AsyncPlaywrightResourceWithRawResponse",
"PlaywrightResourceWithStreamingResponse",
"AsyncPlaywrightResourceWithStreamingResponse",
"BrowsersResource",
"AsyncBrowsersResource",
"BrowsersResourceWithRawResponse",
Expand Down
32 changes: 32 additions & 0 deletions src/kernel/resources/browsers/browsers.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@
AsyncComputerResourceWithStreamingResponse,
)
from ..._compat import cached_property
from .playwright import (
PlaywrightResource,
AsyncPlaywrightResource,
PlaywrightResourceWithRawResponse,
AsyncPlaywrightResourceWithRawResponse,
PlaywrightResourceWithStreamingResponse,
AsyncPlaywrightResourceWithStreamingResponse,
)
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
to_raw_response_wrapper,
Expand Down Expand Up @@ -87,6 +95,10 @@ def logs(self) -> LogsResource:
def computer(self) -> ComputerResource:
return ComputerResource(self._client)

@cached_property
def playwright(self) -> PlaywrightResource:
return PlaywrightResource(self._client)

@cached_property
def with_raw_response(self) -> BrowsersResourceWithRawResponse:
"""
Expand Down Expand Up @@ -391,6 +403,10 @@ def logs(self) -> AsyncLogsResource:
def computer(self) -> AsyncComputerResource:
return AsyncComputerResource(self._client)

@cached_property
def playwright(self) -> AsyncPlaywrightResource:
return AsyncPlaywrightResource(self._client)

@cached_property
def with_raw_response(self) -> AsyncBrowsersResourceWithRawResponse:
"""
Expand Down Expand Up @@ -719,6 +735,10 @@ def logs(self) -> LogsResourceWithRawResponse:
def computer(self) -> ComputerResourceWithRawResponse:
return ComputerResourceWithRawResponse(self._browsers.computer)

@cached_property
def playwright(self) -> PlaywrightResourceWithRawResponse:
return PlaywrightResourceWithRawResponse(self._browsers.playwright)


class AsyncBrowsersResourceWithRawResponse:
def __init__(self, browsers: AsyncBrowsersResource) -> None:
Expand Down Expand Up @@ -763,6 +783,10 @@ def logs(self) -> AsyncLogsResourceWithRawResponse:
def computer(self) -> AsyncComputerResourceWithRawResponse:
return AsyncComputerResourceWithRawResponse(self._browsers.computer)

@cached_property
def playwright(self) -> AsyncPlaywrightResourceWithRawResponse:
return AsyncPlaywrightResourceWithRawResponse(self._browsers.playwright)


class BrowsersResourceWithStreamingResponse:
def __init__(self, browsers: BrowsersResource) -> None:
Expand Down Expand Up @@ -807,6 +831,10 @@ def logs(self) -> LogsResourceWithStreamingResponse:
def computer(self) -> ComputerResourceWithStreamingResponse:
return ComputerResourceWithStreamingResponse(self._browsers.computer)

@cached_property
def playwright(self) -> PlaywrightResourceWithStreamingResponse:
return PlaywrightResourceWithStreamingResponse(self._browsers.playwright)


class AsyncBrowsersResourceWithStreamingResponse:
def __init__(self, browsers: AsyncBrowsersResource) -> None:
Expand Down Expand Up @@ -850,3 +878,7 @@ def logs(self) -> AsyncLogsResourceWithStreamingResponse:
@cached_property
def computer(self) -> AsyncComputerResourceWithStreamingResponse:
return AsyncComputerResourceWithStreamingResponse(self._browsers.computer)

@cached_property
def playwright(self) -> AsyncPlaywrightResourceWithStreamingResponse:
return AsyncPlaywrightResourceWithStreamingResponse(self._browsers.playwright)
Loading