runloop_api_client 0.66.0__tar.gz → 0.66.1__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 (259) hide show
  1. runloop_api_client-0.66.1/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/CHANGELOG.md +4 -0
  3. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/PKG-INFO +1 -1
  4. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/pyproject.toml +1 -1
  5. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/requirements-dev.lock +1 -1
  6. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_version.py +1 -1
  7. runloop_api_client-0.66.1/tests/smoketests/test_blueprints.py +107 -0
  8. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/test_devboxes.py +2 -2
  9. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/test_snapshots.py +11 -7
  10. runloop_api_client-0.66.0/.release-please-manifest.json +0 -3
  11. runloop_api_client-0.66.0/tests/smoketests/test_blueprints.py +0 -65
  12. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/.gitignore +0 -0
  13. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/CONTRIBUTING.md +0 -0
  14. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/LICENSE +0 -0
  15. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/README.md +0 -0
  16. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/SECURITY.md +0 -0
  17. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/api.md +0 -0
  18. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/bin/check-release-environment +0 -0
  19. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/bin/publish-pypi +0 -0
  20. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/examples/.keep +0 -0
  21. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/release-please-config.json +0 -0
  22. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop/lib/.keep +0 -0
  23. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/__init__.py +0 -0
  24. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_base_client.py +0 -0
  25. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_client.py +0 -0
  26. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_compat.py +0 -0
  27. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_constants.py +0 -0
  28. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_exceptions.py +0 -0
  29. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_files.py +0 -0
  30. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_models.py +0 -0
  31. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_qs.py +0 -0
  32. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_resource.py +0 -0
  33. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_response.py +0 -0
  34. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_streaming.py +0 -0
  35. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_types.py +0 -0
  36. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/__init__.py +0 -0
  37. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_compat.py +0 -0
  38. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  39. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_logs.py +0 -0
  40. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_proxy.py +0 -0
  41. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_reflection.py +0 -0
  42. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  43. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_streams.py +0 -0
  44. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_sync.py +0 -0
  45. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_transform.py +0 -0
  46. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_typing.py +0 -0
  47. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/_utils/_utils.py +0 -0
  48. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/lib/.keep +0 -0
  49. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/lib/polling.py +0 -0
  50. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/lib/polling_async.py +0 -0
  51. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/pagination.py +0 -0
  52. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/py.typed +0 -0
  53. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/__init__.py +0 -0
  54. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  55. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  56. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  57. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/blueprints.py +0 -0
  58. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  59. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  60. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  61. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
  62. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  63. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  64. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  65. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/objects.py +0 -0
  66. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/repositories.py +0 -0
  67. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  68. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  69. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  70. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  71. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/resources/secrets.py +0 -0
  72. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/__init__.py +0 -0
  73. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  74. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  75. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  76. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  77. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  78. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  79. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  80. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  81. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmark_view.py +0 -0
  82. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  83. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  84. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  85. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  86. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  87. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  88. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  89. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  90. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  91. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  92. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  93. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  94. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  95. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/blueprint_view.py +0 -0
  96. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  97. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  98. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  99. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  100. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  101. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  102. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  103. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  104. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  105. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  106. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  107. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  108. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  109. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  110. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  111. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  112. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  113. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  114. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  115. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  116. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  117. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  118. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  119. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_view.py +0 -0
  120. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  121. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  122. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  123. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  124. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  125. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  126. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  127. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  128. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  129. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  130. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  131. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  132. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  133. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  134. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  135. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  136. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  137. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  138. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  139. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  140. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  141. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  142. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  143. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  144. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  145. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  146. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/input_context.py +0 -0
  147. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/input_context_param.py +0 -0
  148. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  149. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  150. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_create_params.py +0 -0
  151. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_download_params.py +0 -0
  152. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  153. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_list_params.py +0 -0
  154. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  155. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_list_view.py +0 -0
  156. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/object_view.py +0 -0
  157. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  158. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  159. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_create_params.py +0 -0
  160. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  161. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  162. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  163. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_list_params.py +0 -0
  164. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  165. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  166. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  167. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  168. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_environment.py +0 -0
  169. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  170. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  171. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  172. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  173. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  174. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  175. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  176. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenario_view.py +0 -0
  177. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  178. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  179. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  180. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  181. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  182. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  183. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  184. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  185. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  186. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  187. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  188. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_contract.py +0 -0
  189. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  190. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  191. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  192. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_function.py +0 -0
  193. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  194. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  195. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/secret_create_params.py +0 -0
  196. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/secret_list_params.py +0 -0
  197. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/secret_list_view.py +0 -0
  198. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/secret_update_params.py +0 -0
  199. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/secret_view.py +0 -0
  200. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/__init__.py +0 -0
  201. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  202. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/agent_mount_parameters.py +0 -0
  203. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  204. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  205. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/mount.py +0 -0
  206. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/object_mount_parameters.py +0 -0
  207. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  208. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  209. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  210. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +0 -0
  211. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  212. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  213. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  214. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/object_mount_parameters.py +0 -0
  215. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  216. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/__init__.py +0 -0
  217. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/__init__.py +0 -0
  218. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/benchmarks/__init__.py +0 -0
  219. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/benchmarks/test_runs.py +0 -0
  220. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/devboxes/__init__.py +0 -0
  221. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/devboxes/test_browsers.py +0 -0
  222. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/devboxes/test_computers.py +0 -0
  223. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  224. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/devboxes/test_executions.py +0 -0
  225. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/devboxes/test_logs.py +0 -0
  226. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/scenarios/__init__.py +0 -0
  227. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/scenarios/test_runs.py +0 -0
  228. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/scenarios/test_scorers.py +0 -0
  229. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_benchmarks.py +0 -0
  230. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_blueprints.py +0 -0
  231. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_devboxes.py +0 -0
  232. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_objects.py +0 -0
  233. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_repositories.py +0 -0
  234. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_scenarios.py +0 -0
  235. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/api_resources/test_secrets.py +0 -0
  236. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/conftest.py +0 -0
  237. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/sample_file.txt +0 -0
  238. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/README.md +0 -0
  239. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/__init__.py +0 -0
  240. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/conftest.py +0 -0
  241. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/test_executions.py +0 -0
  242. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  243. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/smoketests/utils.py +0 -0
  244. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_client.py +0 -0
  245. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_deepcopy.py +0 -0
  246. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_extract_files.py +0 -0
  247. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_files.py +0 -0
  248. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_models.py +0 -0
  249. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_polling.py +0 -0
  250. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_qs.py +0 -0
  251. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_required_args.py +0 -0
  252. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_response.py +0 -0
  253. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_streaming.py +0 -0
  254. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_transform.py +0 -0
  255. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_utils/test_datetime_parse.py +0 -0
  256. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_utils/test_proxy.py +0 -0
  257. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/test_utils/test_typing.py +0 -0
  258. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/tests/utils.py +0 -0
  259. {runloop_api_client-0.66.0 → runloop_api_client-0.66.1}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.66.1"
