runloop-api-client 0.1.0a17__tar.gz → 0.1.0a19__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 (128) hide show
  1. runloop_api_client-0.1.0a19/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/CHANGELOG.md +17 -0
  3. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/PKG-INFO +1 -1
  4. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/api.md +1 -0
  5. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/pyproject.toml +1 -1
  6. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/devboxes/devboxes.py +90 -0
  8. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/__init__.py +1 -0
  9. runloop_api_client-0.1.0a19/src/runloop_api_client/types/devbox_execute_async_params.py +12 -0
  10. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  11. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/test_devboxes.py +93 -0
  12. runloop_api_client-0.1.0a17/.release-please-manifest.json +0 -3
  13. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/.gitignore +0 -0
  14. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/CONTRIBUTING.md +0 -0
  15. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/LICENSE +0 -0
  16. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/README.md +0 -0
  17. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/SECURITY.md +0 -0
  18. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/bin/check-release-environment +0 -0
  19. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/bin/publish-pypi +0 -0
  20. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/examples/.keep +0 -0
  21. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/mypy.ini +0 -0
  22. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/noxfile.py +0 -0
  23. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/release-please-config.json +0 -0
  24. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/requirements-dev.lock +0 -0
  25. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/requirements.lock +0 -0
  26. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop/lib/.keep +0 -0
  27. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/__init__.py +0 -0
  28. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_base_client.py +0 -0
  29. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_client.py +0 -0
  30. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_compat.py +0 -0
  31. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_constants.py +0 -0
  32. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_exceptions.py +0 -0
  33. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_files.py +0 -0
  34. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_models.py +0 -0
  35. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_qs.py +0 -0
  36. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_resource.py +0 -0
  37. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_response.py +0 -0
  38. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_streaming.py +0 -0
  39. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_types.py +0 -0
  40. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/__init__.py +0 -0
  41. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_logs.py +0 -0
  42. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_proxy.py +0 -0
  43. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_reflection.py +0 -0
  44. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_streams.py +0 -0
  45. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_sync.py +0 -0
  46. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_transform.py +0 -0
  47. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_typing.py +0 -0
  48. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/_utils/_utils.py +0 -0
  49. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/lib/.keep +0 -0
  50. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/py.typed +0 -0
  51. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/__init__.py +0 -0
  52. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/blueprints.py +0 -0
  53. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  54. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  55. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  56. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/functions/__init__.py +0 -0
  57. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/functions/functions.py +0 -0
  58. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/functions/invocations.py +0 -0
  59. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/projects/__init__.py +0 -0
  60. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/projects/logs.py +0 -0
  61. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/resources/projects/projects.py +0 -0
  62. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  63. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  64. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  65. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  66. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  67. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  68. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  69. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  70. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/blueprint_view.py +0 -0
  71. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/code_mount_parameters.py +0 -0
  72. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/code_mount_parameters_param.py +0 -0
  73. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  74. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  75. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  76. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  77. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  78. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  79. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  80. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  81. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  82. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  83. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_view.py +0 -0
  84. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devbox_write_file_params.py +0 -0
  85. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  86. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  87. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  88. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  89. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  90. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
  91. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
  92. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/function_list_view.py +0 -0
  93. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/functions/__init__.py +0 -0
  94. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -0
  95. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
  96. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/project_list_view.py +0 -0
  97. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/projects/__init__.py +0 -0
  98. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/resource_size.py +0 -0
  99. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/shared/__init__.py +0 -0
  100. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/shared/function_invocation_execution_detail_view.py +0 -0
  101. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
  102. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/__init__.py +0 -0
  103. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/__init__.py +0 -0
  104. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/devboxes/__init__.py +0 -0
  105. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/devboxes/test_executions.py +0 -0
  106. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/devboxes/test_logs.py +0 -0
  107. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/functions/__init__.py +0 -0
  108. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/functions/test_invocations.py +0 -0
  109. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/projects/__init__.py +0 -0
  110. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/projects/test_logs.py +0 -0
  111. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/test_blueprints.py +0 -0
  112. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/test_functions.py +0 -0
  113. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/api_resources/test_projects.py +0 -0
  114. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/conftest.py +0 -0
  115. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/sample_file.txt +0 -0
  116. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_client.py +0 -0
  117. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_deepcopy.py +0 -0
  118. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_extract_files.py +0 -0
  119. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_files.py +0 -0
  120. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_models.py +0 -0
  121. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_qs.py +0 -0
  122. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_required_args.py +0 -0
  123. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_response.py +0 -0
  124. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_streaming.py +0 -0
  125. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_transform.py +0 -0
  126. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_utils/test_proxy.py +0 -0
  127. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/test_utils/test_typing.py +0 -0
  128. {runloop_api_client-0.1.0a17 → runloop_api_client-0.1.0a19}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.19"
