runloop-api-client 0.2.0__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. runloop_api_client-0.3.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/CHANGELOG.md +25 -0
  3. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/api.md +9 -11
  5. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/blueprints.py +5 -4
  8. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/devboxes/devboxes.py +114 -7
  9. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/__init__.py +4 -2
  10. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_build_parameters.py +2 -16
  11. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_create_params.py +2 -16
  12. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_preview_params.py +2 -16
  13. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_create_params.py +2 -16
  14. runloop_api_client-0.3.0/src/runloop_api_client/types/devbox_snapshot_disk_params.py +16 -0
  15. runloop_api_client-0.3.0/src/runloop_api_client/types/devbox_snapshot_list_view.py +17 -0
  16. runloop_api_client-0.3.0/src/runloop_api_client/types/devbox_snapshot_view.py +23 -0
  17. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_view.py +3 -17
  18. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/shared/__init__.py +1 -0
  19. runloop_api_client-0.3.0/src/runloop_api_client/types/shared/launch_parameters.py +22 -0
  20. runloop_api_client-0.3.0/src/runloop_api_client/types/shared/resource_size.py +7 -0
  21. runloop_api_client-0.3.0/src/runloop_api_client/types/shared_params/__init__.py +3 -0
  22. runloop_api_client-0.3.0/src/runloop_api_client/types/shared_params/launch_parameters.py +22 -0
  23. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/test_devboxes.py +104 -9
  24. runloop_api_client-0.2.0/.release-please-manifest.json +0 -3
  25. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/.gitignore +0 -0
  26. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/CONTRIBUTING.md +0 -0
  27. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/LICENSE +0 -0
  28. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/README.md +0 -0
  29. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/SECURITY.md +0 -0
  30. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/bin/check-release-environment +0 -0
  31. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/bin/publish-pypi +0 -0
  32. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/examples/.keep +0 -0
  33. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/mypy.ini +0 -0
  34. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/noxfile.py +0 -0
  35. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/release-please-config.json +0 -0
  36. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/requirements-dev.lock +0 -0
  37. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/requirements.lock +0 -0
  38. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop/lib/.keep +0 -0
  39. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/__init__.py +0 -0
  40. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_base_client.py +0 -0
  41. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_client.py +0 -0
  42. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_compat.py +0 -0
  43. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_constants.py +0 -0
  44. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_exceptions.py +0 -0
  45. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_files.py +0 -0
  46. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_models.py +0 -0
  47. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_qs.py +0 -0
  48. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_resource.py +0 -0
  49. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_response.py +0 -0
  50. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_streaming.py +0 -0
  51. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_types.py +0 -0
  52. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  53. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  54. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  55. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  56. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  57. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  58. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  59. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  60. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  61. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/lib/.keep +0 -0
  62. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/py.typed +0 -0
  63. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/__init__.py +0 -0
  64. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  65. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  66. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  67. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/functions/__init__.py +0 -0
  68. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/functions/functions.py +0 -0
  69. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/functions/invocations.py +0 -0
  70. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/projects/__init__.py +0 -0
  71. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/projects/logs.py +0 -0
  72. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/resources/projects/projects.py +0 -0
  73. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  74. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  75. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  76. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  77. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  78. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  79. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/code_mount_parameters.py +0 -0
  80. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/code_mount_parameters_param.py +0 -0
  81. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  82. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  83. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_disk_snapshots_params.py +0 -0
  84. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_disk_snapshots_response.py +0 -0
  85. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  86. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  87. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  88. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  89. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  90. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  91. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  92. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  93. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  94. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devbox_write_file_params.py +0 -0
  95. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  96. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  97. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  98. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  99. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  100. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  101. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
  102. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
  103. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/function_list_view.py +0 -0
  104. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/functions/__init__.py +0 -0
  105. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -0
  106. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
  107. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/project_list_view.py +0 -0
  108. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/projects/__init__.py +0 -0
  109. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/resource_size.py +0 -0
  110. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/shared/function_invocation_execution_detail_view.py +0 -0
  111. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
  112. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/__init__.py +0 -0
  113. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/__init__.py +0 -0
  114. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/devboxes/__init__.py +0 -0
  115. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  116. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  117. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/functions/__init__.py +0 -0
  118. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/functions/test_invocations.py +0 -0
  119. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/projects/__init__.py +0 -0
  120. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/projects/test_logs.py +0 -0
  121. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/test_blueprints.py +0 -0
  122. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/test_functions.py +0 -0
  123. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/api_resources/test_projects.py +0 -0
  124. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/conftest.py +0 -0
  125. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/sample_file.txt +0 -0
  126. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_client.py +0 -0
  127. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_deepcopy.py +0 -0
  128. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_extract_files.py +0 -0
  129. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_files.py +0 -0
  130. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_models.py +0 -0
  131. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_qs.py +0 -0
  132. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_required_args.py +0 -0
  133. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_response.py +0 -0
  134. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_streaming.py +0 -0
  135. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_transform.py +0 -0
  136. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_utils/test_proxy.py +0 -0
  137. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/test_utils/test_typing.py +0 -0
  138. {runloop_api_client-0.2.0 → runloop_api_client-0.3.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.3.0"
3
+ }
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2024-10-14)
4
+
5
+ Full Changelog: [v0.2.2...v0.3.0](https://github.com/runloopai/api-client-python/compare/v0.2.2...v0.3.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([#203](https://github.com/runloopai/api-client-python/issues/203)) ([596e9db](https://github.com/runloopai/api-client-python/commit/596e9db0165308c969e1c7dc2079d4d12961b382))
10
+
11
+ ## 0.2.2 (2024-10-11)
12
+
13
+ Full Changelog: [v0.2.0...v0.2.2](https://github.com/runloopai/api-client-python/compare/v0.2.0...v0.2.2)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([#190](https://github.com/runloopai/api-client-python/issues/190)) ([4b40a20](https://github.com/runloopai/api-client-python/commit/4b40a20d3603f8a0dfdb0ecf8884682193e986d9))
18
+ * **api:** api update ([#192](https://github.com/runloopai/api-client-python/issues/192)) ([51358a5](https://github.com/runloopai/api-client-python/commit/51358a52a59b31729f05c40a6f84af467313f568))
19
+ * **api:** api update ([#193](https://github.com/runloopai/api-client-python/issues/193)) ([d4c04da](https://github.com/runloopai/api-client-python/commit/d4c04da4e1726dd70a638748034e2c86ead63142))
20
+ * **api:** api update ([#194](https://github.com/runloopai/api-client-python/issues/194)) ([31fcc6c](https://github.com/runloopai/api-client-python/commit/31fcc6cc52cc1e7cf782b9fd00d75049f455bb98))
21
+ * **api:** api update ([#195](https://github.com/runloopai/api-client-python/issues/195)) ([4b3112b](https://github.com/runloopai/api-client-python/commit/4b3112bb3e0620fbce4f37bdd4fe06e3bdbaa0d5))
22
+ * **api:** api update ([#196](https://github.com/runloopai/api-client-python/issues/196)) ([f367ac3](https://github.com/runloopai/api-client-python/commit/f367ac3014e94f4be43480fbb8404a8c95b853fe))
23
+ * **api:** api update ([#197](https://github.com/runloopai/api-client-python/issues/197)) ([f5d88d9](https://github.com/runloopai/api-client-python/commit/f5d88d970de6e2820449eedbddc424f387a147ff))
24
+ * **api:** api update ([#198](https://github.com/runloopai/api-client-python/issues/198)) ([6a8c688](https://github.com/runloopai/api-client-python/commit/6a8c688473c715c6bf82a81084a414ea844bac01))
25
+ * **api:** api update ([#199](https://github.com/runloopai/api-client-python/issues/199)) ([e36adf9](https://github.com/runloopai/api-client-python/commit/e36adf900d0c7ee4e25ea1d806c2da2f17cc48eb))
26
+ * **api:** api update ([#200](https://github.com/runloopai/api-client-python/issues/200)) ([2b51e56](https://github.com/runloopai/api-client-python/commit/2b51e5641684c23ddaaf23131b3fe8eba0877925))
27
+
3
28
  ## 0.2.0 (2024-10-10)
4
29
 
5
30
  Full Changelog: [v0.1.0-alpha.23...v0.2.0](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.23...v0.2.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: The official Python library for the runloop API
5
5
  Project-URL: Homepage, https://github.com/runloopai/api-client-python
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
@@ -1,15 +1,11 @@
1
1
  # Shared Types
2
2
 
3
3
  ```python
4
- from runloop_api_client.types import FunctionInvocationExecutionDetailView, ProjectLogsView
5
- ```
6
-
7
- # Account
8
-
9
- Types:
10
-
11
- ```python
12
- from runloop_api_client.types import ResourceSize
4
+ from runloop_api_client.types import (
5
+ FunctionInvocationExecutionDetailView,
6
+ LaunchParameters,
7
+ ProjectLogsView,
8
+ )
13
9
  ```
14
10
 
15
11
  # Blueprints
@@ -52,9 +48,10 @@ from runloop_api_client.types import (
52
48
  DevboxAsyncExecutionDetailView,
53
49
  DevboxExecutionDetailView,
54
50
  DevboxListView,
51
+ DevboxSnapshotListView,
52
+ DevboxSnapshotView,
55
53
  DevboxView,
56
54
  DevboxCreateSSHKeyResponse,
57
- DevboxDiskSnapshotsResponse,
58
55
  DevboxReadFileContentsResponse,
59
56
  DevboxUploadFileResponse,
60
57
  )
@@ -66,12 +63,13 @@ Methods:
66
63
  - <code title="get /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
67
64
  - <code title="get /v1/devboxes">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">list</a>(\*\*<a href="src/runloop_api_client/types/devbox_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_list_view.py">DevboxListView</a></code>
68
65
  - <code title="post /v1/devboxes/{id}/create_ssh_key">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_ssh_key</a>(id) -> <a href="./src/runloop_api_client/types/devbox_create_ssh_key_response.py">DevboxCreateSSHKeyResponse</a></code>
69
- - <code title="get /v1/devboxes/disk_snapshots">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">disk_snapshots</a>(\*\*<a href="src/runloop_api_client/types/devbox_disk_snapshots_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_disk_snapshots_response.py">DevboxDiskSnapshotsResponse</a></code>
66
+ - <code title="get /v1/devboxes/disk_snapshots">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">disk_snapshots</a>(\*\*<a href="src/runloop_api_client/types/devbox_disk_snapshots_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_list_view.py">DevboxSnapshotListView</a></code>
70
67
  - <code title="post /v1/devboxes/{id}/download_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">download_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_download_file_params.py">params</a>) -> BinaryAPIResponse</code>
71
68
  - <code title="post /v1/devboxes/{id}/execute_async">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_async</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
72
69
  - <code title="post /v1/devboxes/{id}/execute_sync">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_sync</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
73
70
  - <code title="post /v1/devboxes/{id}/read_file_contents">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">read_file_contents</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_read_file_contents_params.py">params</a>) -> str</code>
74
71
  - <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">shutdown</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
72
+ - <code title="post /v1/devboxes/{id}/snapshot_disk">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">snapshot_disk</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_snapshot_disk_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">DevboxSnapshotView</a></code>
75
73
  - <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">upload_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_upload_file_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_upload_file_response.py">object</a></code>
76
74
  - <code title="post /v1/devboxes/{id}/write_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">write_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_write_file_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
77
75
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "0.2.0" # x-release-please-version
4
+ __version__ = "0.3.0" # x-release-please-version
@@ -26,6 +26,7 @@ from ..types.blueprint_list_view import BlueprintListView
26
26
  from ..types.blueprint_preview_view import BlueprintPreviewView
27
27
  from ..types.code_mount_parameters_param import CodeMountParametersParam
28
28
  from ..types.blueprint_build_logs_list_view import BlueprintBuildLogsListView
29
+ from ..types.shared_params.launch_parameters import LaunchParameters
29
30
 
30
31
  __all__ = ["BlueprintsResource", "AsyncBlueprintsResource"]
31
32
 
@@ -57,7 +58,7 @@ class BlueprintsResource(SyncAPIResource):
57
58
  code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
58
59
  dockerfile: str | NotGiven = NOT_GIVEN,
59
60
  file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
60
- launch_parameters: blueprint_create_params.LaunchParameters | NotGiven = NOT_GIVEN,
61
+ launch_parameters: LaunchParameters | NotGiven = NOT_GIVEN,
61
62
  system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
62
63
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
63
64
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -237,7 +238,7 @@ class BlueprintsResource(SyncAPIResource):
237
238
  code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
238
239
  dockerfile: str | NotGiven = NOT_GIVEN,
239
240
  file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
240
- launch_parameters: blueprint_preview_params.LaunchParameters | NotGiven = NOT_GIVEN,
241
+ launch_parameters: LaunchParameters | NotGiven = NOT_GIVEN,
241
242
  system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
242
243
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
243
244
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -319,7 +320,7 @@ class AsyncBlueprintsResource(AsyncAPIResource):
319
320
  code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
320
321
  dockerfile: str | NotGiven = NOT_GIVEN,
321
322
  file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
322
- launch_parameters: blueprint_create_params.LaunchParameters | NotGiven = NOT_GIVEN,
323
+ launch_parameters: LaunchParameters | NotGiven = NOT_GIVEN,
323
324
  system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
324
325
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
325
326
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -499,7 +500,7 @@ class AsyncBlueprintsResource(AsyncAPIResource):
499
500
  code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
500
501
  dockerfile: str | NotGiven = NOT_GIVEN,
501
502
  file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
502
- launch_parameters: blueprint_preview_params.LaunchParameters | NotGiven = NOT_GIVEN,
503
+ launch_parameters: LaunchParameters | NotGiven = NOT_GIVEN,
503
504
  system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
504
505
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
505
506
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -22,6 +22,7 @@ from ...types import (
22
22
  devbox_execute_sync_params,
23
23
  devbox_download_file_params,
24
24
  devbox_execute_async_params,
25
+ devbox_snapshot_disk_params,
25
26
  devbox_disk_snapshots_params,
26
27
  devbox_read_file_contents_params,
27
28
  )
@@ -59,10 +60,12 @@ from ..._response import (
59
60
  from ..._base_client import make_request_options
60
61
  from ...types.devbox_view import DevboxView
61
62
  from ...types.devbox_list_view import DevboxListView
63
+ from ...types.devbox_snapshot_view import DevboxSnapshotView
64
+ from ...types.devbox_snapshot_list_view import DevboxSnapshotListView
62
65
  from ...types.code_mount_parameters_param import CodeMountParametersParam
63
66
  from ...types.devbox_execution_detail_view import DevboxExecutionDetailView
64
67
  from ...types.devbox_create_ssh_key_response import DevboxCreateSSHKeyResponse
65
- from ...types.devbox_disk_snapshots_response import DevboxDiskSnapshotsResponse
68
+ from ...types.shared_params.launch_parameters import LaunchParameters
66
69
  from ...types.devbox_async_execution_detail_view import DevboxAsyncExecutionDetailView
67
70
 
68
71
  __all__ = ["DevboxesResource", "AsyncDevboxesResource"]
@@ -105,7 +108,7 @@ class DevboxesResource(SyncAPIResource):
105
108
  entrypoint: str | NotGiven = NOT_GIVEN,
106
109
  environment_variables: Dict[str, str] | NotGiven = NOT_GIVEN,
107
110
  file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
108
- launch_parameters: devbox_create_params.LaunchParameters | NotGiven = NOT_GIVEN,
111
+ launch_parameters: LaunchParameters | NotGiven = NOT_GIVEN,
109
112
  metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
110
113
  name: str | NotGiven = NOT_GIVEN,
111
114
  prebuilt: str | NotGiven = NOT_GIVEN,
@@ -317,7 +320,7 @@ class DevboxesResource(SyncAPIResource):
317
320
  extra_query: Query | None = None,
318
321
  extra_body: Body | None = None,
319
322
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
320
- ) -> DevboxDiskSnapshotsResponse:
323
+ ) -> DevboxSnapshotListView:
321
324
  """
322
325
  List all snapshots of a devbox by id.
323
326
 
@@ -349,7 +352,7 @@ class DevboxesResource(SyncAPIResource):
349
352
  devbox_disk_snapshots_params.DevboxDiskSnapshotsParams,
350
353
  ),
351
354
  ),
352
- cast_to=DevboxDiskSnapshotsResponse,
355
+ cast_to=DevboxSnapshotListView,
353
356
  )
354
357
 
355
358
  def download_file(
@@ -556,6 +559,52 @@ class DevboxesResource(SyncAPIResource):
556
559
  cast_to=DevboxView,
557
560
  )
558
561
 
562
+ def snapshot_disk(
563
+ self,
564
+ id: str,
565
+ *,
566
+ metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
567
+ name: str | NotGiven = NOT_GIVEN,
568
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
569
+ # The extra values given here take precedence over values defined on the client or passed to this method.
570
+ extra_headers: Headers | None = None,
571
+ extra_query: Query | None = None,
572
+ extra_body: Body | None = None,
573
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
574
+ ) -> DevboxSnapshotView:
575
+ """
576
+ Create a filesystem snapshot of a devbox with the specified name and metadata.
577
+
578
+ Args:
579
+ metadata: (Optional) Metadata used to describe the snapshot
580
+
581
+ name: (Optional) A user specified name to give the snapshot
582
+
583
+ extra_headers: Send extra headers
584
+
585
+ extra_query: Add additional query parameters to the request
586
+
587
+ extra_body: Add additional JSON properties to the request
588
+
589
+ timeout: Override the client-level default timeout for this request, in seconds
590
+ """
591
+ if not id:
592
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
593
+ return self._post(
594
+ f"/v1/devboxes/{id}/snapshot_disk",
595
+ body=maybe_transform(
596
+ {
597
+ "metadata": metadata,
598
+ "name": name,
599
+ },
600
+ devbox_snapshot_disk_params.DevboxSnapshotDiskParams,
601
+ ),
602
+ options=make_request_options(
603
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
604
+ ),
605
+ cast_to=DevboxSnapshotView,
606
+ )
607
+
559
608
  def upload_file(
560
609
  self,
561
610
  id: str,
@@ -688,7 +737,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
688
737
  entrypoint: str | NotGiven = NOT_GIVEN,
689
738
  environment_variables: Dict[str, str] | NotGiven = NOT_GIVEN,
690
739
  file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
691
- launch_parameters: devbox_create_params.LaunchParameters | NotGiven = NOT_GIVEN,
740
+ launch_parameters: LaunchParameters | NotGiven = NOT_GIVEN,
692
741
  metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
693
742
  name: str | NotGiven = NOT_GIVEN,
694
743
  prebuilt: str | NotGiven = NOT_GIVEN,
@@ -900,7 +949,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
900
949
  extra_query: Query | None = None,
901
950
  extra_body: Body | None = None,
902
951
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
903
- ) -> DevboxDiskSnapshotsResponse:
952
+ ) -> DevboxSnapshotListView:
904
953
  """
905
954
  List all snapshots of a devbox by id.
906
955
 
@@ -932,7 +981,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
932
981
  devbox_disk_snapshots_params.DevboxDiskSnapshotsParams,
933
982
  ),
934
983
  ),
935
- cast_to=DevboxDiskSnapshotsResponse,
984
+ cast_to=DevboxSnapshotListView,
936
985
  )
937
986
 
938
987
  async def download_file(
@@ -1139,6 +1188,52 @@ class AsyncDevboxesResource(AsyncAPIResource):
1139
1188
  cast_to=DevboxView,
1140
1189
  )
1141
1190
 
1191
+ async def snapshot_disk(
1192
+ self,
1193
+ id: str,
1194
+ *,
1195
+ metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
1196
+ name: str | NotGiven = NOT_GIVEN,
1197
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1198
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1199
+ extra_headers: Headers | None = None,
1200
+ extra_query: Query | None = None,
1201
+ extra_body: Body | None = None,
1202
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1203
+ ) -> DevboxSnapshotView:
1204
+ """
1205
+ Create a filesystem snapshot of a devbox with the specified name and metadata.
1206
+
1207
+ Args:
1208
+ metadata: (Optional) Metadata used to describe the snapshot
1209
+
1210
+ name: (Optional) A user specified name to give the snapshot
1211
+
1212
+ extra_headers: Send extra headers
1213
+
1214
+ extra_query: Add additional query parameters to the request
1215
+
1216
+ extra_body: Add additional JSON properties to the request
1217
+
1218
+ timeout: Override the client-level default timeout for this request, in seconds
1219
+ """
1220
+ if not id:
1221
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1222
+ return await self._post(
1223
+ f"/v1/devboxes/{id}/snapshot_disk",
1224
+ body=await async_maybe_transform(
1225
+ {
1226
+ "metadata": metadata,
1227
+ "name": name,
1228
+ },
1229
+ devbox_snapshot_disk_params.DevboxSnapshotDiskParams,
1230
+ ),
1231
+ options=make_request_options(
1232
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1233
+ ),
1234
+ cast_to=DevboxSnapshotView,
1235
+ )
1236
+
1142
1237
  async def upload_file(
1143
1238
  self,
1144
1239
  id: str,
@@ -1269,6 +1364,9 @@ class DevboxesResourceWithRawResponse:
1269
1364
  self.shutdown = to_raw_response_wrapper(
1270
1365
  devboxes.shutdown,
1271
1366
  )
1367
+ self.snapshot_disk = to_raw_response_wrapper(
1368
+ devboxes.snapshot_disk,
1369
+ )
1272
1370
  self.upload_file = to_raw_response_wrapper(
1273
1371
  devboxes.upload_file,
1274
1372
  )
@@ -1320,6 +1418,9 @@ class AsyncDevboxesResourceWithRawResponse:
1320
1418
  self.shutdown = async_to_raw_response_wrapper(
1321
1419
  devboxes.shutdown,
1322
1420
  )
1421
+ self.snapshot_disk = async_to_raw_response_wrapper(
1422
+ devboxes.snapshot_disk,
1423
+ )
1323
1424
  self.upload_file = async_to_raw_response_wrapper(
1324
1425
  devboxes.upload_file,
1325
1426
  )
@@ -1371,6 +1472,9 @@ class DevboxesResourceWithStreamingResponse:
1371
1472
  self.shutdown = to_streamed_response_wrapper(
1372
1473
  devboxes.shutdown,
1373
1474
  )
1475
+ self.snapshot_disk = to_streamed_response_wrapper(
1476
+ devboxes.snapshot_disk,
1477
+ )
1374
1478
  self.upload_file = to_streamed_response_wrapper(
1375
1479
  devboxes.upload_file,
1376
1480
  )
@@ -1422,6 +1526,9 @@ class AsyncDevboxesResourceWithStreamingResponse:
1422
1526
  self.shutdown = async_to_streamed_response_wrapper(
1423
1527
  devboxes.shutdown,
1424
1528
  )
1529
+ self.snapshot_disk = async_to_streamed_response_wrapper(
1530
+ devboxes.snapshot_disk,
1531
+ )
1425
1532
  self.upload_file = async_to_streamed_response_wrapper(
1426
1533
  devboxes.upload_file,
1427
1534
  )
@@ -4,10 +4,10 @@ from __future__ import annotations
4
4
 
5
5
  from .shared import (
6
6
  ProjectLogsView as ProjectLogsView,
7
+ LaunchParameters as LaunchParameters,
7
8
  FunctionInvocationExecutionDetailView as FunctionInvocationExecutionDetailView,
8
9
  )
9
10
  from .devbox_view import DevboxView as DevboxView
10
- from .resource_size import ResourceSize as ResourceSize
11
11
  from .blueprint_view import BlueprintView as BlueprintView
12
12
  from .devbox_list_view import DevboxListView as DevboxListView
13
13
  from .project_list_view import ProjectListView as ProjectListView
@@ -16,25 +16,27 @@ from .function_list_view import FunctionListView as FunctionListView
16
16
  from .blueprint_build_log import BlueprintBuildLog as BlueprintBuildLog
17
17
  from .blueprint_list_view import BlueprintListView as BlueprintListView
18
18
  from .devbox_create_params import DevboxCreateParams as DevboxCreateParams
19
+ from .devbox_snapshot_view import DevboxSnapshotView as DevboxSnapshotView
19
20
  from .blueprint_list_params import BlueprintListParams as BlueprintListParams
20
21
  from .code_mount_parameters import CodeMountParameters as CodeMountParameters
21
22
  from .blueprint_preview_view import BlueprintPreviewView as BlueprintPreviewView
22
23
  from .blueprint_create_params import BlueprintCreateParams as BlueprintCreateParams
23
24
  from .blueprint_preview_params import BlueprintPreviewParams as BlueprintPreviewParams
24
25
  from .devbox_write_file_params import DevboxWriteFileParams as DevboxWriteFileParams
26
+ from .devbox_snapshot_list_view import DevboxSnapshotListView as DevboxSnapshotListView
25
27
  from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFileParams
26
28
  from .blueprint_build_parameters import BlueprintBuildParameters as BlueprintBuildParameters
27
29
  from .devbox_execute_sync_params import DevboxExecuteSyncParams as DevboxExecuteSyncParams
28
30
  from .code_mount_parameters_param import CodeMountParametersParam as CodeMountParametersParam
29
31
  from .devbox_download_file_params import DevboxDownloadFileParams as DevboxDownloadFileParams
30
32
  from .devbox_execute_async_params import DevboxExecuteAsyncParams as DevboxExecuteAsyncParams
33
+ from .devbox_snapshot_disk_params import DevboxSnapshotDiskParams as DevboxSnapshotDiskParams
31
34
  from .function_invoke_sync_params import FunctionInvokeSyncParams as FunctionInvokeSyncParams
32
35
  from .devbox_disk_snapshots_params import DevboxDiskSnapshotsParams as DevboxDiskSnapshotsParams
33
36
  from .devbox_execution_detail_view import DevboxExecutionDetailView as DevboxExecutionDetailView
34
37
  from .function_invoke_async_params import FunctionInvokeAsyncParams as FunctionInvokeAsyncParams
35
38
  from .blueprint_build_logs_list_view import BlueprintBuildLogsListView as BlueprintBuildLogsListView
36
39
  from .devbox_create_ssh_key_response import DevboxCreateSSHKeyResponse as DevboxCreateSSHKeyResponse
37
- from .devbox_disk_snapshots_response import DevboxDiskSnapshotsResponse as DevboxDiskSnapshotsResponse
38
40
  from .devbox_read_file_contents_params import DevboxReadFileContentsParams as DevboxReadFileContentsParams
39
41
  from .devbox_async_execution_detail_view import DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView
40
42
  from .devbox_read_file_contents_response import DevboxReadFileContentsResponse as DevboxReadFileContentsResponse
@@ -3,24 +3,10 @@
3
3
  from typing import Dict, List, Optional
4
4
 
5
5
  from .._models import BaseModel
6
- from .resource_size import ResourceSize
7
6
  from .code_mount_parameters import CodeMountParameters
7
+ from .shared.launch_parameters import LaunchParameters
8
8
 
9
- __all__ = ["BlueprintBuildParameters", "LaunchParameters"]
10
-
11
-
12
- class LaunchParameters(BaseModel):
13
- keep_alive_time_seconds: Optional[int] = None
14
- """Time in seconds after which Devbox will automatically shutdown.
15
-
16
- Default is 1 hour.
17
- """
18
-
19
- launch_commands: Optional[List[str]] = None
20
- """Set of commands to be run at launch time, before the entrypoint process is run."""
21
-
22
- resource_size_request: Optional[ResourceSize] = None
23
- """Manual resource configuration for Devbox. If not set, defaults will be used."""
9
+ __all__ = ["BlueprintBuildParameters"]
24
10
 
25
11
 
26
12
  class BlueprintBuildParameters(BaseModel):
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import Dict, List, Iterable
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
- from .resource_size import ResourceSize
9
8
  from .code_mount_parameters_param import CodeMountParametersParam
9
+ from .shared_params.launch_parameters import LaunchParameters
10
10
 
11
- __all__ = ["BlueprintCreateParams", "LaunchParameters"]
11
+ __all__ = ["BlueprintCreateParams"]
12
12
 
13
13
 
14
14
  class BlueprintCreateParams(TypedDict, total=False):
@@ -29,17 +29,3 @@ class BlueprintCreateParams(TypedDict, total=False):
29
29
 
30
30
  system_setup_commands: List[str]
31
31
  """A list of commands to run to set up your system."""
32
-
33
-
34
- class LaunchParameters(TypedDict, total=False):
35
- keep_alive_time_seconds: int
36
- """Time in seconds after which Devbox will automatically shutdown.
37
-
38
- Default is 1 hour.
39
- """
40
-
41
- launch_commands: List[str]
42
- """Set of commands to be run at launch time, before the entrypoint process is run."""
43
-
44
- resource_size_request: ResourceSize
45
- """Manual resource configuration for Devbox. If not set, defaults will be used."""
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import Dict, List, Iterable
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
- from .resource_size import ResourceSize
9
8
  from .code_mount_parameters_param import CodeMountParametersParam
9
+ from .shared_params.launch_parameters import LaunchParameters
10
10
 
11
- __all__ = ["BlueprintPreviewParams", "LaunchParameters"]
11
+ __all__ = ["BlueprintPreviewParams"]
12
12
 
13
13
 
14
14
  class BlueprintPreviewParams(TypedDict, total=False):
@@ -29,17 +29,3 @@ class BlueprintPreviewParams(TypedDict, total=False):
29
29
 
30
30
  system_setup_commands: List[str]
31
31
  """A list of commands to run to set up your system."""
32
-
33
-
34
- class LaunchParameters(TypedDict, total=False):
35
- keep_alive_time_seconds: int
36
- """Time in seconds after which Devbox will automatically shutdown.
37
-
38
- Default is 1 hour.
39
- """
40
-
41
- launch_commands: List[str]
42
- """Set of commands to be run at launch time, before the entrypoint process is run."""
43
-
44
- resource_size_request: ResourceSize
45
- """Manual resource configuration for Devbox. If not set, defaults will be used."""
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import Dict, List, Iterable
6
6
  from typing_extensions import TypedDict
7
7
 
8
- from .resource_size import ResourceSize
9
8
  from .code_mount_parameters_param import CodeMountParametersParam
9
+ from .shared_params.launch_parameters import LaunchParameters
10
10
 
11
- __all__ = ["DevboxCreateParams", "LaunchParameters"]
11
+ __all__ = ["DevboxCreateParams"]
12
12
 
13
13
 
14
14
  class DevboxCreateParams(TypedDict, total=False):
@@ -62,17 +62,3 @@ class DevboxCreateParams(TypedDict, total=False):
62
62
 
63
63
  snapshot_id: str
64
64
  """Snapshot ID to use for the Devbox."""
65
-
66
-
67
- class LaunchParameters(TypedDict, total=False):
68
- keep_alive_time_seconds: int
69
- """Time in seconds after which Devbox will automatically shutdown.
70
-
71
- Default is 1 hour.
72
- """
73
-
74
- launch_commands: List[str]
75
- """Set of commands to be run at launch time, before the entrypoint process is run."""
76
-
77
- resource_size_request: ResourceSize
78
- """Manual resource configuration for Devbox. If not set, defaults will be used."""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["DevboxSnapshotDiskParams"]
9
+
10
+
11
+ class DevboxSnapshotDiskParams(TypedDict, total=False):
12
+ metadata: Dict[str, str]
13
+ """(Optional) Metadata used to describe the snapshot"""
14
+
15
+ name: str
16
+ """(Optional) A user specified name to give the snapshot"""
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from .._models import BaseModel
6
+ from .devbox_snapshot_view import DevboxSnapshotView
7
+
8
+ __all__ = ["DevboxSnapshotListView"]
9
+
10
+
11
+ class DevboxSnapshotListView(BaseModel):
12
+ has_more: bool
13
+
14
+ snapshots: List[DevboxSnapshotView]
15
+ """List of snapshots matching filter."""
16
+
17
+ total_count: int
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["DevboxSnapshotView"]
10
+
11
+
12
+ class DevboxSnapshotView(BaseModel):
13
+ id: str
14
+ """The unique identifier of the snapshot."""
15
+
16
+ metadata: Dict[str, str]
17
+ """metadata associated with the snapshot."""
18
+
19
+ source_devbox_id: str = FieldInfo(alias="sourceDevboxId")
20
+ """The source devbox identifier."""
21
+
22
+ name: Optional[str] = None
23
+ """(Optional) The custom name of the snapshot."""
@@ -1,26 +1,12 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Dict, List, Optional
3
+ from typing import Dict, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
6
  from .._models import BaseModel
7
- from .resource_size import ResourceSize
7
+ from .shared.launch_parameters import LaunchParameters
8
8
 
9
- __all__ = ["DevboxView", "LaunchParameters"]
10
-
11
-
12
- class LaunchParameters(BaseModel):
13
- keep_alive_time_seconds: Optional[int] = None
14
- """Time in seconds after which Devbox will automatically shutdown.
15
-
16
- Default is 1 hour.
17
- """
18
-
19
- launch_commands: Optional[List[str]] = None
20
- """Set of commands to be run at launch time, before the entrypoint process is run."""
21
-
22
- resource_size_request: Optional[ResourceSize] = None
23
- """Manual resource configuration for Devbox. If not set, defaults will be used."""
9
+ __all__ = ["DevboxView"]
24
10
 
25
11
 
26
12
  class DevboxView(BaseModel):
@@ -1,5 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .launch_parameters import LaunchParameters as LaunchParameters
3
4
  from .project_logs_view import ProjectLogsView as ProjectLogsView
4
5
  from .function_invocation_execution_detail_view import (
5
6
  FunctionInvocationExecutionDetailView as FunctionInvocationExecutionDetailView,