runloop_api_client 0.68.0__tar.gz → 0.69.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 (329) hide show
  1. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/.gitignore +4 -1
  2. runloop_api_client-0.69.0/.release-please-manifest.json +3 -0
  3. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/CHANGELOG.md +16 -0
  4. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/PKG-INFO +1 -1
  5. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/README-SDK.md +2 -0
  6. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/pyproject.toml +7 -1
  7. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_version.py +1 -1
  8. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/blueprints.py +11 -4
  9. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/devboxes.py +2 -2
  10. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/_helpers.py +6 -6
  11. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/_types.py +1 -1
  12. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_.py +174 -130
  13. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_blueprint.py +20 -27
  14. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_devbox.py +76 -107
  15. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_execution.py +12 -23
  16. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_execution_result.py +32 -34
  17. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_snapshot.py +23 -32
  18. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/async_storage_object.py +37 -50
  19. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/blueprint.py +20 -27
  20. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/devbox.py +73 -109
  21. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/execution.py +12 -23
  22. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/execution_result.py +33 -36
  23. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/snapshot.py +23 -32
  24. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/storage_object.py +37 -50
  25. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/sync.py +174 -127
  26. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_create_params.py +1 -1
  27. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +3 -0
  28. runloop_api_client-0.69.0/src/runloop_api_client/types/shared/mount.py +29 -0
  29. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +3 -1
  30. runloop_api_client-0.69.0/src/runloop_api_client/types/shared_params/mount.py +26 -0
  31. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_blueprints.py +4 -0
  32. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_devboxes.py +2 -0
  33. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_async_clients.py +157 -0
  34. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_clients.py +131 -0
  35. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_async_storage_object.py +39 -0
  36. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_storage_object.py +39 -0
  37. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_streaming.py +2 -0
  38. runloop_api_client-0.69.0/uv.lock +3011 -0
  39. runloop_api_client-0.68.0/.release-please-manifest.json +0 -3
  40. runloop_api_client-0.68.0/src/runloop_api_client/types/shared/mount.py +0 -12
  41. runloop_api_client-0.68.0/src/runloop_api_client/types/shared_params/mount.py +0 -13
  42. runloop_api_client-0.68.0/uv.lock +0 -1598
  43. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/CONTRIBUTING.md +0 -0
  44. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/LICENSE +0 -0
  45. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/README.md +0 -0
  46. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/SECURITY.md +0 -0
  47. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/api.md +0 -0
  48. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/bin/check-release-environment +0 -0
  49. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/bin/publish-pypi +0 -0
  50. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/examples/.keep +0 -0
  51. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/release-please-config.json +0 -0
  52. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/requirements-dev.lock +0 -0
  53. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop/lib/.keep +0 -0
  54. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/__init__.py +0 -0
  55. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_base_client.py +0 -0
  56. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_client.py +0 -0
  57. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_compat.py +0 -0
  58. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_constants.py +0 -0
  59. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_exceptions.py +0 -0
  60. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_files.py +0 -0
  61. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_models.py +0 -0
  62. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_qs.py +0 -0
  63. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_resource.py +0 -0
  64. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_response.py +0 -0
  65. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_streaming.py +0 -0
  66. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_types.py +0 -0
  67. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  68. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  69. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  70. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  71. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  72. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  73. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  74. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  75. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  76. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  77. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  78. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  79. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  80. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/lib/.keep +0 -0
  81. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/lib/polling.py +0 -0
  82. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  83. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/pagination.py +0 -0
  84. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/py.typed +0 -0
  85. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/__init__.py +0 -0
  86. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/agents.py +0 -0
  87. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  88. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  89. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  90. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  91. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  92. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  93. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  94. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  95. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  96. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/objects.py +0 -0
  97. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/repositories.py +0 -0
  98. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  99. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  100. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  101. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  102. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/resources/secrets.py +0 -0
  103. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  104. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/sdk/protocols.py +0 -0
  105. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/__init__.py +0 -0
  106. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  107. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  108. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  109. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/agent_view.py +0 -0
  110. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  111. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  112. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  113. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  114. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  115. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  116. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  117. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  118. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  119. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  120. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  121. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  122. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  123. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  124. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  125. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  126. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  127. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  128. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  129. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  130. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  131. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  132. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  133. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  134. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  135. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  136. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  137. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  138. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  139. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  140. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  141. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  142. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  143. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  144. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  145. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  146. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  147. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  148. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  149. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  150. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  151. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  152. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  153. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  154. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  155. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  156. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  157. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  158. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  159. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  160. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  161. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  162. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  163. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  164. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  165. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  166. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  167. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  168. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  169. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  170. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  171. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  172. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  173. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  174. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  175. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  176. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  177. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  178. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  179. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  180. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  181. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  182. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/input_context.py +0 -0
  183. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  184. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  185. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  186. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  187. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  188. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  189. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  190. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  191. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  192. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/object_view.py +0 -0
  193. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  194. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  195. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  196. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  197. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  198. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  199. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  200. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  201. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  202. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  203. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  204. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  205. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  206. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  207. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  208. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  209. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  210. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  211. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  212. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  213. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  214. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  215. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  216. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  217. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  218. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  219. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  220. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  221. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  222. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  223. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  224. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  225. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  226. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  227. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  228. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  229. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  230. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  231. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  232. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  233. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  234. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  235. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/secret_view.py +0 -0
  236. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  237. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  238. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/agent_mount_parameters.py +0 -0
  239. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  240. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  241. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/object_mount_parameters.py +0 -0
  242. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  243. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  244. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  245. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +0 -0
  246. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  247. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  248. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/object_mount_parameters.py +0 -0
  249. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  250. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/__init__.py +0 -0
  251. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/__init__.py +0 -0
  252. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  253. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  254. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/devboxes/__init__.py +0 -0
  255. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  256. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  257. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  258. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  259. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  260. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/scenarios/__init__.py +0 -0
  261. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  262. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  263. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_agents.py +0 -0
  264. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_benchmarks.py +0 -0
  265. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_objects.py +0 -0
  266. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_repositories.py +0 -0
  267. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_scenarios.py +0 -0
  268. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/api_resources/test_secrets.py +0 -0
  269. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/conftest.py +0 -0
  270. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sample_file.txt +0 -0
  271. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/__init__.py +0 -0
  272. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/async_devbox/__init__.py +0 -0
  273. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/async_devbox/conftest.py +0 -0
  274. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/async_devbox/test_core.py +0 -0
  275. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  276. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  277. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  278. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/conftest.py +0 -0
  279. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/devbox/__init__.py +0 -0
  280. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/devbox/conftest.py +0 -0
  281. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/devbox/test_core.py +0 -0
  282. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  283. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  284. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/devbox/test_streaming.py +0 -0
  285. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_async_blueprint.py +0 -0
  286. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_async_execution.py +0 -0
  287. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_async_execution_result.py +0 -0
  288. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_async_snapshot.py +0 -0
  289. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_async_storage_object.py +0 -0
  290. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_blueprint.py +0 -0
  291. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_execution.py +0 -0
  292. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_execution_result.py +0 -0
  293. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_helpers.py +0 -0
  294. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_snapshot.py +0 -0
  295. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/sdk/test_storage_object.py +0 -0
  296. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/README.md +0 -0
  297. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/__init__.py +0 -0
  298. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/conftest.py +0 -0
  299. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/README.md +0 -0
  300. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/__init__.py +0 -0
  301. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/conftest.py +0 -0
  302. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  303. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
  304. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  305. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  306. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  307. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_devbox.py +0 -0
  308. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  309. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  310. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/test_blueprints.py +0 -0
  311. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/test_devboxes.py +0 -0
  312. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/test_executions.py +0 -0
  313. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  314. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/test_snapshots.py +0 -0
  315. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/smoketests/utils.py +0 -0
  316. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_client.py +0 -0
  317. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_deepcopy.py +0 -0
  318. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_extract_files.py +0 -0
  319. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_files.py +0 -0
  320. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_models.py +0 -0
  321. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_polling.py +0 -0
  322. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_qs.py +0 -0
  323. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_required_args.py +0 -0
  324. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_response.py +0 -0
  325. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_transform.py +0 -0
  326. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_utils/test_datetime_parse.py +0 -0
  327. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_utils/test_proxy.py +0 -0
  328. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/test_utils/test_typing.py +0 -0
  329. {runloop_api_client-0.68.0 → runloop_api_client-0.69.0}/tests/utils.py +0 -0
