runloop_api_client 0.66.1__tar.gz → 0.68.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 (331) hide show
  1. runloop_api_client-0.68.0/.gitignore +26 -0
  2. runloop_api_client-0.68.0/.release-please-manifest.json +3 -0
  3. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/CHANGELOG.md +44 -0
  4. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/PKG-INFO +27 -4
  5. runloop_api_client-0.68.0/README-SDK.md +749 -0
  6. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/README.md +26 -3
  7. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/api.md +15 -0
  8. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/pyproject.toml +6 -2
  9. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/requirements-dev.lock +11 -40
  10. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/__init__.py +3 -0
  11. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_client.py +38 -1
  12. runloop_api_client-0.68.0/src/runloop_api_client/_constants.py +23 -0
  13. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_models.py +37 -15
  14. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_streaming.py +4 -6
  15. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/__init__.py +1 -0
  16. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_sync.py +3 -31
  17. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_utils.py +1 -1
  18. runloop_api_client-0.68.0/src/runloop_api_client/_utils/_validation.py +31 -0
  19. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_version.py +1 -1
  20. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/pagination.py +75 -0
  21. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/__init__.py +14 -0
  22. runloop_api_client-0.68.0/src/runloop_api_client/resources/agents.py +415 -0
  23. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/blueprints.py +146 -18
  24. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/devboxes.py +156 -43
  25. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +79 -4
  26. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/executions.py +8 -4
  27. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/objects.py +30 -20
  28. runloop_api_client-0.68.0/src/runloop_api_client/sdk/__init__.py +55 -0
  29. runloop_api_client-0.68.0/src/runloop_api_client/sdk/_helpers.py +49 -0
  30. runloop_api_client-0.68.0/src/runloop_api_client/sdk/_types.py +144 -0
  31. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_.py +511 -0
  32. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_blueprint.py +111 -0
  33. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_devbox.py +644 -0
  34. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_execution.py +155 -0
  35. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_execution_result.py +177 -0
  36. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_snapshot.py +134 -0
  37. runloop_api_client-0.68.0/src/runloop_api_client/sdk/async_storage_object.py +184 -0
  38. runloop_api_client-0.68.0/src/runloop_api_client/sdk/blueprint.py +111 -0
  39. runloop_api_client-0.68.0/src/runloop_api_client/sdk/devbox.py +657 -0
  40. runloop_api_client-0.68.0/src/runloop_api_client/sdk/execution.py +143 -0
  41. runloop_api_client-0.68.0/src/runloop_api_client/sdk/execution_result.py +176 -0
  42. runloop_api_client-0.68.0/src/runloop_api_client/sdk/protocols.py +201 -0
  43. runloop_api_client-0.68.0/src/runloop_api_client/sdk/snapshot.py +134 -0
  44. runloop_api_client-0.68.0/src/runloop_api_client/sdk/storage_object.py +184 -0
  45. runloop_api_client-0.68.0/src/runloop_api_client/sdk/sync.py +503 -0
  46. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/__init__.py +5 -0
  47. runloop_api_client-0.68.0/src/runloop_api_client/types/agent_create_params.py +18 -0
  48. runloop_api_client-0.68.0/src/runloop_api_client/types/agent_list_params.py +24 -0
  49. runloop_api_client-0.68.0/src/runloop_api_client/types/agent_list_view.py +22 -0
  50. runloop_api_client-0.68.0/src/runloop_api_client/types/agent_view.py +25 -0
  51. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_build_parameters.py +27 -1
  52. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_create_params.py +27 -2
  53. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_preview_params.py +27 -2
  54. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_view.py +1 -1
  55. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +6 -0
  56. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_create_params.py +27 -15
  57. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +3 -0
  58. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_snapshot_view.py +3 -0
  59. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_view.py +2 -1
  60. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +1 -1
  61. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +3 -0
  62. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +4 -1
  63. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +4 -1
  64. runloop_api_client-0.68.0/src/runloop_api_client/types/object_create_params.py +30 -0
  65. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/object_list_params.py +6 -6
  66. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/object_list_public_params.py +6 -6
  67. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/object_view.py +4 -1
  68. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/__init__.py +1 -0
  69. runloop_api_client-0.68.0/src/runloop_api_client/types/shared/agent_mount_parameters.py +31 -0
  70. runloop_api_client-0.68.0/src/runloop_api_client/types/shared/agent_source.py +71 -0
  71. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/launch_parameters.py +1 -1
  72. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/__init__.py +1 -0
  73. runloop_api_client-0.68.0/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +31 -0
  74. runloop_api_client-0.68.0/src/runloop_api_client/types/shared_params/agent_source.py +74 -0
  75. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +1 -1
  76. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/devboxes/test_disk_snapshots.py +217 -0
  77. runloop_api_client-0.68.0/tests/api_resources/test_agents.py +297 -0
  78. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_blueprints.py +84 -0
  79. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_devboxes.py +377 -0
  80. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_objects.py +10 -8
  81. runloop_api_client-0.68.0/tests/sdk/__init__.py +2 -0
  82. runloop_api_client-0.68.0/tests/sdk/async_devbox/__init__.py +1 -0
  83. runloop_api_client-0.68.0/tests/sdk/async_devbox/conftest.py +6 -0
  84. runloop_api_client-0.68.0/tests/sdk/async_devbox/test_core.py +294 -0
  85. runloop_api_client-0.68.0/tests/sdk/async_devbox/test_edge_cases.py +26 -0
  86. runloop_api_client-0.68.0/tests/sdk/async_devbox/test_interfaces.py +216 -0
  87. runloop_api_client-0.68.0/tests/sdk/async_devbox/test_streaming.py +189 -0
  88. runloop_api_client-0.68.0/tests/sdk/conftest.py +272 -0
  89. runloop_api_client-0.68.0/tests/sdk/devbox/__init__.py +1 -0
  90. runloop_api_client-0.68.0/tests/sdk/devbox/conftest.py +6 -0
  91. runloop_api_client-0.68.0/tests/sdk/devbox/test_core.py +298 -0
  92. runloop_api_client-0.68.0/tests/sdk/devbox/test_edge_cases.py +148 -0
  93. runloop_api_client-0.68.0/tests/sdk/devbox/test_interfaces.py +331 -0
  94. runloop_api_client-0.68.0/tests/sdk/devbox/test_streaming.py +171 -0
  95. runloop_api_client-0.68.0/tests/sdk/test_async_blueprint.py +90 -0
  96. runloop_api_client-0.68.0/tests/sdk/test_async_clients.py +363 -0
  97. runloop_api_client-0.68.0/tests/sdk/test_async_execution.py +267 -0
  98. runloop_api_client-0.68.0/tests/sdk/test_async_execution_result.py +326 -0
  99. runloop_api_client-0.68.0/tests/sdk/test_async_snapshot.py +114 -0
  100. runloop_api_client-0.68.0/tests/sdk/test_async_storage_object.py +212 -0
  101. runloop_api_client-0.68.0/tests/sdk/test_blueprint.py +106 -0
  102. runloop_api_client-0.68.0/tests/sdk/test_clients.py +345 -0
  103. runloop_api_client-0.68.0/tests/sdk/test_execution.py +244 -0
  104. runloop_api_client-0.68.0/tests/sdk/test_execution_result.py +299 -0
  105. runloop_api_client-0.68.0/tests/sdk/test_helpers.py +30 -0
  106. runloop_api_client-0.68.0/tests/sdk/test_snapshot.py +141 -0
  107. runloop_api_client-0.68.0/tests/sdk/test_storage_object.py +278 -0
  108. runloop_api_client-0.68.0/tests/smoketests/sdk/README.md +138 -0
  109. runloop_api_client-0.68.0/tests/smoketests/sdk/__init__.py +2 -0
  110. runloop_api_client-0.68.0/tests/smoketests/sdk/conftest.py +68 -0
  111. runloop_api_client-0.68.0/tests/smoketests/sdk/test_async_blueprint.py +266 -0
  112. runloop_api_client-0.68.0/tests/smoketests/sdk/test_async_devbox.py +684 -0
  113. runloop_api_client-0.68.0/tests/smoketests/sdk/test_async_sdk.py +32 -0
  114. runloop_api_client-0.68.0/tests/smoketests/sdk/test_async_snapshot.py +312 -0
  115. runloop_api_client-0.68.0/tests/smoketests/sdk/test_async_storage_object.py +467 -0
  116. runloop_api_client-0.68.0/tests/smoketests/sdk/test_blueprint.py +266 -0
  117. runloop_api_client-0.68.0/tests/smoketests/sdk/test_devbox.py +679 -0
  118. runloop_api_client-0.68.0/tests/smoketests/sdk/test_sdk.py +32 -0
  119. runloop_api_client-0.68.0/tests/smoketests/sdk/test_snapshot.py +311 -0
  120. runloop_api_client-0.68.0/tests/smoketests/sdk/test_storage_object.py +465 -0
  121. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/test_devboxes.py +25 -0
  122. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_client.py +210 -174
  123. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_models.py +4 -4
  124. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/uv.lock +339 -117
  125. runloop_api_client-0.66.1/.gitignore +0 -17
  126. runloop_api_client-0.66.1/.release-please-manifest.json +0 -3
  127. runloop_api_client-0.66.1/src/runloop_api_client/_constants.py +0 -14
  128. runloop_api_client-0.66.1/src/runloop_api_client/types/object_create_params.py +0 -19
  129. runloop_api_client-0.66.1/src/runloop_api_client/types/shared/agent_mount_parameters.py +0 -21
  130. runloop_api_client-0.66.1/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +0 -21
  131. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/CONTRIBUTING.md +0 -0
  132. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/LICENSE +0 -0
  133. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/SECURITY.md +0 -0
  134. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/bin/check-release-environment +0 -0
  135. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/bin/publish-pypi +0 -0
  136. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/examples/.keep +0 -0
  137. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/release-please-config.json +0 -0
  138. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop/lib/.keep +0 -0
  139. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_base_client.py +0 -0
  140. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_compat.py +0 -0
  141. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_exceptions.py +0 -0
  142. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_files.py +0 -0
  143. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_qs.py +0 -0
  144. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_resource.py +0 -0
  145. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_response.py +0 -0
  146. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_types.py +0 -0
  147. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  148. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  149. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  150. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  151. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  152. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  153. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  154. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  155. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  156. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/lib/.keep +0 -0
  157. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/lib/polling.py +0 -0
  158. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  159. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/py.typed +0 -0
  160. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  161. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  162. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  163. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  164. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  165. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  166. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  167. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/repositories.py +0 -0
  168. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  169. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  170. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  171. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  172. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/resources/secrets.py +0 -0
  173. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  174. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  175. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  176. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  177. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  178. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  179. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  180. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  181. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  182. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  183. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  184. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  185. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  186. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  187. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  188. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  189. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  190. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  191. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  192. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  193. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  194. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  195. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  196. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  197. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  198. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  199. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  200. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  201. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  202. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  203. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  204. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  205. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  206. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  207. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  208. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  209. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  210. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  211. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  212. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  213. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  214. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  215. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  216. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  217. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  218. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  219. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  220. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  221. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  222. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  223. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  224. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  225. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  226. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  227. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  228. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  229. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  230. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  231. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  232. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  233. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/input_context.py +0 -0
  234. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  235. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  236. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  237. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  238. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  239. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  240. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  241. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  242. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  243. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  244. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  245. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  246. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  247. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  248. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  249. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  250. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  251. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  252. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  253. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  254. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  255. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  256. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  257. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  258. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  259. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  260. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  261. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  262. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  263. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  264. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  265. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  266. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  267. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  268. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  269. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  270. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  271. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  272. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  273. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  274. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  275. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  276. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  277. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  278. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  279. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  280. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  281. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  282. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/secret_view.py +0 -0
  283. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  284. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  285. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  286. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/object_mount_parameters.py +0 -0
  287. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  288. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  289. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  290. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  291. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/object_mount_parameters.py +0 -0
  292. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  293. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/__init__.py +0 -0
  294. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/__init__.py +0 -0
  295. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  296. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  297. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/devboxes/__init__.py +0 -0
  298. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  299. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  300. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  301. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  302. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/scenarios/__init__.py +0 -0
  303. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  304. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  305. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_benchmarks.py +0 -0
  306. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_repositories.py +0 -0
  307. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_scenarios.py +0 -0
  308. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/api_resources/test_secrets.py +0 -0
  309. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/conftest.py +0 -0
  310. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/sample_file.txt +0 -0
  311. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/README.md +0 -0
  312. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/__init__.py +0 -0
  313. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/conftest.py +0 -0
  314. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/test_blueprints.py +0 -0
  315. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/test_executions.py +0 -0
  316. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  317. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/test_snapshots.py +0 -0
  318. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/smoketests/utils.py +0 -0
  319. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_deepcopy.py +0 -0
  320. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_extract_files.py +0 -0
  321. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_files.py +0 -0
  322. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_polling.py +0 -0
  323. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_qs.py +0 -0
  324. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_required_args.py +0 -0
  325. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_response.py +0 -0
  326. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_streaming.py +0 -0
  327. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_transform.py +0 -0
  328. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_utils/test_datetime_parse.py +0 -0
  329. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_utils/test_proxy.py +0 -0
  330. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/test_utils/test_typing.py +0 -0
  331. {runloop_api_client-0.66.1 → runloop_api_client-0.68.0}/tests/utils.py +0 -0
