4040 devbox_write_file_contents_params ,
4141)
4242from ..._types import NOT_GIVEN , Body , Query , Headers , NotGiven , FileTypes
43- from ..._utils import is_given , extract_files , maybe_transform , deepcopy_minimal , async_maybe_transform
43+ from ..._utils import (
44+ is_given ,
45+ extract_files ,
46+ maybe_transform ,
47+ deepcopy_minimal ,
48+ async_maybe_transform ,
49+ )
4450from .browsers import (
4551 BrowsersResource ,
4652 AsyncBrowsersResource ,
@@ -309,7 +315,10 @@ def retrieve(
309315 return self ._get (
310316 f"/v1/devboxes/{ id } " ,
311317 options = make_request_options (
312- extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
318+ extra_headers = extra_headers ,
319+ extra_query = extra_query ,
320+ extra_body = extra_body ,
321+ timeout = timeout ,
313322 ),
314323 cast_to = DevboxView ,
315324 )
@@ -416,10 +425,17 @@ def handle_timeout_error(error: Exception) -> DevboxView:
416425 def is_done_booting (devbox : DevboxView ) -> bool :
417426 return devbox .status not in DEVBOX_BOOTING_STATES
418427
419- devbox = poll_until (wait_for_devbox_status , is_done_booting , polling_config , handle_timeout_error )
428+ devbox = poll_until (
429+ wait_for_devbox_status ,
430+ is_done_booting ,
431+ polling_config ,
432+ handle_timeout_error ,
433+ )
420434
421435 if devbox .status != "running" :
422- raise RunloopError (f"Devbox entered non-running terminal state: { devbox .status } " )
436+ raise RunloopError (
437+ f"Devbox entered non-running terminal state: { devbox .status } "
438+ )
423439
424440 return devbox
425441
@@ -520,10 +536,19 @@ def list(
520536 * ,
521537 limit : int | NotGiven = NOT_GIVEN ,
522538 starting_after : str | NotGiven = NOT_GIVEN ,
523- status : Literal [
524- "provisioning" , "initializing" , "running" , "suspending" , "suspended" , "resuming" , "failure" , "shutdown"
525- ]
526- | NotGiven = NOT_GIVEN ,
539+ status : (
540+ Literal [
541+ "provisioning" ,
542+ "initializing" ,
543+ "running" ,
544+ "suspending" ,
545+ "suspended" ,
546+ "resuming" ,
547+ "failure" ,
548+ "shutdown" ,
549+ ]
550+ | NotGiven
551+ ) = NOT_GIVEN ,
527552 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
528553 # The extra values given here take precedence over values defined on the client or passed to this method.
529554 extra_headers : Headers | None = None ,
@@ -642,7 +667,9 @@ def create_tunnel(
642667 raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
643668 return self ._post (
644669 f"/v1/devboxes/{ id } /create_tunnel" ,
645- body = maybe_transform ({"port" : port }, devbox_create_tunnel_params .DevboxCreateTunnelParams ),
670+ body = maybe_transform (
671+ {"port" : port }, devbox_create_tunnel_params .DevboxCreateTunnelParams
672+ ),
646673 options = make_request_options (
647674 extra_headers = extra_headers ,
648675 extra_query = extra_query ,
@@ -731,7 +758,9 @@ def download_file(
731758 extra_headers = {"Accept" : "application/octet-stream" , ** (extra_headers or {})}
732759 return self ._post (
733760 f"/v1/devboxes/{ id } /download_file" ,
734- body = maybe_transform ({"path" : path }, devbox_download_file_params .DevboxDownloadFileParams ),
761+ body = maybe_transform (
762+ {"path" : path }, devbox_download_file_params .DevboxDownloadFileParams
763+ ),
735764 options = make_request_options (
736765 extra_headers = extra_headers ,
737766 extra_query = extra_query ,
@@ -1005,7 +1034,8 @@ def read_file_contents(
10051034 return self ._post (
10061035 f"/v1/devboxes/{ id } /read_file_contents" ,
10071036 body = maybe_transform (
1008- {"file_path" : file_path }, devbox_read_file_contents_params .DevboxReadFileContentsParams
1037+ {"file_path" : file_path },
1038+ devbox_read_file_contents_params .DevboxReadFileContentsParams ,
10091039 ),
10101040 options = make_request_options (
10111041 extra_headers = extra_headers ,
@@ -1050,7 +1080,9 @@ def remove_tunnel(
10501080 raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
10511081 return self ._post (
10521082 f"/v1/devboxes/{ id } /remove_tunnel" ,
1053- body = maybe_transform ({"port" : port }, devbox_remove_tunnel_params .DevboxRemoveTunnelParams ),
1083+ body = maybe_transform (
1084+ {"port" : port }, devbox_remove_tunnel_params .DevboxRemoveTunnelParams
1085+ ),
10541086 options = make_request_options (
10551087 extra_headers = extra_headers ,
10561088 extra_query = extra_query ,
@@ -1351,7 +1383,9 @@ def upload_file(
13511383 extra_headers = {"Content-Type" : "multipart/form-data" , ** (extra_headers or {})}
13521384 return self ._post (
13531385 f"/v1/devboxes/{ id } /upload_file" ,
1354- body = maybe_transform (body , devbox_upload_file_params .DevboxUploadFileParams ),
1386+ body = maybe_transform (
1387+ body , devbox_upload_file_params .DevboxUploadFileParams
1388+ ),
13551389 files = files ,
13561390 options = make_request_options (
13571391 extra_headers = extra_headers ,
@@ -1604,7 +1638,10 @@ async def retrieve(
16041638 return await self ._get (
16051639 f"/v1/devboxes/{ id } " ,
16061640 options = make_request_options (
1607- extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
1641+ extra_headers = extra_headers ,
1642+ extra_query = extra_query ,
1643+ extra_body = extra_body ,
1644+ timeout = timeout ,
16081645 ),
16091646 cast_to = DevboxView ,
16101647 )
@@ -1737,7 +1774,10 @@ async def wait_for_devbox_status() -> DevboxView:
17371774 )
17381775 except (APITimeoutError , APIStatusError ) as error :
17391776 # Handle timeout errors by returning current devbox state to continue polling
1740- if isinstance (error , APITimeoutError ) or error .response .status_code == 408 :
1777+ if (
1778+ isinstance (error , APITimeoutError )
1779+ or error .response .status_code == 408
1780+ ):
17411781 # Return a placeholder result to continue polling
17421782 return placeholder_devbox_view (id )
17431783
@@ -1747,10 +1787,14 @@ async def wait_for_devbox_status() -> DevboxView:
17471787 def is_done_booting (devbox : DevboxView ) -> bool :
17481788 return devbox .status not in DEVBOX_BOOTING_STATES
17491789
1750- devbox = await async_poll_until (wait_for_devbox_status , is_done_booting , polling_config )
1790+ devbox = await async_poll_until (
1791+ wait_for_devbox_status , is_done_booting , polling_config
1792+ )
17511793
17521794 if devbox .status != "running" :
1753- raise RunloopError (f"Devbox entered non-running terminal state: { devbox .status } " )
1795+ raise RunloopError (
1796+ f"Devbox entered non-running terminal state: { devbox .status } "
1797+ )
17541798
17551799 return devbox
17561800
@@ -1813,10 +1857,19 @@ def list(
18131857 * ,
18141858 limit : int | NotGiven = NOT_GIVEN ,
18151859 starting_after : str | NotGiven = NOT_GIVEN ,
1816- status : Literal [
1817- "provisioning" , "initializing" , "running" , "suspending" , "suspended" , "resuming" , "failure" , "shutdown"
1818- ]
1819- | NotGiven = NOT_GIVEN ,
1860+ status : (
1861+ Literal [
1862+ "provisioning" ,
1863+ "initializing" ,
1864+ "running" ,
1865+ "suspending" ,
1866+ "suspended" ,
1867+ "resuming" ,
1868+ "failure" ,
1869+ "shutdown" ,
1870+ ]
1871+ | NotGiven
1872+ ) = NOT_GIVEN ,
18201873 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
18211874 # The extra values given here take precedence over values defined on the client or passed to this method.
18221875 extra_headers : Headers | None = None ,
@@ -1935,7 +1988,9 @@ async def create_tunnel(
19351988 raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
19361989 return await self ._post (
19371990 f"/v1/devboxes/{ id } /create_tunnel" ,
1938- body = await async_maybe_transform ({"port" : port }, devbox_create_tunnel_params .DevboxCreateTunnelParams ),
1991+ body = await async_maybe_transform (
1992+ {"port" : port }, devbox_create_tunnel_params .DevboxCreateTunnelParams
1993+ ),
19391994 options = make_request_options (
19401995 extra_headers = extra_headers ,
19411996 extra_query = extra_query ,
@@ -2024,7 +2079,9 @@ async def download_file(
20242079 extra_headers = {"Accept" : "application/octet-stream" , ** (extra_headers or {})}
20252080 return await self ._post (
20262081 f"/v1/devboxes/{ id } /download_file" ,
2027- body = await async_maybe_transform ({"path" : path }, devbox_download_file_params .DevboxDownloadFileParams ),
2082+ body = await async_maybe_transform (
2083+ {"path" : path }, devbox_download_file_params .DevboxDownloadFileParams
2084+ ),
20282085 options = make_request_options (
20292086 extra_headers = extra_headers ,
20302087 extra_query = extra_query ,
@@ -2210,7 +2267,9 @@ def list_disk_snapshots(
22102267 extra_query : Query | None = None ,
22112268 extra_body : Body | None = None ,
22122269 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
2213- ) -> AsyncPaginator [DevboxSnapshotView , AsyncDiskSnapshotsCursorIDPage [DevboxSnapshotView ]]:
2270+ ) -> AsyncPaginator [
2271+ DevboxSnapshotView , AsyncDiskSnapshotsCursorIDPage [DevboxSnapshotView ]
2272+ ]:
22142273 """
22152274 List all snapshots of a Devbox while optionally filtering by Devbox ID and
22162275 metadata.
@@ -2298,7 +2357,8 @@ async def read_file_contents(
22982357 return await self ._post (
22992358 f"/v1/devboxes/{ id } /read_file_contents" ,
23002359 body = await async_maybe_transform (
2301- {"file_path" : file_path }, devbox_read_file_contents_params .DevboxReadFileContentsParams
2360+ {"file_path" : file_path },
2361+ devbox_read_file_contents_params .DevboxReadFileContentsParams ,
23022362 ),
23032363 options = make_request_options (
23042364 extra_headers = extra_headers ,
@@ -2343,7 +2403,9 @@ async def remove_tunnel(
23432403 raise ValueError (f"Expected a non-empty value for `id` but received { id !r} " )
23442404 return await self ._post (
23452405 f"/v1/devboxes/{ id } /remove_tunnel" ,
2346- body = await async_maybe_transform ({"port" : port }, devbox_remove_tunnel_params .DevboxRemoveTunnelParams ),
2406+ body = await async_maybe_transform (
2407+ {"port" : port }, devbox_remove_tunnel_params .DevboxRemoveTunnelParams
2408+ ),
23472409 options = make_request_options (
23482410 extra_headers = extra_headers ,
23492411 extra_query = extra_query ,
@@ -2644,7 +2706,9 @@ async def upload_file(
26442706 extra_headers = {"Content-Type" : "multipart/form-data" , ** (extra_headers or {})}
26452707 return await self ._post (
26462708 f"/v1/devboxes/{ id } /upload_file" ,
2647- body = await async_maybe_transform (body , devbox_upload_file_params .DevboxUploadFileParams ),
2709+ body = await async_maybe_transform (
2710+ body , devbox_upload_file_params .DevboxUploadFileParams
2711+ ),
26482712 files = files ,
26492713 options = make_request_options (
26502714 extra_headers = extra_headers ,
@@ -3068,7 +3132,9 @@ def __init__(self, devboxes: AsyncDevboxesResource) -> None:
30683132
30693133 @cached_property
30703134 def disk_snapshots (self ) -> AsyncDiskSnapshotsResourceWithStreamingResponse :
3071- return AsyncDiskSnapshotsResourceWithStreamingResponse (self ._devboxes .disk_snapshots )
3135+ return AsyncDiskSnapshotsResourceWithStreamingResponse (
3136+ self ._devboxes .disk_snapshots
3137+ )
30723138
30733139 @cached_property
30743140 def browsers (self ) -> AsyncBrowsersResourceWithStreamingResponse :
0 commit comments