runloop-api-client 0.1.0a21__tar.gz → 0.1.0a23__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.
- runloop_api_client-0.1.0a23/.release-please-manifest.json +3 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/CHANGELOG.md +30 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/CONTRIBUTING.md +24 -20
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/PKG-INFO +5 -1
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/README.md +4 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/api.md +1 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/pyproject.toml +1 -1
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_base_client.py +8 -1
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_response.py +3 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/blueprints.py +18 -18
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/devboxes/devboxes.py +111 -10
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/devboxes/executions.py +4 -4
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/__init__.py +1 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_build_log.py +4 -4
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +3 -3
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_build_parameters.py +3 -3
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_create_params.py +4 -4
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_list_params.py +1 -1
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_list_view.py +4 -4
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_preview_params.py +4 -4
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_preview_view.py +2 -2
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/blueprint_view.py +8 -8
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/code_mount_parameters.py +8 -8
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/code_mount_parameters_param.py +9 -9
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +5 -5
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +4 -4
- runloop_api_client-0.1.0a23/src/runloop_api_client/types/devbox_download_file_params.py +12 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_execute_async_params.py +2 -2
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_execute_sync_params.py +2 -2
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_execution_detail_view.py +7 -7
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_list_view.py +4 -4
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_read_file_contents_params.py +2 -2
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_view.py +18 -18
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_write_file_params.py +3 -3
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +10 -10
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +2 -2
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +2 -2
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/project_list_view.py +7 -7
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/shared/project_logs_view.py +6 -6
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/devboxes/test_executions.py +16 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/test_blueprints.py +66 -42
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/test_devboxes.py +162 -40
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_client.py +2 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_response.py +50 -0
- runloop_api_client-0.1.0a21/.release-please-manifest.json +0 -3
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/.gitignore +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/LICENSE +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/SECURITY.md +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/bin/check-release-environment +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/bin/publish-pypi +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/examples/.keep +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/mypy.ini +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/noxfile.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/release-please-config.json +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/requirements-dev.lock +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/requirements.lock +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/functions/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/functions/functions.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/functions/invocations.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/projects/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/projects/logs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/resources/projects/projects.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/function_list_view.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/functions/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/projects/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/resource_size.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/types/shared/function_invocation_execution_detail_view.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/functions/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/functions/test_invocations.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/projects/__init__.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/projects/test_logs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/test_functions.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/api_resources/test_projects.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/conftest.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_files.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_models.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_qs.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_transform.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/tests/utils.py +0 -0
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.23 (2024-10-07)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.1.0-alpha.22...v0.1.0-alpha.23](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.22...v0.1.0-alpha.23)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** OpenAPI spec update via Stainless API ([#177](https://github.com/runloopai/api-client-python/issues/177)) ([ffb1036](https://github.com/runloopai/api-client-python/commit/ffb1036dbfc4cbd07a13ecdd2b18325604d7674c))
|
|
10
|
+
* **api:** OpenAPI spec update via Stainless API ([#179](https://github.com/runloopai/api-client-python/issues/179)) ([77911b5](https://github.com/runloopai/api-client-python/commit/77911b5618161d23bba170802f102308ba21c13e))
|
|
11
|
+
* **api:** OpenAPI spec update via Stainless API ([#180](https://github.com/runloopai/api-client-python/issues/180)) ([0849ddb](https://github.com/runloopai/api-client-python/commit/0849ddb9062ba0c2e3d2adfb2e2b3f2f72f4c29b))
|
|
12
|
+
* **api:** OpenAPI spec update via Stainless API ([#184](https://github.com/runloopai/api-client-python/issues/184)) ([7022855](https://github.com/runloopai/api-client-python/commit/702285559eac8be1082f7a0b7a8f66d034377286))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **client:** avoid OverflowError with very large retry counts ([#182](https://github.com/runloopai/api-client-python/issues/182)) ([c183989](https://github.com/runloopai/api-client-python/commit/c183989104d3e2e283a082999ca5c6b5e93a463e))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Chores
|
|
21
|
+
|
|
22
|
+
* add repr to PageInfo class ([#183](https://github.com/runloopai/api-client-python/issues/183)) ([29b7283](https://github.com/runloopai/api-client-python/commit/29b7283228e3fa02621d65b93efff058c4330cba))
|
|
23
|
+
* **internal:** add support for parsing bool response content ([#181](https://github.com/runloopai/api-client-python/issues/181)) ([e2f1795](https://github.com/runloopai/api-client-python/commit/e2f1795c158baaf93118af62d4156629aa2ac816))
|
|
24
|
+
|
|
25
|
+
## 0.1.0-alpha.22 (2024-10-01)
|
|
26
|
+
|
|
27
|
+
Full Changelog: [v0.1.0-alpha.21...v0.1.0-alpha.22](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.21...v0.1.0-alpha.22)
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
* **api:** OpenAPI spec update via Stainless API ([#174](https://github.com/runloopai/api-client-python/issues/174)) ([83ea2bc](https://github.com/runloopai/api-client-python/commit/83ea2bc3a8e222ab35f23145ba30a003574719a8))
|
|
32
|
+
|
|
3
33
|
## 0.1.0-alpha.21 (2024-10-01)
|
|
4
34
|
|
|
5
35
|
Full Changelog: [v0.1.0-alpha.20...v0.1.0-alpha.21](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.20...v0.1.0-alpha.21)
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
### With Rye
|
|
4
4
|
|
|
5
|
-
We use [Rye](https://rye.astral.sh/) to manage dependencies
|
|
5
|
+
We use [Rye](https://rye.astral.sh/) to manage dependencies because it will automatically provision a Python environment with the expected Python version. To set it up, run:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```sh
|
|
8
|
+
$ ./scripts/bootstrap
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or [install Rye manually](https://rye.astral.sh/guide/installation/) and run:
|
|
8
12
|
|
|
9
13
|
```sh
|
|
10
14
|
$ rye sync --all-features
|
|
@@ -39,17 +43,17 @@ modify the contents of the `src/runloop_api_client/lib/` and `examples/` directo
|
|
|
39
43
|
|
|
40
44
|
All files in the `examples/` directory are not modified by the generator and can be freely edited or added to.
|
|
41
45
|
|
|
42
|
-
```
|
|
46
|
+
```py
|
|
43
47
|
# add an example to examples/<your-example>.py
|
|
44
48
|
|
|
45
49
|
#!/usr/bin/env -S rye run python
|
|
46
50
|
…
|
|
47
51
|
```
|
|
48
52
|
|
|
49
|
-
```
|
|
50
|
-
chmod +x examples/<your-example>.py
|
|
53
|
+
```sh
|
|
54
|
+
$ chmod +x examples/<your-example>.py
|
|
51
55
|
# run the example against your api
|
|
52
|
-
./examples/<your-example>.py
|
|
56
|
+
$ ./examples/<your-example>.py
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
## Using the repository from source
|
|
@@ -58,8 +62,8 @@ If you’d like to use the repository from source, you can either install from g
|
|
|
58
62
|
|
|
59
63
|
To install via git:
|
|
60
64
|
|
|
61
|
-
```
|
|
62
|
-
pip install git+ssh://git@github.com/runloopai/api-client-python.git
|
|
65
|
+
```sh
|
|
66
|
+
$ pip install git+ssh://git@github.com/runloopai/api-client-python.git
|
|
63
67
|
```
|
|
64
68
|
|
|
65
69
|
Alternatively, you can build from source and install the wheel file:
|
|
@@ -68,29 +72,29 @@ Building this package will create two files in the `dist/` directory, a `.tar.gz
|
|
|
68
72
|
|
|
69
73
|
To create a distributable version of the library, all you have to do is run this command:
|
|
70
74
|
|
|
71
|
-
```
|
|
72
|
-
rye build
|
|
75
|
+
```sh
|
|
76
|
+
$ rye build
|
|
73
77
|
# or
|
|
74
|
-
python -m build
|
|
78
|
+
$ python -m build
|
|
75
79
|
```
|
|
76
80
|
|
|
77
81
|
Then to install:
|
|
78
82
|
|
|
79
83
|
```sh
|
|
80
|
-
pip install ./path-to-wheel-file.whl
|
|
84
|
+
$ pip install ./path-to-wheel-file.whl
|
|
81
85
|
```
|
|
82
86
|
|
|
83
87
|
## Running tests
|
|
84
88
|
|
|
85
89
|
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
|
|
86
90
|
|
|
87
|
-
```
|
|
91
|
+
```sh
|
|
88
92
|
# you will need npm installed
|
|
89
|
-
npx prism mock path/to/your/openapi.yml
|
|
93
|
+
$ npx prism mock path/to/your/openapi.yml
|
|
90
94
|
```
|
|
91
95
|
|
|
92
|
-
```
|
|
93
|
-
|
|
96
|
+
```sh
|
|
97
|
+
$ ./scripts/test
|
|
94
98
|
```
|
|
95
99
|
|
|
96
100
|
## Linting and formatting
|
|
@@ -100,14 +104,14 @@ This repository uses [ruff](https://github.com/astral-sh/ruff) and
|
|
|
100
104
|
|
|
101
105
|
To lint:
|
|
102
106
|
|
|
103
|
-
```
|
|
104
|
-
|
|
107
|
+
```sh
|
|
108
|
+
$ ./scripts/lint
|
|
105
109
|
```
|
|
106
110
|
|
|
107
111
|
To format and fix all ruff issues automatically:
|
|
108
112
|
|
|
109
|
-
```
|
|
110
|
-
|
|
113
|
+
```sh
|
|
114
|
+
$ ./scripts/format
|
|
111
115
|
```
|
|
112
116
|
|
|
113
117
|
## Publishing and releases
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.0a23
|
|
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
|
|
@@ -349,3 +349,7 @@ print(runloop_api_client.__version__)
|
|
|
349
349
|
## Requirements
|
|
350
350
|
|
|
351
351
|
Python 3.7 or higher.
|
|
352
|
+
|
|
353
|
+
## Contributing
|
|
354
|
+
|
|
355
|
+
See [the contributing documentation](https://github.com/runloopai/api-client-python/tree/main/./CONTRIBUTING.md).
|
|
@@ -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}/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>
|
|
68
69
|
- <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>
|
|
69
70
|
- <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>
|
|
70
71
|
- <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>
|
{runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_base_client.py
RENAMED
|
@@ -143,6 +143,12 @@ class PageInfo:
|
|
|
143
143
|
self.url = url
|
|
144
144
|
self.params = params
|
|
145
145
|
|
|
146
|
+
@override
|
|
147
|
+
def __repr__(self) -> str:
|
|
148
|
+
if self.url:
|
|
149
|
+
return f"{self.__class__.__name__}(url={self.url})"
|
|
150
|
+
return f"{self.__class__.__name__}(params={self.params})"
|
|
151
|
+
|
|
146
152
|
|
|
147
153
|
class BasePage(GenericModel, Generic[_T]):
|
|
148
154
|
"""
|
|
@@ -689,7 +695,8 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
689
695
|
if retry_after is not None and 0 < retry_after <= 60:
|
|
690
696
|
return retry_after
|
|
691
697
|
|
|
692
|
-
|
|
698
|
+
# Also cap retry count to 1000 to avoid any potential overflows with `pow`
|
|
699
|
+
nb_retries = min(max_retries - remaining_retries, 1000)
|
|
693
700
|
|
|
694
701
|
# Apply exponential backoff, but not more than the max.
|
|
695
702
|
sleep_seconds = min(INITIAL_RETRY_DELAY * pow(2.0, nb_retries), MAX_RETRY_DELAY)
|
{runloop_api_client-0.1.0a21 → runloop_api_client-0.1.0a23}/src/runloop_api_client/_response.py
RENAMED
|
@@ -192,6 +192,9 @@ class BaseAPIResponse(Generic[R]):
|
|
|
192
192
|
if cast_to == float:
|
|
193
193
|
return cast(R, float(response.text))
|
|
194
194
|
|
|
195
|
+
if cast_to == bool:
|
|
196
|
+
return cast(R, response.text.lower() == "true")
|
|
197
|
+
|
|
195
198
|
origin = get_origin(cast_to) or cast_to
|
|
196
199
|
|
|
197
200
|
if origin == APIResponse:
|
|
@@ -53,11 +53,11 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
53
53
|
def create(
|
|
54
54
|
self,
|
|
55
55
|
*,
|
|
56
|
+
name: str,
|
|
56
57
|
code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
|
|
57
58
|
dockerfile: str | NotGiven = NOT_GIVEN,
|
|
58
59
|
file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
59
60
|
launch_parameters: blueprint_create_params.LaunchParameters | NotGiven = NOT_GIVEN,
|
|
60
|
-
name: str | NotGiven = NOT_GIVEN,
|
|
61
61
|
system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
|
|
62
62
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
63
63
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -73,6 +73,8 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
73
73
|
ready.
|
|
74
74
|
|
|
75
75
|
Args:
|
|
76
|
+
name: Name of the Blueprint.
|
|
77
|
+
|
|
76
78
|
code_mounts: A list of code mounts to be included in the Blueprint.
|
|
77
79
|
|
|
78
80
|
dockerfile: Dockerfile contents to be used to build the Blueprint.
|
|
@@ -81,8 +83,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
81
83
|
|
|
82
84
|
launch_parameters: Parameters to configure your Devbox at launch time.
|
|
83
85
|
|
|
84
|
-
name: Name of the Blueprint.
|
|
85
|
-
|
|
86
86
|
system_setup_commands: A list of commands to run to set up your system.
|
|
87
87
|
|
|
88
88
|
extra_headers: Send extra headers
|
|
@@ -97,11 +97,11 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
97
97
|
"/v1/blueprints",
|
|
98
98
|
body=maybe_transform(
|
|
99
99
|
{
|
|
100
|
+
"name": name,
|
|
100
101
|
"code_mounts": code_mounts,
|
|
101
102
|
"dockerfile": dockerfile,
|
|
102
103
|
"file_mounts": file_mounts,
|
|
103
104
|
"launch_parameters": launch_parameters,
|
|
104
|
-
"name": name,
|
|
105
105
|
"system_setup_commands": system_setup_commands,
|
|
106
106
|
},
|
|
107
107
|
blueprint_create_params.BlueprintCreateParams,
|
|
@@ -148,7 +148,7 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
148
148
|
def list(
|
|
149
149
|
self,
|
|
150
150
|
*,
|
|
151
|
-
limit:
|
|
151
|
+
limit: int | NotGiven = NOT_GIVEN,
|
|
152
152
|
name: str | NotGiven = NOT_GIVEN,
|
|
153
153
|
starting_after: str | NotGiven = NOT_GIVEN,
|
|
154
154
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -233,11 +233,11 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
233
233
|
def preview(
|
|
234
234
|
self,
|
|
235
235
|
*,
|
|
236
|
+
name: str,
|
|
236
237
|
code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
|
|
237
238
|
dockerfile: str | NotGiven = NOT_GIVEN,
|
|
238
239
|
file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
239
240
|
launch_parameters: blueprint_preview_params.LaunchParameters | NotGiven = NOT_GIVEN,
|
|
240
|
-
name: str | NotGiven = NOT_GIVEN,
|
|
241
241
|
system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
|
|
242
242
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
243
243
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -252,6 +252,8 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
252
252
|
resulting Dockerfile and test out your build.
|
|
253
253
|
|
|
254
254
|
Args:
|
|
255
|
+
name: Name of the Blueprint.
|
|
256
|
+
|
|
255
257
|
code_mounts: A list of code mounts to be included in the Blueprint.
|
|
256
258
|
|
|
257
259
|
dockerfile: Dockerfile contents to be used to build the Blueprint.
|
|
@@ -260,8 +262,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
260
262
|
|
|
261
263
|
launch_parameters: Parameters to configure your Devbox at launch time.
|
|
262
264
|
|
|
263
|
-
name: Name of the Blueprint.
|
|
264
|
-
|
|
265
265
|
system_setup_commands: A list of commands to run to set up your system.
|
|
266
266
|
|
|
267
267
|
extra_headers: Send extra headers
|
|
@@ -276,11 +276,11 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
276
276
|
"/v1/blueprints/preview",
|
|
277
277
|
body=maybe_transform(
|
|
278
278
|
{
|
|
279
|
+
"name": name,
|
|
279
280
|
"code_mounts": code_mounts,
|
|
280
281
|
"dockerfile": dockerfile,
|
|
281
282
|
"file_mounts": file_mounts,
|
|
282
283
|
"launch_parameters": launch_parameters,
|
|
283
|
-
"name": name,
|
|
284
284
|
"system_setup_commands": system_setup_commands,
|
|
285
285
|
},
|
|
286
286
|
blueprint_preview_params.BlueprintPreviewParams,
|
|
@@ -315,11 +315,11 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
315
315
|
async def create(
|
|
316
316
|
self,
|
|
317
317
|
*,
|
|
318
|
+
name: str,
|
|
318
319
|
code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
|
|
319
320
|
dockerfile: str | NotGiven = NOT_GIVEN,
|
|
320
321
|
file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
321
322
|
launch_parameters: blueprint_create_params.LaunchParameters | NotGiven = NOT_GIVEN,
|
|
322
|
-
name: str | NotGiven = NOT_GIVEN,
|
|
323
323
|
system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
|
|
324
324
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
325
325
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -335,6 +335,8 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
335
335
|
ready.
|
|
336
336
|
|
|
337
337
|
Args:
|
|
338
|
+
name: Name of the Blueprint.
|
|
339
|
+
|
|
338
340
|
code_mounts: A list of code mounts to be included in the Blueprint.
|
|
339
341
|
|
|
340
342
|
dockerfile: Dockerfile contents to be used to build the Blueprint.
|
|
@@ -343,8 +345,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
343
345
|
|
|
344
346
|
launch_parameters: Parameters to configure your Devbox at launch time.
|
|
345
347
|
|
|
346
|
-
name: Name of the Blueprint.
|
|
347
|
-
|
|
348
348
|
system_setup_commands: A list of commands to run to set up your system.
|
|
349
349
|
|
|
350
350
|
extra_headers: Send extra headers
|
|
@@ -359,11 +359,11 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
359
359
|
"/v1/blueprints",
|
|
360
360
|
body=await async_maybe_transform(
|
|
361
361
|
{
|
|
362
|
+
"name": name,
|
|
362
363
|
"code_mounts": code_mounts,
|
|
363
364
|
"dockerfile": dockerfile,
|
|
364
365
|
"file_mounts": file_mounts,
|
|
365
366
|
"launch_parameters": launch_parameters,
|
|
366
|
-
"name": name,
|
|
367
367
|
"system_setup_commands": system_setup_commands,
|
|
368
368
|
},
|
|
369
369
|
blueprint_create_params.BlueprintCreateParams,
|
|
@@ -410,7 +410,7 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
410
410
|
async def list(
|
|
411
411
|
self,
|
|
412
412
|
*,
|
|
413
|
-
limit:
|
|
413
|
+
limit: int | NotGiven = NOT_GIVEN,
|
|
414
414
|
name: str | NotGiven = NOT_GIVEN,
|
|
415
415
|
starting_after: str | NotGiven = NOT_GIVEN,
|
|
416
416
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -495,11 +495,11 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
495
495
|
async def preview(
|
|
496
496
|
self,
|
|
497
497
|
*,
|
|
498
|
+
name: str,
|
|
498
499
|
code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
|
|
499
500
|
dockerfile: str | NotGiven = NOT_GIVEN,
|
|
500
501
|
file_mounts: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
501
502
|
launch_parameters: blueprint_preview_params.LaunchParameters | NotGiven = NOT_GIVEN,
|
|
502
|
-
name: str | NotGiven = NOT_GIVEN,
|
|
503
503
|
system_setup_commands: List[str] | NotGiven = NOT_GIVEN,
|
|
504
504
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
505
505
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -514,6 +514,8 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
514
514
|
resulting Dockerfile and test out your build.
|
|
515
515
|
|
|
516
516
|
Args:
|
|
517
|
+
name: Name of the Blueprint.
|
|
518
|
+
|
|
517
519
|
code_mounts: A list of code mounts to be included in the Blueprint.
|
|
518
520
|
|
|
519
521
|
dockerfile: Dockerfile contents to be used to build the Blueprint.
|
|
@@ -522,8 +524,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
522
524
|
|
|
523
525
|
launch_parameters: Parameters to configure your Devbox at launch time.
|
|
524
526
|
|
|
525
|
-
name: Name of the Blueprint.
|
|
526
|
-
|
|
527
527
|
system_setup_commands: A list of commands to run to set up your system.
|
|
528
528
|
|
|
529
529
|
extra_headers: Send extra headers
|
|
@@ -538,11 +538,11 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
538
538
|
"/v1/blueprints/preview",
|
|
539
539
|
body=await async_maybe_transform(
|
|
540
540
|
{
|
|
541
|
+
"name": name,
|
|
541
542
|
"code_mounts": code_mounts,
|
|
542
543
|
"dockerfile": dockerfile,
|
|
543
544
|
"file_mounts": file_mounts,
|
|
544
545
|
"launch_parameters": launch_parameters,
|
|
545
|
-
"name": name,
|
|
546
546
|
"system_setup_commands": system_setup_commands,
|
|
547
547
|
},
|
|
548
548
|
blueprint_preview_params.BlueprintPreviewParams,
|
|
@@ -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_download_file_params,
|
|
23
24
|
devbox_execute_async_params,
|
|
24
25
|
devbox_read_file_contents_params,
|
|
25
26
|
)
|
|
@@ -41,10 +42,18 @@ from .executions import (
|
|
|
41
42
|
)
|
|
42
43
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
43
44
|
from ..._response import (
|
|
45
|
+
BinaryAPIResponse,
|
|
46
|
+
AsyncBinaryAPIResponse,
|
|
47
|
+
StreamedBinaryAPIResponse,
|
|
48
|
+
AsyncStreamedBinaryAPIResponse,
|
|
44
49
|
to_raw_response_wrapper,
|
|
45
50
|
to_streamed_response_wrapper,
|
|
46
51
|
async_to_raw_response_wrapper,
|
|
52
|
+
to_custom_raw_response_wrapper,
|
|
47
53
|
async_to_streamed_response_wrapper,
|
|
54
|
+
to_custom_streamed_response_wrapper,
|
|
55
|
+
async_to_custom_raw_response_wrapper,
|
|
56
|
+
async_to_custom_streamed_response_wrapper,
|
|
48
57
|
)
|
|
49
58
|
from ..._base_client import make_request_options
|
|
50
59
|
from ...types.devbox_view import DevboxView
|
|
@@ -291,11 +300,49 @@ class DevboxesResource(SyncAPIResource):
|
|
|
291
300
|
cast_to=DevboxCreateSSHKeyResponse,
|
|
292
301
|
)
|
|
293
302
|
|
|
303
|
+
def download_file(
|
|
304
|
+
self,
|
|
305
|
+
id: str,
|
|
306
|
+
*,
|
|
307
|
+
path: str,
|
|
308
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
309
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
310
|
+
extra_headers: Headers | None = None,
|
|
311
|
+
extra_query: Query | None = None,
|
|
312
|
+
extra_body: Body | None = None,
|
|
313
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
314
|
+
) -> BinaryAPIResponse:
|
|
315
|
+
"""
|
|
316
|
+
Download file contents to a file at path on the Devbox.
|
|
317
|
+
|
|
318
|
+
Args:
|
|
319
|
+
path: The path on the devbox to read the file
|
|
320
|
+
|
|
321
|
+
extra_headers: Send extra headers
|
|
322
|
+
|
|
323
|
+
extra_query: Add additional query parameters to the request
|
|
324
|
+
|
|
325
|
+
extra_body: Add additional JSON properties to the request
|
|
326
|
+
|
|
327
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
328
|
+
"""
|
|
329
|
+
if not id:
|
|
330
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
331
|
+
extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
|
|
332
|
+
return self._post(
|
|
333
|
+
f"/v1/devboxes/{id}/download_file",
|
|
334
|
+
body=maybe_transform({"path": path}, devbox_download_file_params.DevboxDownloadFileParams),
|
|
335
|
+
options=make_request_options(
|
|
336
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
337
|
+
),
|
|
338
|
+
cast_to=BinaryAPIResponse,
|
|
339
|
+
)
|
|
340
|
+
|
|
294
341
|
def execute_async(
|
|
295
342
|
self,
|
|
296
343
|
id: str,
|
|
297
344
|
*,
|
|
298
|
-
command: str
|
|
345
|
+
command: str,
|
|
299
346
|
shell_name: str | NotGiven = NOT_GIVEN,
|
|
300
347
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
301
348
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -341,7 +388,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
341
388
|
self,
|
|
342
389
|
id: str,
|
|
343
390
|
*,
|
|
344
|
-
command: str
|
|
391
|
+
command: str,
|
|
345
392
|
shell_name: str | NotGiven = NOT_GIVEN,
|
|
346
393
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
347
394
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -387,7 +434,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
387
434
|
self,
|
|
388
435
|
id: str,
|
|
389
436
|
*,
|
|
390
|
-
file_path: str
|
|
437
|
+
file_path: str,
|
|
391
438
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
392
439
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
393
440
|
extra_headers: Headers | None = None,
|
|
@@ -509,8 +556,8 @@ class DevboxesResource(SyncAPIResource):
|
|
|
509
556
|
self,
|
|
510
557
|
id: str,
|
|
511
558
|
*,
|
|
512
|
-
contents: str
|
|
513
|
-
file_path: str
|
|
559
|
+
contents: str,
|
|
560
|
+
file_path: str,
|
|
514
561
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
515
562
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
516
563
|
extra_headers: Headers | None = None,
|
|
@@ -786,11 +833,49 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
786
833
|
cast_to=DevboxCreateSSHKeyResponse,
|
|
787
834
|
)
|
|
788
835
|
|
|
836
|
+
async def download_file(
|
|
837
|
+
self,
|
|
838
|
+
id: str,
|
|
839
|
+
*,
|
|
840
|
+
path: str,
|
|
841
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
842
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
843
|
+
extra_headers: Headers | None = None,
|
|
844
|
+
extra_query: Query | None = None,
|
|
845
|
+
extra_body: Body | None = None,
|
|
846
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
847
|
+
) -> AsyncBinaryAPIResponse:
|
|
848
|
+
"""
|
|
849
|
+
Download file contents to a file at path on the Devbox.
|
|
850
|
+
|
|
851
|
+
Args:
|
|
852
|
+
path: The path on the devbox to read the file
|
|
853
|
+
|
|
854
|
+
extra_headers: Send extra headers
|
|
855
|
+
|
|
856
|
+
extra_query: Add additional query parameters to the request
|
|
857
|
+
|
|
858
|
+
extra_body: Add additional JSON properties to the request
|
|
859
|
+
|
|
860
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
861
|
+
"""
|
|
862
|
+
if not id:
|
|
863
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
864
|
+
extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
|
|
865
|
+
return await self._post(
|
|
866
|
+
f"/v1/devboxes/{id}/download_file",
|
|
867
|
+
body=await async_maybe_transform({"path": path}, devbox_download_file_params.DevboxDownloadFileParams),
|
|
868
|
+
options=make_request_options(
|
|
869
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
870
|
+
),
|
|
871
|
+
cast_to=AsyncBinaryAPIResponse,
|
|
872
|
+
)
|
|
873
|
+
|
|
789
874
|
async def execute_async(
|
|
790
875
|
self,
|
|
791
876
|
id: str,
|
|
792
877
|
*,
|
|
793
|
-
command: str
|
|
878
|
+
command: str,
|
|
794
879
|
shell_name: str | NotGiven = NOT_GIVEN,
|
|
795
880
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
796
881
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -836,7 +921,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
836
921
|
self,
|
|
837
922
|
id: str,
|
|
838
923
|
*,
|
|
839
|
-
command: str
|
|
924
|
+
command: str,
|
|
840
925
|
shell_name: str | NotGiven = NOT_GIVEN,
|
|
841
926
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
842
927
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -882,7 +967,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
882
967
|
self,
|
|
883
968
|
id: str,
|
|
884
969
|
*,
|
|
885
|
-
file_path: str
|
|
970
|
+
file_path: str,
|
|
886
971
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
887
972
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
888
973
|
extra_headers: Headers | None = None,
|
|
@@ -1004,8 +1089,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1004
1089
|
self,
|
|
1005
1090
|
id: str,
|
|
1006
1091
|
*,
|
|
1007
|
-
contents: str
|
|
1008
|
-
file_path: str
|
|
1092
|
+
contents: str,
|
|
1093
|
+
file_path: str,
|
|
1009
1094
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1010
1095
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1011
1096
|
extra_headers: Headers | None = None,
|
|
@@ -1063,6 +1148,10 @@ class DevboxesResourceWithRawResponse:
|
|
|
1063
1148
|
self.create_ssh_key = to_raw_response_wrapper(
|
|
1064
1149
|
devboxes.create_ssh_key,
|
|
1065
1150
|
)
|
|
1151
|
+
self.download_file = to_custom_raw_response_wrapper(
|
|
1152
|
+
devboxes.download_file,
|
|
1153
|
+
BinaryAPIResponse,
|
|
1154
|
+
)
|
|
1066
1155
|
self.execute_async = to_raw_response_wrapper(
|
|
1067
1156
|
devboxes.execute_async,
|
|
1068
1157
|
)
|
|
@@ -1107,6 +1196,10 @@ class AsyncDevboxesResourceWithRawResponse:
|
|
|
1107
1196
|
self.create_ssh_key = async_to_raw_response_wrapper(
|
|
1108
1197
|
devboxes.create_ssh_key,
|
|
1109
1198
|
)
|
|
1199
|
+
self.download_file = async_to_custom_raw_response_wrapper(
|
|
1200
|
+
devboxes.download_file,
|
|
1201
|
+
AsyncBinaryAPIResponse,
|
|
1202
|
+
)
|
|
1110
1203
|
self.execute_async = async_to_raw_response_wrapper(
|
|
1111
1204
|
devboxes.execute_async,
|
|
1112
1205
|
)
|
|
@@ -1151,6 +1244,10 @@ class DevboxesResourceWithStreamingResponse:
|
|
|
1151
1244
|
self.create_ssh_key = to_streamed_response_wrapper(
|
|
1152
1245
|
devboxes.create_ssh_key,
|
|
1153
1246
|
)
|
|
1247
|
+
self.download_file = to_custom_streamed_response_wrapper(
|
|
1248
|
+
devboxes.download_file,
|
|
1249
|
+
StreamedBinaryAPIResponse,
|
|
1250
|
+
)
|
|
1154
1251
|
self.execute_async = to_streamed_response_wrapper(
|
|
1155
1252
|
devboxes.execute_async,
|
|
1156
1253
|
)
|
|
@@ -1195,6 +1292,10 @@ class AsyncDevboxesResourceWithStreamingResponse:
|
|
|
1195
1292
|
self.create_ssh_key = async_to_streamed_response_wrapper(
|
|
1196
1293
|
devboxes.create_ssh_key,
|
|
1197
1294
|
)
|
|
1295
|
+
self.download_file = async_to_custom_streamed_response_wrapper(
|
|
1296
|
+
devboxes.download_file,
|
|
1297
|
+
AsyncStreamedBinaryAPIResponse,
|
|
1298
|
+
)
|
|
1198
1299
|
self.execute_async = async_to_streamed_response_wrapper(
|
|
1199
1300
|
devboxes.execute_async,
|
|
1200
1301
|
)
|