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.
Files changed (140) hide show
  1. runloop_api_client-0.7.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/CHANGELOG.md +18 -0
  3. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/api.md +1 -1
  5. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/devboxes.py +9 -10
  8. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/__init__.py +1 -0
  9. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_create_params.py +0 -6
  10. runloop_api_client-0.7.0/src/runloop_api_client/types/devbox_create_tunnel_params.py +12 -0
  11. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/launch_parameters.py +6 -0
  12. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +7 -1
  13. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_blueprints.py +4 -0
  14. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_devboxes.py +18 -10
  15. runloop_api_client-0.5.0/.release-please-manifest.json +0 -3
  16. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/.gitignore +0 -0
  17. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/CONTRIBUTING.md +0 -0
  18. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/LICENSE +0 -0
  19. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/README.md +0 -0
  20. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/SECURITY.md +0 -0
  21. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/bin/check-release-environment +0 -0
  22. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/bin/publish-pypi +0 -0
  23. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/examples/.keep +0 -0
  24. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/mypy.ini +0 -0
  25. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/noxfile.py +0 -0
  26. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/release-please-config.json +0 -0
  27. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/requirements-dev.lock +0 -0
  28. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/requirements.lock +0 -0
  29. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop/lib/.keep +0 -0
  30. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/__init__.py +0 -0
  31. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_base_client.py +0 -0
  32. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_client.py +0 -0
  33. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_compat.py +0 -0
  34. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_constants.py +0 -0
  35. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_exceptions.py +0 -0
  36. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_files.py +0 -0
  37. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_models.py +0 -0
  38. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_qs.py +0 -0
  39. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_resource.py +0 -0
  40. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_response.py +0 -0
  41. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_streaming.py +0 -0
  42. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_types.py +0 -0
  43. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  44. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  45. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  46. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  47. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  48. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  49. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  50. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  51. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  52. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/lib/.keep +0 -0
  53. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/py.typed +0 -0
  54. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/__init__.py +0 -0
  55. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  56. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  57. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  58. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  59. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/__init__.py +0 -0
  60. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/functions.py +0 -0
  61. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/functions/invocations.py +0 -0
  62. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/__init__.py +0 -0
  63. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/logs.py +0 -0
  64. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/resources/projects/projects.py +0 -0
  65. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  66. {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
  67. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  68. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  69. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  70. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  71. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  72. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  73. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  74. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/code_mount_parameters.py +0 -0
  75. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/code_mount_parameters_param.py +0 -0
  76. {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
  77. {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
  78. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_disk_snapshots_params.py +0 -0
  79. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_disk_snapshots_response.py +0 -0
  80. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  81. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  82. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  83. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  84. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  85. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  86. {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
  87. {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
  88. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  89. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  90. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  91. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  92. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  93. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  94. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devbox_write_file_params.py +0 -0
  95. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  96. {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
  97. {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
  98. {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
  99. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  100. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  101. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
  102. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
  103. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/function_list_view.py +0 -0
  104. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/__init__.py +0 -0
  105. {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
  106. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
  107. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/project_list_view.py +0 -0
  108. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/projects/__init__.py +0 -0
  109. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/resource_size.py +0 -0
  110. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  111. {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
  112. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
  113. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared/resource_size.py +0 -0
  114. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  115. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/__init__.py +0 -0
  116. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/__init__.py +0 -0
  117. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/__init__.py +0 -0
  118. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  119. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  120. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/__init__.py +0 -0
  121. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/functions/test_invocations.py +0 -0
  122. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/__init__.py +0 -0
  123. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/projects/test_logs.py +0 -0
  124. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_functions.py +0 -0
  125. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/api_resources/test_projects.py +0 -0
  126. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/conftest.py +0 -0
  127. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/sample_file.txt +0 -0
  128. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_client.py +0 -0
  129. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_deepcopy.py +0 -0
  130. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_extract_files.py +0 -0
  131. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_files.py +0 -0
  132. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_models.py +0 -0
  133. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_qs.py +0 -0
  134. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_required_args.py +0 -0
  135. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_response.py +0 -0
  136. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_streaming.py +0 -0
  137. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_transform.py +0 -0
  138. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_utils/test_proxy.py +0 -0
  139. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/test_utils/test_typing.py +0 -0
  140. {runloop_api_client-0.5.0 → runloop_api_client-0.7.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.7.0"
3
+ }
@@ -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.5.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>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.5.0"
3
+ version = "0.7.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "0.5.0" # x-release-please-version
4
+ __version__ = "0.7.0" # 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_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
  ),
@@ -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
 
@@ -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
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.5.0"
3
- }