@@ -0,0 +1,26 @@
1
+ .prism.log
2
+ _dev
3
+
4
+ __pycache__
5
+ .mypy_cache
6
+
7
+ dist
8
+
9
+ .venv
10
+ .idea
11
+
12
+ .env
13
+ .envrc
14
+ codegen.log
15
+ Brewfile.lock.json
16
+
17
+ .DS_Store
18
+
19
+ # Coverage files
20
+ .coverage
21
+ .coverage.*
22
+ htmlcov/
23
+ coverage.json
24
+ coverage-summary.json
25
+ *.cover
26
+ .pytest_cache/
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.68.0"
3
+ }
@@ -1,5 +1,49 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.68.0 (2025-11-19)
4
+
5
+ Full Changelog: [v0.67.0...v0.68.0](https://github.com/runloopai/api-client-python/compare/v0.67.0...v0.68.0)
6
+
7
+ ### Features
8
+
9
+ * **blueprints:** Cleanup the BuildContext API ([#6407](https://github.com/runloopai/api-client-python/issues/6407))\n\nTest ([c87b986](https://github.com/runloopai/api-client-python/commit/c87b986e558ad3a0cca2ad1609b9833baf86fef8))
10
+ * **blueprints:** prevent deletion of blueprints with dependent snapshots ([ce55350](https://github.com/runloopai/api-client-python/commit/ce55350d81f7f5ba3a3aff8faea88c0e1366cea9))
11
+ * **object:** Added ability to give objects a Time To Live, after which they are automatically deleted.\nfeat(blueprints): Added the ability to attach objects as build contexts that can be referenced in your Dockerfile. ([f2bc83c](https://github.com/runloopai/api-client-python/commit/f2bc83c126696aea224bb5978294fc3362a94eeb))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * compat with Python 3.14 ([a52802a](https://github.com/runloopai/api-client-python/commit/a52802a6d12d96c3bf4bd670e77c9ec50d08b459))
17
+ * **compat:** update signatures of `model_dump` and `model_dump_json` for Pydantic v1 ([50340b2](https://github.com/runloopai/api-client-python/commit/50340b20148f72cb645bba0bafde6f902e063425))
18
+ * **snapshot:** added "deleted" status to DevboxSnapshotStatus enum \n fix(storage-object): added ObjectState enum, fixed createObject() to appropriately type content_type and state as the respective enums ([7c26593](https://github.com/runloopai/api-client-python/commit/7c265936088c074d00bd3c65b52dde5dcde3ccfb))
19
+
20
+
21
+ ### Chores
22
+
23
+ * **package:** drop Python 3.8 support ([07a0b8c](https://github.com/runloopai/api-client-python/commit/07a0b8c1825c78b0a6c30c2d374b82aced2f97d5))
24
+ * **package:** drop Python 3.8 support ([d67abf1](https://github.com/runloopai/api-client-python/commit/d67abf1c52a089e192987a261e69219d60514bc3))
25
+
26
+ ## 0.67.0 (2025-11-14)
27
+
28
+ Full Changelog: [v0.66.1...v0.67.0](https://github.com/runloopai/api-client-python/compare/v0.66.1...v0.67.0)
29
+
30
+ ### Features
31
+
32
+ * **api:** api update ([516c20b](https://github.com/runloopai/api-client-python/commit/516c20b3095d7e75b0e15647621bf92e0d79f5f4))
33
+ * **blueprint:** adds queued state ([5893559](https://github.com/runloopai/api-client-python/commit/5893559e8839260876947d31f1090dd343f1cf43))
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * **client:** close streams without requiring full consumption ([30f9ee5](https://github.com/runloopai/api-client-python/commit/30f9ee5b6cc5f42ce642b918c4e0194a4ab8bc7a))
39
+
40
+
41
+ ### Chores
42
+
43
+ * **internal/tests:** avoid race condition with implicit client cleanup ([7152280](https://github.com/runloopai/api-client-python/commit/71522809d211f5bbad89be807559ca2de591729f))
44
+ * **internal:** grammar fix (it's -> its) ([fd6963f](https://github.com/runloopai/api-client-python/commit/fd6963f1777dedc2db5b86dc222a5e70521134ba))
45
+ * **package:** drop Python 3.8 support ([5026669](https://github.com/runloopai/api-client-python/commit/50266693caae9b3c6e6506cb58f096f1d439dcd0))
46
+
3
47
  ## 0.66.1 (2025-10-23)
4
48
 
5
49
  Full Changelog: [v0.66.0...v0.66.1](https://github.com/runloopai/api-client-python/compare/v0.66.0...v0.66.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.66.1
3
+ Version: 0.68.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
@@ -38,7 +38,7 @@ Description-Content-Type: text/markdown
38
38
  <!-- prettier-ignore -->
39
39
  [![PyPI version](https://img.shields.io/pypi/v/runloop_api_client.svg?label=pypi%20(stable))](https://pypi.org/project/runloop_api_client/)
40
40
 
41
- The Runloop Python library provides convenient access to the Runloop REST API from any Python 3.8+
41
+ The Runloop Python library provides convenient access to the Runloop REST API from any Python 3.9+
42
42
  application. The library includes type definitions for all request params and response fields,
43
43
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
44
44
 
@@ -46,7 +46,9 @@ It is generated with [Stainless](https://www.stainless.com/).
46
46
 
47
47
  ## Documentation
48
48
 
49
- The REST API documentation can be found on [runloop.ai](https://runloop.ai). The full API of this library can be found in [api.md](api.md).
49
+ The REST API documentation can be found on
50
+ [runloop.ai](https://runloop.ai). The full API of this library can be found in
51
+ [api.md](https://github.com/runloopai/api-client-python/blob/main/api.md).
50
52
 
51
53
  ## Installation
52
54
 
@@ -59,6 +61,27 @@ pip install runloop_api_client
59
61
 
60
62
  The full API of this library can be found in [api.md](api.md).
61
63
 
64
+ ### Object-Oriented SDK
65
+
66
+ For a higher-level, Pythonic interface, check out the new [`RunloopSDK`](README-SDK.md) which layers an object-oriented API on top of the generated client (including synchronous and asynchronous variants).
67
+
68
+ ```python
69
+ from runloop_api_client import RunloopSDK
70
+
71
+ sdk = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
72
+
73
+ # Create a devbox and execute commands with a clean, object-oriented interface
74
+ with sdk.devbox.create(name="my-devbox") as devbox:
75
+ result = devbox.cmd.exec("echo 'Hello from Runloop!'")
76
+ print(result.stdout())
77
+ ```
78
+
79
+ **See the [SDK documentation](README-SDK.md) for complete examples and API reference.**
80
+
81
+ ### REST API Client
82
+
83
+ Alternatively, you can use the generated REST API client directly:
84
+
62
85
  ```python
63
86
  import os
64
87
  from runloop_api_client import Runloop
@@ -489,7 +512,7 @@ print(runloop_api_client.__version__)
489
512
 
490
513
  ## Requirements
491
514
 
492
- Python 3.8 or higher.
515
+ Python 3.9 or higher.
493
516
 
494
517
  ## Contributing
495
518