3
+ }
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.66.1 (2025-10-23)
4
+
5
+ Full Changelog: [v0.66.0...v0.66.1](https://github.com/runloopai/api-client-python/compare/v0.66.0...v0.66.1)
6
+
3
7
  ## 0.66.0 (2025-10-23)
4
8
 
5
9
  Full Changelog: [v0.65.0...v0.66.0](https://github.com/runloopai/api-client-python/compare/v0.65.0...v0.66.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.66.0
3
+ Version: 0.66.1
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.66.0"
3
+ version = "0.66.1"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -119,5 +119,5 @@ virtualenv==20.24.5
119
119
  # via nox
120
120
  yarl==1.20.0
121
121
  # via aiohttp
122
- zipp==3.17.0
122
+ zipp>=3.20
123
123
  # via importlib-metadata
@@ -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.66.0" # x-release-please-version
4
+ __version__ = "0.66.1" # x-release-please-version
@@ -0,0 +1,107 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+ from typing import Iterator
5
+
6
+ import pytest
7
+
8
+ from runloop_api_client import Runloop
9
+ from runloop_api_client.lib.polling import PollingConfig
10
+
11
+ from .utils import unique_name
12
+
13
+ pytestmark = [pytest.mark.smoketest]
14
+
15
+
16
+ @pytest.fixture(autouse=True, scope="module")
17
+ def _cleanup(client: Runloop) -> Iterator[None]: # pyright: ignore[reportUnusedFunction]
18
+ yield
19
+ global _blueprint_id
20
+ if _blueprint_id:
21
+ try:
22
+ client.blueprints.delete(_blueprint_id)
23
+ except Exception:
24
+ pass
25
+
26
+
27
+ """
28
+ Tests are run sequentially and can be dependent on each other.
29
+ This is to avoid overloading resources and save efficiency.
30
+ """
31
+ _blueprint_id = None
32
+ _blueprint_name = unique_name("bp")
33
+
34
+
35
+ @pytest.mark.timeout(120) # 2 minutes
36
+ def test_create_blueprint_and_await_build(client: Runloop) -> None:
37
+ global _blueprint_id
38
+ created = client.blueprints.create_and_await_build_complete(
39
+ name=_blueprint_name,
40
+ polling_config=PollingConfig(max_attempts=180, interval_seconds=5.0, timeout_seconds=30 * 60),
41
+ )
42
+ assert created.status == "build_complete"
43
+ _blueprint_id = created.id
44
+
45
+
46
+ @pytest.mark.timeout(120)
47
+ def test_start_devbox_from_base_blueprint_by_id(client: Runloop) -> None:
48
+ assert _blueprint_id
49
+ devbox = None
50
+ try:
51
+ devbox = client.devboxes.create_and_await_running(
52
+ blueprint_id=_blueprint_id,
53
+ polling_config=PollingConfig(max_attempts=120, interval_seconds=5.0, timeout_seconds=20 * 60),
54
+ )
55
+ assert devbox.blueprint_id == _blueprint_id
56
+ assert devbox.status == "running"
57
+ finally:
58
+ if devbox:
59
+ client.devboxes.shutdown(devbox.id)
60
+
61
+
62
+ @pytest.mark.timeout(120)
63
+ def test_start_devbox_from_base_blueprint_by_name(client: Runloop) -> None:
64
+ devbox = None
65
+ try:
66
+ devbox = client.devboxes.create_and_await_running(
67
+ blueprint_name=_blueprint_name,
68
+ polling_config=PollingConfig(max_attempts=120, interval_seconds=5.0, timeout_seconds=20 * 60),
69
+ )
70
+ assert devbox.blueprint_id
71
+ assert devbox.status == "running"
72
+ finally:
73
+ if devbox:
74
+ client.devboxes.shutdown(devbox.id)
75
+
76
+
77
+ @pytest.mark.timeout(120)
78
+ @pytest.mark.skipif(
79
+ os.getenv("RUN_SMOKETESTS") != "1",
80
+ reason="Skip blueprint secrets test in local testing (requires RUN_SMOKETESTS=1)",
81
+ )
82
+ def test_create_blueprint_with_secret_and_await_build(client: Runloop) -> None:
83
+ bpt = None
84
+ try:
85
+ bpt = client.blueprints.create(
86
+ name=unique_name("bp-secrets"),
87
+ dockerfile=(
88
+ "FROM runloop:runloop/starter-arm64\n"
89
+ "ARG GITHUB_TOKEN\n"
90
+ 'RUN git config --global credential.helper \'!f() { echo "username=x-access-token"; echo "password=$GITHUB_TOKEN"; }; f\' '
91
+ "&& git clone https://github.com/runloopai/runloop-fe.git /workspace/runloop-fe "
92
+ "&& git config --global --unset credential.helper\n"
93
+ "WORKDIR /workspace/runloop-fe"
94
+ ),
95
+ secrets={"GITHUB_TOKEN": "GITHUB_TOKEN_FOR_SMOKETESTS"},
96
+ )
97
+
98
+ completed = client.blueprints.await_build_complete(
99
+ bpt.id,
100
+ polling_config=PollingConfig(max_attempts=180, interval_seconds=5.0, timeout_seconds=30 * 60),
101
+ )
102
+ assert completed.status == "build_complete"
103
+ assert completed.parameters.secrets is not None
104
+ assert completed.parameters.secrets.get("GITHUB_TOKEN") == "GITHUB_TOKEN_FOR_SMOKETESTS"
105
+ finally:
106
+ if bpt:
107
+ client.blueprints.delete(bpt.id)
@@ -37,7 +37,7 @@ def test_create_devbox(client: Runloop) -> None:
37
37
  client.devboxes.shutdown(created.id)
38
38
 
39
39
 
40
- @pytest.mark.timeout(30)
40
+ @pytest.mark.timeout(120)
41
41
  def test_await_running_create_and_await_running(client: Runloop) -> None:
42
42
  global _devbox_id
43
43
  created = client.devboxes.create_and_await_running(
@@ -67,7 +67,7 @@ def test_shutdown_devbox(client: Runloop) -> None:
67
67
  assert view.status == "shutdown"
68
68
 
69
69
 
70
- @pytest.mark.timeout(90)
70
+ @pytest.mark.timeout(120)
71
71
  def test_create_and_await_running_long_set_up(client: Runloop) -> None:
72
72
  created = client.devboxes.create_and_await_running(
73
73
  name=unique_name("smoketest-devbox-await-running-long-set-up"),
@@ -45,12 +45,16 @@ def test_snapshot_devbox(client: Runloop) -> None:
45
45
  _snapshot_id = snap.id
46
46
 
47
47
 
48
- @pytest.mark.timeout(30)
48
+ @pytest.mark.timeout(120)
49
49
  def test_launch_devbox_from_snapshot(client: Runloop) -> None:
50
50
  assert _snapshot_id
51
- launched = client.devboxes.create_and_await_running(
52
- snapshot_id=_snapshot_id,
53
- polling_config=PollingConfig(max_attempts=120, interval_seconds=5.0, timeout_seconds=20 * 60),
54
- )
55
- assert launched.snapshot_id == _snapshot_id
56
- client.devboxes.shutdown(launched.id)
51
+ launched = None
52
+ try:
53
+ launched = client.devboxes.create_and_await_running(
54
+ snapshot_id=_snapshot_id,
55
+ polling_config=PollingConfig(max_attempts=120, interval_seconds=5.0, timeout_seconds=20 * 60),
56
+ )
57
+ assert launched.snapshot_id == _snapshot_id
58
+ finally:
59
+ if launched:
60
+ client.devboxes.shutdown(launched.id)
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.66.0"
3
- }
@@ -1,65 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing import Iterator
4
-
5
- import pytest
6
-
7
- from runloop_api_client import Runloop
8
- from runloop_api_client.lib.polling import PollingConfig
9
-
10
- from .utils import unique_name
11
-
12
- pytestmark = [pytest.mark.smoketest]
13
-
14
-
15
- @pytest.fixture(autouse=True, scope="module")
16
- def _cleanup(client: Runloop) -> Iterator[None]: # pyright: ignore[reportUnusedFunction]
17
- yield
18
- global _blueprint_id
19
- if _blueprint_id:
20
- try:
21
- client.blueprints.delete(_blueprint_id)
22
- except Exception:
23
- pass
24
-
25
-
26
- """
27
- Tests are run sequentially and can be dependent on each other.
28
- This is to avoid overloading resources and save efficiency.
29
- """
30
- _blueprint_id = None
31
- _blueprint_name = unique_name("bp")
32
-
33
-
34
- @pytest.mark.timeout(30)
35
- def test_create_blueprint_and_await_build(client: Runloop) -> None:
36
- global _blueprint_id
37
- created = client.blueprints.create_and_await_build_complete(
38
- name=_blueprint_name,
39
- polling_config=PollingConfig(max_attempts=180, interval_seconds=5.0, timeout_seconds=30 * 60),
40
- )
41
- assert created.status == "build_complete"
42
- _blueprint_id = created.id
43
-
44
-
45
- @pytest.mark.timeout(30)
46
- def test_start_devbox_from_base_blueprint_by_id(client: Runloop) -> None:
47
- assert _blueprint_id
48
- devbox = client.devboxes.create_and_await_running(
49
- blueprint_id=_blueprint_id,
50
- polling_config=PollingConfig(max_attempts=120, interval_seconds=5.0, timeout_seconds=20 * 60),
51
- )
52
- assert devbox.blueprint_id == _blueprint_id
53
- assert devbox.status == "running"
54
- client.devboxes.shutdown(devbox.id)
55
-
56
-
57
- @pytest.mark.timeout(30)
58
- def test_start_devbox_from_base_blueprint_by_name(client: Runloop) -> None:
59
- devbox = client.devboxes.create_and_await_running(
60
- blueprint_name=_blueprint_name,
61
- polling_config=PollingConfig(max_attempts=120, interval_seconds=5.0, timeout_seconds=20 * 60),
62
- )
63
- assert devbox.blueprint_id
64
- assert devbox.status == "running"
65
- client.devboxes.shutdown(devbox.id)