3
+ }
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.19 (2024-08-28)
4
+
5
+ Full Changelog: [v0.1.0-alpha.18...v0.1.0-alpha.19](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.18...v0.1.0-alpha.19)
6
+
7
+ ### Features
8
+
9
+ * **api:** OpenAPI spec update via Stainless API ([#139](https://github.com/runloopai/api-client-python/issues/139)) ([f359981](https://github.com/runloopai/api-client-python/commit/f359981163f1358b9556c53a5f72e9cbe5a56a81))
10
+ * **api:** OpenAPI spec update via Stainless API ([#141](https://github.com/runloopai/api-client-python/issues/141)) ([ebd75f4](https://github.com/runloopai/api-client-python/commit/ebd75f4c3e4348e01cb107a77d92477d0906329a))
11
+
12
+ ## 0.1.0-alpha.18 (2024-08-28)
13
+
14
+ Full Changelog: [v0.1.0-alpha.17...v0.1.0-alpha.18](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.17...v0.1.0-alpha.18)
15
+
16
+ ### Features
17
+
18
+ * **api:** OpenAPI spec update via Stainless API ([#136](https://github.com/runloopai/api-client-python/issues/136)) ([ff032bf](https://github.com/runloopai/api-client-python/commit/ff032bfe0559d9057ff6c890349b5d002a60e6e6))
19
+
3
20
  ## 0.1.0-alpha.17 (2024-08-27)
4
21
 
5
22
  Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.16...v0.1.0-alpha.17)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.1.0a17
3
+ Version: 0.1.0a19
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
@@ -65,6 +65,7 @@ Methods:
65
65
  - <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>
66
66
  - <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>
67
67
  - <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>
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>
68
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>
69
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>
70
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>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.1.0-alpha.17"
3
+ version = "0.1.0-alpha.19"
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.1.0-alpha.17" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.19" # x-release-please-version
@@ -20,6 +20,7 @@ from ...types import (
20
20
  devbox_write_file_params,
21
21
  devbox_upload_file_params,
22
22
  devbox_execute_sync_params,
23
+ devbox_execute_async_params,
23
24
  devbox_read_file_contents_params,
24
25
  )
25
26
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
@@ -50,6 +51,7 @@ from ...types.devbox_view import DevboxView
50
51
  from ...types.devbox_list_view import DevboxListView
51
52
  from ...types.devbox_execution_detail_view import DevboxExecutionDetailView
52
53
  from ...types.devbox_create_ssh_key_response import DevboxCreateSSHKeyResponse
54
+ from ...types.devbox_async_execution_detail_view import DevboxAsyncExecutionDetailView
53
55
 
54
56
  __all__ = ["DevboxesResource", "AsyncDevboxesResource"]
55
57
 
@@ -269,6 +271,43 @@ class DevboxesResource(SyncAPIResource):
269
271
  cast_to=DevboxCreateSSHKeyResponse,
270
272
  )
271
273
 
274
+ def execute_async(
275
+ self,
276
+ id: str,
277
+ *,
278
+ command: str | NotGiven = NOT_GIVEN,
279
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
280
+ # The extra values given here take precedence over values defined on the client or passed to this method.
281
+ extra_headers: Headers | None = None,
282
+ extra_query: Query | None = None,
283
+ extra_body: Body | None = None,
284
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
285
+ ) -> DevboxAsyncExecutionDetailView:
286
+ """
287
+ Asynchronously execute a command on a devbox
288
+
289
+ Args:
290
+ command: The command to execute on the Devbox.
291
+
292
+ extra_headers: Send extra headers
293
+
294
+ extra_query: Add additional query parameters to the request
295
+
296
+ extra_body: Add additional JSON properties to the request
297
+
298
+ timeout: Override the client-level default timeout for this request, in seconds
299
+ """
300
+ if not id:
301
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
302
+ return self._post(
303
+ f"/v1/devboxes/{id}/execute_async",
304
+ body=maybe_transform({"command": command}, devbox_execute_async_params.DevboxExecuteAsyncParams),
305
+ options=make_request_options(
306
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
307
+ ),
308
+ cast_to=DevboxAsyncExecutionDetailView,
309
+ )
310
+
272
311
  def execute_sync(
273
312
  self,
274
313
  id: str,
@@ -690,6 +729,45 @@ class AsyncDevboxesResource(AsyncAPIResource):
690
729
  cast_to=DevboxCreateSSHKeyResponse,
691
730
  )
692
731
 
732
+ async def execute_async(
733
+ self,
734
+ id: str,
735
+ *,
736
+ command: str | NotGiven = NOT_GIVEN,
737
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
738
+ # The extra values given here take precedence over values defined on the client or passed to this method.
739
+ extra_headers: Headers | None = None,
740
+ extra_query: Query | None = None,
741
+ extra_body: Body | None = None,
742
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
743
+ ) -> DevboxAsyncExecutionDetailView:
744
+ """
745
+ Asynchronously execute a command on a devbox
746
+
747
+ Args:
748
+ command: The command to execute on the Devbox.
749
+
750
+ extra_headers: Send extra headers
751
+
752
+ extra_query: Add additional query parameters to the request
753
+
754
+ extra_body: Add additional JSON properties to the request
755
+
756
+ timeout: Override the client-level default timeout for this request, in seconds
757
+ """
758
+ if not id:
759
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
760
+ return await self._post(
761
+ f"/v1/devboxes/{id}/execute_async",
762
+ body=await async_maybe_transform(
763
+ {"command": command}, devbox_execute_async_params.DevboxExecuteAsyncParams
764
+ ),
765
+ options=make_request_options(
766
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
767
+ ),
768
+ cast_to=DevboxAsyncExecutionDetailView,
769
+ )
770
+
693
771
  async def execute_sync(
694
772
  self,
695
773
  id: str,
@@ -912,6 +990,9 @@ class DevboxesResourceWithRawResponse:
912
990
  self.create_ssh_key = to_raw_response_wrapper(
913
991
  devboxes.create_ssh_key,
914
992
  )
993
+ self.execute_async = to_raw_response_wrapper(
994
+ devboxes.execute_async,
995
+ )
915
996
  self.execute_sync = to_raw_response_wrapper(
916
997
  devboxes.execute_sync,
917
998
  )
@@ -953,6 +1034,9 @@ class AsyncDevboxesResourceWithRawResponse:
953
1034
  self.create_ssh_key = async_to_raw_response_wrapper(
954
1035
  devboxes.create_ssh_key,
955
1036
  )
1037
+ self.execute_async = async_to_raw_response_wrapper(
1038
+ devboxes.execute_async,
1039
+ )
956
1040
  self.execute_sync = async_to_raw_response_wrapper(
957
1041
  devboxes.execute_sync,
958
1042
  )
@@ -994,6 +1078,9 @@ class DevboxesResourceWithStreamingResponse:
994
1078
  self.create_ssh_key = to_streamed_response_wrapper(
995
1079
  devboxes.create_ssh_key,
996
1080
  )
1081
+ self.execute_async = to_streamed_response_wrapper(
1082
+ devboxes.execute_async,
1083
+ )
997
1084
  self.execute_sync = to_streamed_response_wrapper(
998
1085
  devboxes.execute_sync,
999
1086
  )
@@ -1035,6 +1122,9 @@ class AsyncDevboxesResourceWithStreamingResponse:
1035
1122
  self.create_ssh_key = async_to_streamed_response_wrapper(
1036
1123
  devboxes.create_ssh_key,
1037
1124
  )
1125
+ self.execute_async = async_to_streamed_response_wrapper(
1126
+ devboxes.execute_async,
1127
+ )
1038
1128
  self.execute_sync = async_to_streamed_response_wrapper(
1039
1129
  devboxes.execute_sync,
1040
1130
  )
@@ -26,6 +26,7 @@ from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFil
26
26
  from .blueprint_build_parameters import BlueprintBuildParameters as BlueprintBuildParameters
27
27
  from .devbox_execute_sync_params import DevboxExecuteSyncParams as DevboxExecuteSyncParams
28
28
  from .code_mount_parameters_param import CodeMountParametersParam as CodeMountParametersParam
29
+ from .devbox_execute_async_params import DevboxExecuteAsyncParams as DevboxExecuteAsyncParams
29
30
  from .function_invoke_sync_params import FunctionInvokeSyncParams as FunctionInvokeSyncParams
30
31
  from .devbox_execution_detail_view import DevboxExecutionDetailView as DevboxExecutionDetailView
31
32
  from .function_invoke_async_params import FunctionInvokeAsyncParams as FunctionInvokeAsyncParams
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["DevboxExecuteAsyncParams"]
8
+
9
+
10
+ class DevboxExecuteAsyncParams(TypedDict, total=False):
11
+ command: str
12
+ """The command to execute on the Devbox."""
@@ -14,6 +14,7 @@ from runloop_api_client.types import (
14
14
  DevboxListView,
15
15
  DevboxExecutionDetailView,
16
16
  DevboxCreateSSHKeyResponse,
17
+ DevboxAsyncExecutionDetailView,
17
18
  )
18
19
 
19
20
  base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -176,6 +177,52 @@ class TestDevboxes:
176
177
  "",
177
178
  )
178
179
 
180
+ @parametrize
181
+ def test_method_execute_async(self, client: Runloop) -> None:
182
+ devbox = client.devboxes.execute_async(
183
+ id="id",
184
+ )
185
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
186
+
187
+ @parametrize
188
+ def test_method_execute_async_with_all_params(self, client: Runloop) -> None:
189
+ devbox = client.devboxes.execute_async(
190
+ id="id",
191
+ command="command",
192
+ )
193
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
194
+
195
+ @parametrize
196
+ def test_raw_response_execute_async(self, client: Runloop) -> None:
197
+ response = client.devboxes.with_raw_response.execute_async(
198
+ id="id",
199
+ )
200
+
201
+ assert response.is_closed is True
202
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
203
+ devbox = response.parse()
204
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
205
+
206
+ @parametrize
207
+ def test_streaming_response_execute_async(self, client: Runloop) -> None:
208
+ with client.devboxes.with_streaming_response.execute_async(
209
+ id="id",
210
+ ) as response:
211
+ assert not response.is_closed
212
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
213
+
214
+ devbox = response.parse()
215
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
216
+
217
+ assert cast(Any, response.is_closed) is True
218
+
219
+ @parametrize
220
+ def test_path_params_execute_async(self, client: Runloop) -> None:
221
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
222
+ client.devboxes.with_raw_response.execute_async(
223
+ id="",
224
+ )
225
+
179
226
  @parametrize
180
227
  def test_method_execute_sync(self, client: Runloop) -> None:
181
228
  devbox = client.devboxes.execute_sync(
@@ -558,6 +605,52 @@ class TestAsyncDevboxes:
558
605
  "",
559
606
  )
560
607
 
608
+ @parametrize
609
+ async def test_method_execute_async(self, async_client: AsyncRunloop) -> None:
610
+ devbox = await async_client.devboxes.execute_async(
611
+ id="id",
612
+ )
613
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
614
+
615
+ @parametrize
616
+ async def test_method_execute_async_with_all_params(self, async_client: AsyncRunloop) -> None:
617
+ devbox = await async_client.devboxes.execute_async(
618
+ id="id",
619
+ command="command",
620
+ )
621
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
622
+
623
+ @parametrize
624
+ async def test_raw_response_execute_async(self, async_client: AsyncRunloop) -> None:
625
+ response = await async_client.devboxes.with_raw_response.execute_async(
626
+ id="id",
627
+ )
628
+
629
+ assert response.is_closed is True
630
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
631
+ devbox = await response.parse()
632
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
633
+
634
+ @parametrize
635
+ async def test_streaming_response_execute_async(self, async_client: AsyncRunloop) -> None:
636
+ async with async_client.devboxes.with_streaming_response.execute_async(
637
+ id="id",
638
+ ) as response:
639
+ assert not response.is_closed
640
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
641
+
642
+ devbox = await response.parse()
643
+ assert_matches_type(DevboxAsyncExecutionDetailView, devbox, path=["response"])
644
+
645
+ assert cast(Any, response.is_closed) is True
646
+
647
+ @parametrize
648
+ async def test_path_params_execute_async(self, async_client: AsyncRunloop) -> None:
649
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
650
+ await async_client.devboxes.with_raw_response.execute_async(
651
+ id="",
652
+ )
653
+
561
654
  @parametrize
562
655
  async def test_method_execute_sync(self, async_client: AsyncRunloop) -> None:
563
656
  devbox = await async_client.devboxes.execute_sync(
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.1.0-alpha.17"
3
- }