runloop-api-client 0.5.0__tar.gz → 0.7.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.
- runloop_api_client-0.7.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/CHANGELOG.md +18 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/PKG-INFO +1 -1
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/api.md +1 -1
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/pyproject.toml +1 -1
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/devboxes.py +9 -10
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/__init__.py +1 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_create_params.py +0 -6
- runloop_api_client-0.7.0/src/runloop_api_client/types/devbox_create_tunnel_params.py +12 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/launch_parameters.py +6 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +7 -1
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_blueprints.py +4 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_devboxes.py +18 -10
- runloop_api_client-0.5.0/.release-please-manifest.json +0 -3
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/.gitignore +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/LICENSE +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/README.md +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/SECURITY.md +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/examples/.keep +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/mypy.ini +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/noxfile.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/release-please-config.json +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/requirements.lock +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/functions.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/invocations.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/logs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/projects.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/code_mount_parameters.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/code_mount_parameters_param.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_disk_snapshots_response.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_write_file_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/project_list_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/projects/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/resource_size.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/function_invocation_execution_detail_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/resource_size.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/test_invocations.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/__init__.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/test_logs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_functions.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_projects.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.7.0 (2024-10-24)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.6.0...v0.7.0](https://github.com/runloopai/api-client-python/compare/v0.6.0...v0.7.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([#236](https://github.com/runloopai/api-client-python/issues/236)) ([912af5f](https://github.com/runloopai/api-client-python/commit/912af5fa9dfa10f999727d912cd06483ce197a68))
|
|
10
|
+
|
|
11
|
+
## 0.6.0 (2024-10-23)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.5.0...v0.6.0](https://github.com/runloopai/api-client-python/compare/v0.5.0...v0.6.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([#231](https://github.com/runloopai/api-client-python/issues/231)) ([c71e7f5](https://github.com/runloopai/api-client-python/commit/c71e7f5cdc94bd826218c4034abc222b40349e39))
|
|
18
|
+
* **api:** api update ([#233](https://github.com/runloopai/api-client-python/issues/233)) ([5ca0335](https://github.com/runloopai/api-client-python/commit/5ca0335166c5f731fb0fd19909fb7d5605631605))
|
|
19
|
+
* **api:** api update ([#234](https://github.com/runloopai/api-client-python/issues/234)) ([e43ae1a](https://github.com/runloopai/api-client-python/commit/e43ae1abca60530ebd439c454e56b8a2a9116554))
|
|
20
|
+
|
|
3
21
|
## 0.5.0 (2024-10-22)
|
|
4
22
|
|
|
5
23
|
Full Changelog: [v0.4.0...v0.5.0](https://github.com/runloopai/api-client-python/compare/v0.4.0...v0.5.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.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
|
|
@@ -64,7 +64,7 @@ Methods:
|
|
|
64
64
|
- <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>
|
|
65
65
|
- <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>
|
|
66
66
|
- <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>
|
|
67
|
-
- <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
|
|
67
|
+
- <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
|
|
68
68
|
- <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>
|
|
69
69
|
- <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>
|
|
70
70
|
- <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>
|
|
@@ -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_create_tunnel_params,
|
|
23
24
|
devbox_download_file_params,
|
|
24
25
|
devbox_execute_async_params,
|
|
25
26
|
devbox_snapshot_disk_params,
|
|
@@ -103,7 +104,6 @@ class DevboxesResource(SyncAPIResource):
|
|
|
103
104
|
def create(
|
|
104
105
|
self,
|
|
105
106
|
*,
|
|
106
|
-
available_ports: Iterable[int] | NotGiven = NOT_GIVEN,
|
|
107
107
|
blueprint_id: str | NotGiven = NOT_GIVEN,
|
|
108
108
|
blueprint_name: str | NotGiven = NOT_GIVEN,
|
|
109
109
|
code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
|
|
@@ -129,9 +129,6 @@ class DevboxesResource(SyncAPIResource):
|
|
|
129
129
|
the 'pending' state and will transition to 'running' once it is ready.
|
|
130
130
|
|
|
131
131
|
Args:
|
|
132
|
-
available_ports: A list of ports to make available on the Devbox. Call createTunnel to open a
|
|
133
|
-
tunnel to the port.
|
|
134
|
-
|
|
135
132
|
blueprint_id: (Optional) Blueprint to use for the Devbox. If none set, the Devbox will be
|
|
136
133
|
created with the default Runloop Devbox image.
|
|
137
134
|
|
|
@@ -174,7 +171,6 @@ class DevboxesResource(SyncAPIResource):
|
|
|
174
171
|
"/v1/devboxes",
|
|
175
172
|
body=maybe_transform(
|
|
176
173
|
{
|
|
177
|
-
"available_ports": available_ports,
|
|
178
174
|
"blueprint_id": blueprint_id,
|
|
179
175
|
"blueprint_name": blueprint_name,
|
|
180
176
|
"code_mounts": code_mounts,
|
|
@@ -319,6 +315,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
319
315
|
self,
|
|
320
316
|
id: str,
|
|
321
317
|
*,
|
|
318
|
+
port: int,
|
|
322
319
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
323
320
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
324
321
|
extra_headers: Headers | None = None,
|
|
@@ -330,6 +327,8 @@ class DevboxesResource(SyncAPIResource):
|
|
|
330
327
|
Create a tunnel to an available port on the Devbox.
|
|
331
328
|
|
|
332
329
|
Args:
|
|
330
|
+
port: Devbox port that tunnel will expose.
|
|
331
|
+
|
|
333
332
|
extra_headers: Send extra headers
|
|
334
333
|
|
|
335
334
|
extra_query: Add additional query parameters to the request
|
|
@@ -342,6 +341,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
342
341
|
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
343
342
|
return self._post(
|
|
344
343
|
f"/v1/devboxes/{id}/create_tunnel",
|
|
344
|
+
body=maybe_transform({"port": port}, devbox_create_tunnel_params.DevboxCreateTunnelParams),
|
|
345
345
|
options=make_request_options(
|
|
346
346
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
347
347
|
),
|
|
@@ -837,7 +837,6 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
837
837
|
async def create(
|
|
838
838
|
self,
|
|
839
839
|
*,
|
|
840
|
-
available_ports: Iterable[int] | NotGiven = NOT_GIVEN,
|
|
841
840
|
blueprint_id: str | NotGiven = NOT_GIVEN,
|
|
842
841
|
blueprint_name: str | NotGiven = NOT_GIVEN,
|
|
843
842
|
code_mounts: Iterable[CodeMountParametersParam] | NotGiven = NOT_GIVEN,
|
|
@@ -863,9 +862,6 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
863
862
|
the 'pending' state and will transition to 'running' once it is ready.
|
|
864
863
|
|
|
865
864
|
Args:
|
|
866
|
-
available_ports: A list of ports to make available on the Devbox. Call createTunnel to open a
|
|
867
|
-
tunnel to the port.
|
|
868
|
-
|
|
869
865
|
blueprint_id: (Optional) Blueprint to use for the Devbox. If none set, the Devbox will be
|
|
870
866
|
created with the default Runloop Devbox image.
|
|
871
867
|
|
|
@@ -908,7 +904,6 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
908
904
|
"/v1/devboxes",
|
|
909
905
|
body=await async_maybe_transform(
|
|
910
906
|
{
|
|
911
|
-
"available_ports": available_ports,
|
|
912
907
|
"blueprint_id": blueprint_id,
|
|
913
908
|
"blueprint_name": blueprint_name,
|
|
914
909
|
"code_mounts": code_mounts,
|
|
@@ -1053,6 +1048,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1053
1048
|
self,
|
|
1054
1049
|
id: str,
|
|
1055
1050
|
*,
|
|
1051
|
+
port: int,
|
|
1056
1052
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1057
1053
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1058
1054
|
extra_headers: Headers | None = None,
|
|
@@ -1064,6 +1060,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1064
1060
|
Create a tunnel to an available port on the Devbox.
|
|
1065
1061
|
|
|
1066
1062
|
Args:
|
|
1063
|
+
port: Devbox port that tunnel will expose.
|
|
1064
|
+
|
|
1067
1065
|
extra_headers: Send extra headers
|
|
1068
1066
|
|
|
1069
1067
|
extra_query: Add additional query parameters to the request
|
|
@@ -1076,6 +1074,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1076
1074
|
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
1077
1075
|
return await self._post(
|
|
1078
1076
|
f"/v1/devboxes/{id}/create_tunnel",
|
|
1077
|
+
body=await async_maybe_transform({"port": port}, devbox_create_tunnel_params.DevboxCreateTunnelParams),
|
|
1079
1078
|
options=make_request_options(
|
|
1080
1079
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1081
1080
|
),
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/__init__.py
RENAMED
|
@@ -29,6 +29,7 @@ from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFil
|
|
|
29
29
|
from .blueprint_build_parameters import BlueprintBuildParameters as BlueprintBuildParameters
|
|
30
30
|
from .devbox_execute_sync_params import DevboxExecuteSyncParams as DevboxExecuteSyncParams
|
|
31
31
|
from .code_mount_parameters_param import CodeMountParametersParam as CodeMountParametersParam
|
|
32
|
+
from .devbox_create_tunnel_params import DevboxCreateTunnelParams as DevboxCreateTunnelParams
|
|
32
33
|
from .devbox_download_file_params import DevboxDownloadFileParams as DevboxDownloadFileParams
|
|
33
34
|
from .devbox_execute_async_params import DevboxExecuteAsyncParams as DevboxExecuteAsyncParams
|
|
34
35
|
from .devbox_snapshot_disk_params import DevboxSnapshotDiskParams as DevboxSnapshotDiskParams
|
|
@@ -12,12 +12,6 @@ __all__ = ["DevboxCreateParams"]
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class DevboxCreateParams(TypedDict, total=False):
|
|
15
|
-
available_ports: Iterable[int]
|
|
16
|
-
"""A list of ports to make available on the Devbox.
|
|
17
|
-
|
|
18
|
-
Call createTunnel to open a tunnel to the port.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
15
|
blueprint_id: str
|
|
22
16
|
"""(Optional) Blueprint to use for the Devbox.
|
|
23
17
|
|
|
@@ -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 Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["DevboxCreateTunnelParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class DevboxCreateTunnelParams(TypedDict, total=False):
|
|
11
|
+
port: Required[int]
|
|
12
|
+
"""Devbox port that tunnel will expose."""
|
|
@@ -9,6 +9,12 @@ __all__ = ["LaunchParameters"]
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class LaunchParameters(BaseModel):
|
|
12
|
+
available_ports: Optional[List[int]] = None
|
|
13
|
+
"""A list of ports to make available on the Devbox.
|
|
14
|
+
|
|
15
|
+
Call createTunnel to open a tunnel to the port.
|
|
16
|
+
"""
|
|
17
|
+
|
|
12
18
|
keep_alive_time_seconds: Optional[int] = None
|
|
13
19
|
"""Time in seconds after which Devbox will automatically shutdown.
|
|
14
20
|
|
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List
|
|
5
|
+
from typing import List, Iterable
|
|
6
6
|
from typing_extensions import Literal, TypedDict
|
|
7
7
|
|
|
8
8
|
__all__ = ["LaunchParameters"]
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class LaunchParameters(TypedDict, total=False):
|
|
12
|
+
available_ports: Iterable[int]
|
|
13
|
+
"""A list of ports to make available on the Devbox.
|
|
14
|
+
|
|
15
|
+
Call createTunnel to open a tunnel to the port.
|
|
16
|
+
"""
|
|
17
|
+
|
|
12
18
|
keep_alive_time_seconds: int
|
|
13
19
|
"""Time in seconds after which Devbox will automatically shutdown.
|
|
14
20
|
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_blueprints.py
RENAMED
|
@@ -56,6 +56,7 @@ class TestBlueprints:
|
|
|
56
56
|
dockerfile="dockerfile",
|
|
57
57
|
file_mounts={"foo": "string"},
|
|
58
58
|
launch_parameters={
|
|
59
|
+
"available_ports": [0, 0, 0],
|
|
59
60
|
"keep_alive_time_seconds": 0,
|
|
60
61
|
"launch_commands": ["string", "string", "string"],
|
|
61
62
|
"resource_size_request": "SMALL",
|
|
@@ -232,6 +233,7 @@ class TestBlueprints:
|
|
|
232
233
|
dockerfile="dockerfile",
|
|
233
234
|
file_mounts={"foo": "string"},
|
|
234
235
|
launch_parameters={
|
|
236
|
+
"available_ports": [0, 0, 0],
|
|
235
237
|
"keep_alive_time_seconds": 0,
|
|
236
238
|
"launch_commands": ["string", "string", "string"],
|
|
237
239
|
"resource_size_request": "SMALL",
|
|
@@ -302,6 +304,7 @@ class TestAsyncBlueprints:
|
|
|
302
304
|
dockerfile="dockerfile",
|
|
303
305
|
file_mounts={"foo": "string"},
|
|
304
306
|
launch_parameters={
|
|
307
|
+
"available_ports": [0, 0, 0],
|
|
305
308
|
"keep_alive_time_seconds": 0,
|
|
306
309
|
"launch_commands": ["string", "string", "string"],
|
|
307
310
|
"resource_size_request": "SMALL",
|
|
@@ -478,6 +481,7 @@ class TestAsyncBlueprints:
|
|
|
478
481
|
dockerfile="dockerfile",
|
|
479
482
|
file_mounts={"foo": "string"},
|
|
480
483
|
launch_parameters={
|
|
484
|
+
"available_ports": [0, 0, 0],
|
|
481
485
|
"keep_alive_time_seconds": 0,
|
|
482
486
|
"launch_commands": ["string", "string", "string"],
|
|
483
487
|
"resource_size_request": "SMALL",
|
|
@@ -42,7 +42,6 @@ class TestDevboxes:
|
|
|
42
42
|
@parametrize
|
|
43
43
|
def test_method_create_with_all_params(self, client: Runloop) -> None:
|
|
44
44
|
devbox = client.devboxes.create(
|
|
45
|
-
available_ports=[0, 0, 0],
|
|
46
45
|
blueprint_id="blueprint_id",
|
|
47
46
|
blueprint_name="blueprint_name",
|
|
48
47
|
code_mounts=[
|
|
@@ -69,6 +68,7 @@ class TestDevboxes:
|
|
|
69
68
|
environment_variables={"foo": "string"},
|
|
70
69
|
file_mounts={"foo": "string"},
|
|
71
70
|
launch_parameters={
|
|
71
|
+
"available_ports": [0, 0, 0],
|
|
72
72
|
"keep_alive_time_seconds": 0,
|
|
73
73
|
"launch_commands": ["string", "string", "string"],
|
|
74
74
|
"resource_size_request": "SMALL",
|
|
@@ -214,14 +214,16 @@ class TestDevboxes:
|
|
|
214
214
|
@parametrize
|
|
215
215
|
def test_method_create_tunnel(self, client: Runloop) -> None:
|
|
216
216
|
devbox = client.devboxes.create_tunnel(
|
|
217
|
-
"id",
|
|
217
|
+
id="id",
|
|
218
|
+
port=0,
|
|
218
219
|
)
|
|
219
220
|
assert_matches_type(DevboxTunnelView, devbox, path=["response"])
|
|
220
221
|
|
|
221
222
|
@parametrize
|
|
222
223
|
def test_raw_response_create_tunnel(self, client: Runloop) -> None:
|
|
223
224
|
response = client.devboxes.with_raw_response.create_tunnel(
|
|
224
|
-
"id",
|
|
225
|
+
id="id",
|
|
226
|
+
port=0,
|
|
225
227
|
)
|
|
226
228
|
|
|
227
229
|
assert response.is_closed is True
|
|
@@ -232,7 +234,8 @@ class TestDevboxes:
|
|
|
232
234
|
@parametrize
|
|
233
235
|
def test_streaming_response_create_tunnel(self, client: Runloop) -> None:
|
|
234
236
|
with client.devboxes.with_streaming_response.create_tunnel(
|
|
235
|
-
"id",
|
|
237
|
+
id="id",
|
|
238
|
+
port=0,
|
|
236
239
|
) as response:
|
|
237
240
|
assert not response.is_closed
|
|
238
241
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -246,7 +249,8 @@ class TestDevboxes:
|
|
|
246
249
|
def test_path_params_create_tunnel(self, client: Runloop) -> None:
|
|
247
250
|
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
|
|
248
251
|
client.devboxes.with_raw_response.create_tunnel(
|
|
249
|
-
"",
|
|
252
|
+
id="",
|
|
253
|
+
port=0,
|
|
250
254
|
)
|
|
251
255
|
|
|
252
256
|
@parametrize
|
|
@@ -750,7 +754,6 @@ class TestAsyncDevboxes:
|
|
|
750
754
|
@parametrize
|
|
751
755
|
async def test_method_create_with_all_params(self, async_client: AsyncRunloop) -> None:
|
|
752
756
|
devbox = await async_client.devboxes.create(
|
|
753
|
-
available_ports=[0, 0, 0],
|
|
754
757
|
blueprint_id="blueprint_id",
|
|
755
758
|
blueprint_name="blueprint_name",
|
|
756
759
|
code_mounts=[
|
|
@@ -777,6 +780,7 @@ class TestAsyncDevboxes:
|
|
|
777
780
|
environment_variables={"foo": "string"},
|
|
778
781
|
file_mounts={"foo": "string"},
|
|
779
782
|
launch_parameters={
|
|
783
|
+
"available_ports": [0, 0, 0],
|
|
780
784
|
"keep_alive_time_seconds": 0,
|
|
781
785
|
"launch_commands": ["string", "string", "string"],
|
|
782
786
|
"resource_size_request": "SMALL",
|
|
@@ -922,14 +926,16 @@ class TestAsyncDevboxes:
|
|
|
922
926
|
@parametrize
|
|
923
927
|
async def test_method_create_tunnel(self, async_client: AsyncRunloop) -> None:
|
|
924
928
|
devbox = await async_client.devboxes.create_tunnel(
|
|
925
|
-
"id",
|
|
929
|
+
id="id",
|
|
930
|
+
port=0,
|
|
926
931
|
)
|
|
927
932
|
assert_matches_type(DevboxTunnelView, devbox, path=["response"])
|
|
928
933
|
|
|
929
934
|
@parametrize
|
|
930
935
|
async def test_raw_response_create_tunnel(self, async_client: AsyncRunloop) -> None:
|
|
931
936
|
response = await async_client.devboxes.with_raw_response.create_tunnel(
|
|
932
|
-
"id",
|
|
937
|
+
id="id",
|
|
938
|
+
port=0,
|
|
933
939
|
)
|
|
934
940
|
|
|
935
941
|
assert response.is_closed is True
|
|
@@ -940,7 +946,8 @@ class TestAsyncDevboxes:
|
|
|
940
946
|
@parametrize
|
|
941
947
|
async def test_streaming_response_create_tunnel(self, async_client: AsyncRunloop) -> None:
|
|
942
948
|
async with async_client.devboxes.with_streaming_response.create_tunnel(
|
|
943
|
-
"id",
|
|
949
|
+
id="id",
|
|
950
|
+
port=0,
|
|
944
951
|
) as response:
|
|
945
952
|
assert not response.is_closed
|
|
946
953
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -954,7 +961,8 @@ class TestAsyncDevboxes:
|
|
|
954
961
|
async def test_path_params_create_tunnel(self, async_client: AsyncRunloop) -> None:
|
|
955
962
|
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
|
|
956
963
|
await async_client.devboxes.with_raw_response.create_tunnel(
|
|
957
|
-
"",
|
|
964
|
+
id="",
|
|
965
|
+
port=0,
|
|
958
966
|
)
|
|
959
967
|
|
|
960
968
|
@parametrize
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_base_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/__init__.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_logs.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_proxy.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_reflection.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_streams.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_sync.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_transform.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_typing.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/__init__.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/blueprints.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/resource_size.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_logs.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/__init__.py
RENAMED
|
File without changes
|
{runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/test_logs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|