Skip to content

Commit a635a7b

Browse files
feat: GPU pools
1 parent 3ce8ead commit a635a7b

File tree

10 files changed

+38
-2
lines changed

10 files changed

+38
-2
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 100
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2b77b2efd4d25aaa264cbd6fcb0e43f82d14ce5a4bd6fb1e3859be440868685a.yml
3-
openapi_spec_hash: 299be31ecb4a96dcd54d4d902a716e68
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-a0f1d08e6f62a74de2aac5c25e592494abdd59f2cfca2842c5810927554faee0.yml
3+
openapi_spec_hash: ebd8bf67b7bb371cf4b4fa68b967cab5
44
config_hash: 27c0ea01aeb797a1767af139851c5b66

src/kernel/resources/browsers/browsers.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ def create(
136136
self,
137137
*,
138138
extensions: Iterable[BrowserExtension] | Omit = omit,
139+
gpu: bool | Omit = omit,
139140
headless: bool | Omit = omit,
140141
invocation_id: str | Omit = omit,
141142
kiosk_mode: bool | Omit = omit,
@@ -158,6 +159,9 @@ def create(
158159
Args:
159160
extensions: List of browser extensions to load into the session. Provide each by id or name.
160161
162+
gpu: If true, launches a hardware-accelerated browser with GPU rendering. Requires
163+
Start-Up or Enterprise plan.
164+
161165
headless: If true, launches the browser using a headless image (no VNC/GUI). Defaults to
162166
false.
163167
@@ -206,6 +210,7 @@ def create(
206210
body=maybe_transform(
207211
{
208212
"extensions": extensions,
213+
"gpu": gpu,
209214
"headless": headless,
210215
"invocation_id": invocation_id,
211216
"kiosk_mode": kiosk_mode,
@@ -547,6 +552,7 @@ async def create(
547552
self,
548553
*,
549554
extensions: Iterable[BrowserExtension] | Omit = omit,
555+
gpu: bool | Omit = omit,
550556
headless: bool | Omit = omit,
551557
invocation_id: str | Omit = omit,
552558
kiosk_mode: bool | Omit = omit,
@@ -569,6 +575,9 @@ async def create(
569575
Args:
570576
extensions: List of browser extensions to load into the session. Provide each by id or name.
571577
578+
gpu: If true, launches a hardware-accelerated browser with GPU rendering. Requires
579+
Start-Up or Enterprise plan.
580+
572581
headless: If true, launches the browser using a headless image (no VNC/GUI). Defaults to
573582
false.
574583
@@ -617,6 +626,7 @@ async def create(
617626
body=await async_maybe_transform(
618627
{
619628
"extensions": extensions,
629+
"gpu": gpu,
620630
"headless": headless,
621631
"invocation_id": invocation_id,
622632
"kiosk_mode": kiosk_mode,

src/kernel/types/browser_create_params.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ class BrowserCreateParams(TypedDict, total=False):
2020
Provide each by id or name.
2121
"""
2222

23+
gpu: bool
24+
"""If true, launches a hardware-accelerated browser with GPU rendering.
25+
26+
Requires Start-Up or Enterprise plan.
27+
"""
28+
2329
headless: bool
2430
"""If true, launches the browser using a headless image (no VNC/GUI).
2531

src/kernel/types/browser_create_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class BrowserCreateResponse(BaseModel):
3939
deleted_at: Optional[datetime] = None
4040
"""When the browser session was soft-deleted. Only present for deleted sessions."""
4141

42+
gpu: Optional[bool] = None
43+
"""Whether the browser session has hardware-accelerated GPU rendering."""
44+
4245
kiosk_mode: Optional[bool] = None
4346
"""Whether the browser session is running in kiosk mode."""
4447

src/kernel/types/browser_list_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class BrowserListResponse(BaseModel):
3939
deleted_at: Optional[datetime] = None
4040
"""When the browser session was soft-deleted. Only present for deleted sessions."""
4141

42+
gpu: Optional[bool] = None
43+
"""Whether the browser session has hardware-accelerated GPU rendering."""
44+
4245
kiosk_mode: Optional[bool] = None
4346
"""Whether the browser session is running in kiosk mode."""
4447

src/kernel/types/browser_pool_acquire_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class BrowserPoolAcquireResponse(BaseModel):
3939
deleted_at: Optional[datetime] = None
4040
"""When the browser session was soft-deleted. Only present for deleted sessions."""
4141

42+
gpu: Optional[bool] = None
43+
"""Whether the browser session has hardware-accelerated GPU rendering."""
44+
4245
kiosk_mode: Optional[bool] = None
4346
"""Whether the browser session is running in kiosk mode."""
4447

src/kernel/types/browser_retrieve_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class BrowserRetrieveResponse(BaseModel):
3939
deleted_at: Optional[datetime] = None
4040
"""When the browser session was soft-deleted. Only present for deleted sessions."""
4141

42+
gpu: Optional[bool] = None
43+
"""Whether the browser session has hardware-accelerated GPU rendering."""
44+
4245
kiosk_mode: Optional[bool] = None
4346
"""Whether the browser session is running in kiosk mode."""
4447

src/kernel/types/browser_update_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class BrowserUpdateResponse(BaseModel):
3939
deleted_at: Optional[datetime] = None
4040
"""When the browser session was soft-deleted. Only present for deleted sessions."""
4141

42+
gpu: Optional[bool] = None
43+
"""Whether the browser session has hardware-accelerated GPU rendering."""
44+
4245
kiosk_mode: Optional[bool] = None
4346
"""Whether the browser session is running in kiosk mode."""
4447

src/kernel/types/invocation_list_browsers_response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class Browser(BaseModel):
3939
deleted_at: Optional[datetime] = None
4040
"""When the browser session was soft-deleted. Only present for deleted sessions."""
4141

42+
gpu: Optional[bool] = None
43+
"""Whether the browser session has hardware-accelerated GPU rendering."""
44+
4245
kiosk_mode: Optional[bool] = None
4346
"""Whether the browser session is running in kiosk mode."""
4447

tests/api_resources/test_browsers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def test_method_create_with_all_params(self, client: Kernel) -> None:
4141
"name": "name",
4242
}
4343
],
44+
gpu=False,
4445
headless=False,
4546
invocation_id="rr33xuugxj9h0bkf1rdt2bet",
4647
kiosk_mode=True,
@@ -402,6 +403,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncKernel) ->
402403
"name": "name",
403404
}
404405
],
406+
gpu=False,
405407
headless=False,
406408
invocation_id="rr33xuugxj9h0bkf1rdt2bet",
407409
kiosk_mode=True,

0 commit comments

Comments
 (0)