Skip to content

Commit a382570

Browse files
feat(api): update via SDK Studio
1 parent 49143bd commit a382570

34 files changed

+1715
-1222
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 4
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-07d481d1498bf9677437b555e9ec2d843d50107faa7501e4c430a32b1f3c3343.yml
3-
openapi_spec_hash: 296f78d82afbac95fad12c5eabd71f18
4-
config_hash: 2c8351ba6611ce4a352e248405783846
1+
configured_endpoints: 5
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-f40e779e2a48f5e37361f2f4a9879e5c40f2851b8033c23db69ec7b91242bf69.yml
3+
openapi_spec_hash: 2dfa146149e61363f1ec40bf9251eb7c
4+
config_hash: 2ddaa85513b6670889b1a56c905423c7

README.md

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ client = Kernel(
3333
environment="development",
3434
)
3535

36-
response = client.apps.deploy(
37-
entrypoint_rel_path="app.py",
36+
deployment = client.apps.deployments.create(
37+
entrypoint_rel_path="main.ts",
3838
file=b"REPLACE_ME",
39-
version="REPLACE_ME",
39+
version="1.0.0",
4040
)
41-
print(response.apps)
41+
print(deployment.apps)
4242
```
4343

4444
While you can provide an `api_key` keyword argument,
@@ -63,12 +63,12 @@ client = AsyncKernel(
6363

6464

6565
async def main() -> None:
66-
response = await client.apps.deploy(
67-
entrypoint_rel_path="app.py",
66+
deployment = await client.apps.deployments.create(
67+
entrypoint_rel_path="main.ts",
6868
file=b"REPLACE_ME",
69-
version="REPLACE_ME",
69+
version="1.0.0",
7070
)
71-
print(response.apps)
71+
print(deployment.apps)
7272

7373

7474
asyncio.run(main())
@@ -95,8 +95,8 @@ from kernel import Kernel
9595

9696
client = Kernel()
9797

98-
client.apps.deploy(
99-
entrypoint_rel_path="app.py",
98+
client.apps.deployments.create(
99+
entrypoint_rel_path="src/app.py",
100100
file=Path("/path/to/file"),
101101
)
102102
```
@@ -119,10 +119,8 @@ from kernel import Kernel
119119
client = Kernel()
120120

121121
try:
122-
client.apps.deploy(
123-
entrypoint_rel_path="app.py",
124-
file=b"REPLACE_ME",
125-
version="REPLACE_ME",
122+
client.browsers.create(
123+
invocation_id="REPLACE_ME",
126124
)
127125
except kernel.APIConnectionError as e:
128126
print("The server could not be reached")
@@ -166,10 +164,8 @@ client = Kernel(
166164
)
167165

168166
# Or, configure per-request:
169-
client.with_options(max_retries=5).apps.deploy(
170-
entrypoint_rel_path="app.py",
171-
file=b"REPLACE_ME",
172-
version="REPLACE_ME",
167+
client.with_options(max_retries=5).browsers.create(
168+
invocation_id="REPLACE_ME",
173169
)
174170
```
175171

@@ -193,10 +189,8 @@ client = Kernel(
193189
)
194190

195191
# Override per-request:
196-
client.with_options(timeout=5.0).apps.deploy(
197-
entrypoint_rel_path="app.py",
198-
file=b"REPLACE_ME",
199-
version="REPLACE_ME",
192+
client.with_options(timeout=5.0).browsers.create(
193+
invocation_id="REPLACE_ME",
200194
)
201195
```
202196

@@ -238,15 +232,13 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
238232
from kernel import Kernel
239233

240234
client = Kernel()
241-
response = client.apps.with_raw_response.deploy(
242-
entrypoint_rel_path="app.py",
243-
file=b"REPLACE_ME",
244-
version="REPLACE_ME",
235+
response = client.browsers.with_raw_response.create(
236+
invocation_id="REPLACE_ME",
245237
)
246238
print(response.headers.get('X-My-Header'))
247239

248-
app = response.parse() # get the object that `apps.deploy()` would have returned
249-
print(app.apps)
240+
browser = response.parse() # get the object that `browsers.create()` would have returned
241+
print(browser.session_id)
250242
```
251243

252244
These methods return an [`APIResponse`](https://github.com/onkernel/kernel-python-sdk/tree/main/src/kernel/_response.py) object.
@@ -260,10 +252,8 @@ The above interface eagerly reads the full response body when you make the reque
260252
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
261253

262254
```python
263-
with client.apps.with_streaming_response.deploy(
264-
entrypoint_rel_path="app.py",
265-
file=b"REPLACE_ME",
266-
version="REPLACE_ME",
255+
with client.browsers.with_streaming_response.create(
256+
invocation_id="REPLACE_ME",
267257
) as response:
268258
print(response.headers.get("X-My-Header"))
269259

api.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,39 @@
11
# Apps
22

3+
## Deployments
4+
5+
Types:
6+
7+
```python
8+
from kernel.types.apps import DeploymentCreateResponse
9+
```
10+
11+
Methods:
12+
13+
- <code title="post /deploy">client.apps.deployments.<a href="./src/kernel/resources/apps/deployments.py">create</a>(\*\*<a href="src/kernel/types/apps/deployment_create_params.py">params</a>) -> <a href="./src/kernel/types/apps/deployment_create_response.py">DeploymentCreateResponse</a></code>
14+
15+
## Invocations
16+
317
Types:
418

519
```python
6-
from kernel.types import AppDeployResponse, AppInvokeResponse, AppRetrieveInvocationResponse
20+
from kernel.types.apps import InvocationCreateResponse, InvocationRetrieveResponse
721
```
822

923
Methods:
1024

11-
- <code title="post /apps/deploy">client.apps.<a href="./src/kernel/resources/apps.py">deploy</a>(\*\*<a href="src/kernel/types/app_deploy_params.py">params</a>) -> <a href="./src/kernel/types/app_deploy_response.py">AppDeployResponse</a></code>
12-
- <code title="post /apps/invoke">client.apps.<a href="./src/kernel/resources/apps.py">invoke</a>(\*\*<a href="src/kernel/types/app_invoke_params.py">params</a>) -> <a href="./src/kernel/types/app_invoke_response.py">AppInvokeResponse</a></code>
13-
- <code title="get /apps/invocations/{id}">client.apps.<a href="./src/kernel/resources/apps.py">retrieve_invocation</a>(id) -> <a href="./src/kernel/types/app_retrieve_invocation_response.py">AppRetrieveInvocationResponse</a></code>
25+
- <code title="post /invocations">client.apps.invocations.<a href="./src/kernel/resources/apps/invocations.py">create</a>(\*\*<a href="src/kernel/types/apps/invocation_create_params.py">params</a>) -> <a href="./src/kernel/types/apps/invocation_create_response.py">InvocationCreateResponse</a></code>
26+
- <code title="get /invocations/{id}">client.apps.invocations.<a href="./src/kernel/resources/apps/invocations.py">retrieve</a>(id) -> <a href="./src/kernel/types/apps/invocation_retrieve_response.py">InvocationRetrieveResponse</a></code>
1427

15-
# Browser
28+
# Browsers
1629

1730
Types:
1831

1932
```python
20-
from kernel.types import BrowserCreateSessionResponse
33+
from kernel.types import BrowserCreateResponse, BrowserRetrieveResponse
2134
```
2235

2336
Methods:
2437

25-
- <code title="post /browser">client.browser.<a href="./src/kernel/resources/browser.py">create_session</a>(\*\*<a href="src/kernel/types/browser_create_session_params.py">params</a>) -> <a href="./src/kernel/types/browser_create_session_response.py">BrowserCreateSessionResponse</a></code>
38+
- <code title="post /browsers">client.browsers.<a href="./src/kernel/resources/browsers.py">create</a>(\*\*<a href="src/kernel/types/browser_create_params.py">params</a>) -> <a href="./src/kernel/types/browser_create_response.py">BrowserCreateResponse</a></code>
39+
- <code title="get /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers.py">retrieve</a>(id) -> <a href="./src/kernel/types/browser_retrieve_response.py">BrowserRetrieveResponse</a></code>

src/kernel/_client.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,15 @@
2121
)
2222
from ._utils import is_given, get_async_library
2323
from ._version import __version__
24-
from .resources import apps, browser
24+
from .resources import browsers
2525
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
2626
from ._exceptions import KernelError, APIStatusError
2727
from ._base_client import (
2828
DEFAULT_MAX_RETRIES,
2929
SyncAPIClient,
3030
AsyncAPIClient,
3131
)
32+
from .resources.apps import apps
3233

3334
__all__ = [
3435
"ENVIRONMENTS",
@@ -50,7 +51,7 @@
5051

5152
class Kernel(SyncAPIClient):
5253
apps: apps.AppsResource
53-
browser: browser.BrowserResource
54+
browsers: browsers.BrowsersResource
5455
with_raw_response: KernelWithRawResponse
5556
with_streaming_response: KernelWithStreamedResponse
5657

@@ -133,7 +134,7 @@ def __init__(
133134
)
134135

135136
self.apps = apps.AppsResource(self)
136-
self.browser = browser.BrowserResource(self)
137+
self.browsers = browsers.BrowsersResource(self)
137138
self.with_raw_response = KernelWithRawResponse(self)
138139
self.with_streaming_response = KernelWithStreamedResponse(self)
139140

@@ -246,7 +247,7 @@ def _make_status_error(
246247

247248
class AsyncKernel(AsyncAPIClient):
248249
apps: apps.AsyncAppsResource
249-
browser: browser.AsyncBrowserResource
250+
browsers: browsers.AsyncBrowsersResource
250251
with_raw_response: AsyncKernelWithRawResponse
251252
with_streaming_response: AsyncKernelWithStreamedResponse
252253

@@ -329,7 +330,7 @@ def __init__(
329330
)
330331

331332
self.apps = apps.AsyncAppsResource(self)
332-
self.browser = browser.AsyncBrowserResource(self)
333+
self.browsers = browsers.AsyncBrowsersResource(self)
333334
self.with_raw_response = AsyncKernelWithRawResponse(self)
334335
self.with_streaming_response = AsyncKernelWithStreamedResponse(self)
335336

@@ -443,25 +444,25 @@ def _make_status_error(
443444
class KernelWithRawResponse:
444445
def __init__(self, client: Kernel) -> None:
445446
self.apps = apps.AppsResourceWithRawResponse(client.apps)
446-
self.browser = browser.BrowserResourceWithRawResponse(client.browser)
447+
self.browsers = browsers.BrowsersResourceWithRawResponse(client.browsers)
447448

448449

449450
class AsyncKernelWithRawResponse:
450451
def __init__(self, client: AsyncKernel) -> None:
451452
self.apps = apps.AsyncAppsResourceWithRawResponse(client.apps)
452-
self.browser = browser.AsyncBrowserResourceWithRawResponse(client.browser)
453+
self.browsers = browsers.AsyncBrowsersResourceWithRawResponse(client.browsers)
453454

454455

455456
class KernelWithStreamedResponse:
456457
def __init__(self, client: Kernel) -> None:
457458
self.apps = apps.AppsResourceWithStreamingResponse(client.apps)
458-
self.browser = browser.BrowserResourceWithStreamingResponse(client.browser)
459+
self.browsers = browsers.BrowsersResourceWithStreamingResponse(client.browsers)
459460

460461

461462
class AsyncKernelWithStreamedResponse:
462463
def __init__(self, client: AsyncKernel) -> None:
463464
self.apps = apps.AsyncAppsResourceWithStreamingResponse(client.apps)
464-
self.browser = browser.AsyncBrowserResourceWithStreamingResponse(client.browser)
465+
self.browsers = browsers.AsyncBrowsersResourceWithStreamingResponse(client.browsers)
465466

466467

467468
Client = Kernel

src/kernel/resources/__init__.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
AppsResourceWithStreamingResponse,
99
AsyncAppsResourceWithStreamingResponse,
1010
)
11-
from .browser import (
12-
BrowserResource,
13-
AsyncBrowserResource,
14-
BrowserResourceWithRawResponse,
15-
AsyncBrowserResourceWithRawResponse,
16-
BrowserResourceWithStreamingResponse,
17-
AsyncBrowserResourceWithStreamingResponse,
11+
from .browsers import (
12+
BrowsersResource,
13+
AsyncBrowsersResource,
14+
BrowsersResourceWithRawResponse,
15+
AsyncBrowsersResourceWithRawResponse,
16+
BrowsersResourceWithStreamingResponse,
17+
AsyncBrowsersResourceWithStreamingResponse,
1818
)
1919

2020
__all__ = [
@@ -24,10 +24,10 @@
2424
"AsyncAppsResourceWithRawResponse",
2525
"AppsResourceWithStreamingResponse",
2626
"AsyncAppsResourceWithStreamingResponse",
27-
"BrowserResource",
28-
"AsyncBrowserResource",
29-
"BrowserResourceWithRawResponse",
30-
"AsyncBrowserResourceWithRawResponse",
31-
"BrowserResourceWithStreamingResponse",
32-
"AsyncBrowserResourceWithStreamingResponse",
27+
"BrowsersResource",
28+
"AsyncBrowsersResource",
29+
"BrowsersResourceWithRawResponse",
30+
"AsyncBrowsersResourceWithRawResponse",
31+
"BrowsersResourceWithStreamingResponse",
32+
"AsyncBrowsersResourceWithStreamingResponse",
3333
]

0 commit comments

Comments
 (0)