@@ -23,4 +23,7 @@ htmlcov/
23
23
  coverage.json
24
24
  coverage-summary.json
25
25
  *.cover
26
- .pytest_cache/
26
+ .pytest_cache/
27
+
28
+ # Docs
29
+ site/
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.69.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.69.0 (2025-11-21)
4
+
5
+ Full Changelog: [v0.68.0...v0.69.0](https://github.com/runloopai/api-client-python/compare/v0.68.0...v0.69.0)
6
+
7
+ ### Features
8
+
9
+ * **blueprints:** blueprints create_and_await_build_complete now take in build_context and named_build_context arguments ([#681](https://github.com/runloopai/api-client-python/issues/681)) ([1febe28](https://github.com/runloopai/api-client-python/commit/1febe28e2cadb23eae0cc411922646ce7b8875d3))
10
+ * **devbox:** unify api for devbox mounts ([01c7d14](https://github.com/runloopai/api-client-python/commit/01c7d14091961822d7fe706d6fa7528b6607f87a))
11
+ * **docs:** add documentation for the object oriented sdk, rendered with sphinx ([#677](https://github.com/runloopai/api-client-python/issues/677)) ([e8d1053](https://github.com/runloopai/api-client-python/commit/e8d1053edd15c07f8e8099e9736f97e5fd72fcfb))
12
+ * **storage-objects:** Add upload_from_dir helper method ([#680](https://github.com/runloopai/api-client-python/issues/680)) ([be5d99e](https://github.com/runloopai/api-client-python/commit/be5d99ef9983a64658c38ae5e0364122d11b86c4))
13
+
14
+
15
+ ### Documentation
16
+
17
+ * restructured sync vs async sdk and resources, added support for more type references ([#679](https://github.com/runloopai/api-client-python/issues/679)) ([6af891e](https://github.com/runloopai/api-client-python/commit/6af891e0b87d038b5b61a683fdf410df94f495b6))
18
+
3
19
  ## 0.68.0 (2025-11-19)
4
20
 
5
21
  Full Changelog: [v0.67.0...v0.68.0](https://github.com/runloopai/api-client-python/compare/v0.67.0...v0.68.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.68.0
3
+ Version: 0.69.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
@@ -356,6 +356,8 @@ devbox.await_suspended()
356
356
  devbox.shutdown()
357
357
  ```
358
358
 
359
+ > **State-waiting behavior:** In the synchronous SDK, `runloop.devbox.from_id()` and `devbox.resume()` block until the devbox reaches the `running` state, and `devbox.suspend()` blocks until the devbox is `suspended`. The async counterparts return immediately; call `await_running()` / `await_suspended()` explicitly if you need to wait for the state transition.
360
+
359
361
  #### Context Manager Support
360
362
 
361
363
  Devboxes support context managers for automatic cleanup:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.68.0"
3
+ version = "0.69.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -64,6 +64,12 @@ dev = [
64
64
  "uuid-utils>=0.11.0",
65
65
  "pytest-cov>=7.0.0",
66
66
  ]
67
+ docs = [
68
+ "furo>=2025.9.25",
69
+ "sphinx>=7.4.7",
70
+ "sphinx-autodoc-typehints>=2.3.0",
71
+ "sphinx-toolbox>=4.0.0",
72
+ ]
67
73
  pydantic-v1 = [
68
74
  "pydantic>=1.9.0, <2",
69
75
  ]
@@ -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.68.0" # x-release-please-version
4
+ __version__ = "0.69.0" # x-release-please-version
@@ -1,5 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- # isort: skip_file
3
2
 
4
3
  from __future__ import annotations
5
4
 
@@ -15,8 +14,7 @@ from ..types import (
15
14
  blueprint_create_from_inspection_params,
16
15
  )
17
16
  from .._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
18
- from .._utils import maybe_transform, async_maybe_transform
19
- from .._utils._validation import ValidationNotification
17
+ from .._utils import is_given, maybe_transform, async_maybe_transform
20
18
  from .._compat import cached_property
21
19
  from .._resource import SyncAPIResource, AsyncAPIResource
22
20
  from .._response import (
@@ -31,6 +29,7 @@ from .._exceptions import RunloopError
31
29
  from ..lib.polling import PollingConfig, poll_until
32
30
  from .._base_client import AsyncPaginator, make_request_options
33
31
  from ..lib.polling_async import async_poll_until
32
+ from .._utils._validation import ValidationNotification
34
33
  from ..types.blueprint_view import BlueprintView
35
34
  from ..types.blueprint_preview_view import BlueprintPreviewView
36
35
  from ..types.inspection_source_param import InspectionSourceParam
@@ -79,7 +78,7 @@ def _validate_file_mounts(file_mounts: Optional[Dict[str, str]] | Omit) -> Valid
79
78
 
80
79
  note = ValidationNotification()
81
80
 
82
- if file_mounts is omit or file_mounts is None:
81
+ if file_mounts is None or not is_given(file_mounts):
83
82
  return note
84
83
 
85
84
  total_size_bytes = 0
@@ -327,11 +326,13 @@ class BlueprintsResource(SyncAPIResource):
327
326
  base_blueprint_id: Optional[str] | Omit = omit,
328
327
  base_blueprint_name: Optional[str] | Omit = omit,
329
328
  build_args: Optional[Dict[str, str]] | Omit = omit,
329
+ build_context: Optional[blueprint_create_params.BuildContext] | Omit = omit,
330
330
  code_mounts: Optional[Iterable[CodeMountParameters]] | Omit = omit,
331
331
  dockerfile: Optional[str] | Omit = omit,
332
332
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
333
333
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
334
334
  metadata: Optional[Dict[str, str]] | Omit = omit,
335
+ named_build_contexts: Optional[Dict[str, blueprint_create_params.NamedBuildContexts]] | Omit = omit,
335
336
  secrets: Optional[Dict[str, str]] | Omit = omit,
336
337
  services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
337
338
  system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -365,11 +366,13 @@ class BlueprintsResource(SyncAPIResource):
365
366
  base_blueprint_id=base_blueprint_id,
366
367
  base_blueprint_name=base_blueprint_name,
367
368
  build_args=build_args,
369
+ build_context=build_context,
368
370
  code_mounts=code_mounts,
369
371
  dockerfile=dockerfile,
370
372
  file_mounts=file_mounts,
371
373
  launch_parameters=launch_parameters,
372
374
  metadata=metadata,
375
+ named_build_contexts=named_build_contexts,
373
376
  secrets=secrets,
374
377
  services=services,
375
378
  system_setup_commands=system_setup_commands,
@@ -978,11 +981,13 @@ class AsyncBlueprintsResource(AsyncAPIResource):
978
981
  base_blueprint_id: Optional[str] | Omit = omit,
979
982
  base_blueprint_name: Optional[str] | Omit = omit,
980
983
  build_args: Optional[Dict[str, str]] | Omit = omit,
984
+ build_context: Optional[blueprint_create_params.BuildContext] | Omit = omit,
981
985
  code_mounts: Optional[Iterable[CodeMountParameters]] | Omit = omit,
982
986
  dockerfile: Optional[str] | Omit = omit,
983
987
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
984
988
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
985
989
  metadata: Optional[Dict[str, str]] | Omit = omit,
990
+ named_build_contexts: Optional[Dict[str, blueprint_create_params.NamedBuildContexts]] | Omit = omit,
986
991
  secrets: Optional[Dict[str, str]] | Omit = omit,
987
992
  services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
988
993
  system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -1016,11 +1021,13 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1016
1021
  base_blueprint_id=base_blueprint_id,
1017
1022
  base_blueprint_name=base_blueprint_name,
1018
1023
  build_args=build_args,
1024
+ build_context=build_context,
1019
1025
  code_mounts=code_mounts,
1020
1026
  dockerfile=dockerfile,
1021
1027
  file_mounts=file_mounts,
1022
1028
  launch_parameters=launch_parameters,
1023
1029
  metadata=metadata,
1030
+ named_build_contexts=named_build_contexts,
1024
1031
  secrets=secrets,
1025
1032
  services=services,
1026
1033
  system_setup_commands=system_setup_commands,
@@ -231,7 +231,7 @@ class DevboxesResource(SyncAPIResource):
231
231
 
232
232
  metadata: User defined metadata to attach to the devbox for organization.
233
233
 
234
- mounts: A list of file system mounts to be included in the Devbox.
234
+ mounts: A list of mounts to be included in the Devbox.
235
235
 
236
236
  name: (Optional) A user specified name to give the Devbox.
237
237
 
@@ -1769,7 +1769,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1769
1769
 
1770
1770
  metadata: User defined metadata to attach to the devbox for organization.
1771
1771
 
1772
- mounts: A list of file system mounts to be included in the Devbox.
1772
+ mounts: A list of mounts to be included in the Devbox.
1773
1773
 
1774
1774
  name: (Optional) A user specified name to give the Devbox.
1775
1775
 
@@ -39,11 +39,11 @@ T = TypeVar("T")
39
39
  def filter_params(params: Mapping[str, Any], type_filter: Type[T]) -> T:
40
40
  """Filter params dict to only include keys defined in the given TypedDict type.
41
41
 
42
- Args:
43
- params: Dictionary or TypedDict of parameters to filter
44
- type_filter: TypedDict class to filter against
45
-
46
- Returns:
47
- Filtered dictionary matching the TypedDict structure
42
+ :param params: Dictionary or TypedDict of parameters to filter
43
+ :type params: Mapping[str, Any]
44
+ :param type_filter: TypedDict class to filter against
45
+ :type type_filter: Type[T]
46
+ :return: Filtered dictionary matching the TypedDict structure
47
+ :rtype: T
48
48
  """
49
49
  return {k: v for k, v in params.items() if k in type_filter.__annotations__} # type: ignore[return-value]
@@ -68,7 +68,7 @@ class SDKDevboxCreateParams(DevboxCreateParams, LongPollingRequestOptions):
68
68
  pass
69
69
 
70
70
 
71
- class SDKDevboxExtraCreateParams(DevboxBaseCreateParams, LongPollingRequestOptions):
71
+ class SDKDevboxCreateFromImageParams(DevboxBaseCreateParams, LongPollingRequestOptions):
72
72
  pass
73
73
 
74
74