runloop_api_client 0.61.0__tar.gz → 0.63.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 (256) hide show
  1. runloop_api_client-0.63.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/CHANGELOG.md +19 -0
  3. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/PKG-INFO +2 -2
  4. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/api.md +13 -1
  5. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/pyproject.toml +2 -2
  6. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/blueprints.py +152 -0
  8. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/devboxes.py +21 -4
  9. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/repositories.py +113 -1
  10. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/__init__.py +8 -0
  11. runloop_api_client-0.63.0/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +36 -0
  12. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_create_params.py +4 -0
  13. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_execute_params.py +1 -1
  14. runloop_api_client-0.63.0/src/runloop_api_client/types/inspection_source_param.py +16 -0
  15. runloop_api_client-0.63.0/src/runloop_api_client/types/repository_inspect_params.py +13 -0
  16. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared/__init__.py +3 -0
  17. runloop_api_client-0.63.0/src/runloop_api_client/types/shared/agent_mount_parameters.py +21 -0
  18. runloop_api_client-0.63.0/src/runloop_api_client/types/shared/mount.py +12 -0
  19. runloop_api_client-0.63.0/src/runloop_api_client/types/shared/object_mount_parameters.py +21 -0
  20. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared_params/__init__.py +3 -0
  21. runloop_api_client-0.63.0/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +21 -0
  22. runloop_api_client-0.63.0/src/runloop_api_client/types/shared_params/mount.py +13 -0
  23. runloop_api_client-0.63.0/src/runloop_api_client/types/shared_params/object_mount_parameters.py +21 -0
  24. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_blueprints.py +134 -0
  25. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_devboxes.py +14 -0
  26. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_repositories.py +93 -0
  27. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/uv.lock +1 -1
  28. runloop_api_client-0.61.0/.release-please-manifest.json +0 -3
  29. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/.gitignore +0 -0
  30. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/CONTRIBUTING.md +0 -0
  31. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/LICENSE +0 -0
  32. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/README.md +0 -0
  33. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/SECURITY.md +0 -0
  34. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/bin/check-release-environment +0 -0
  35. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/bin/publish-pypi +0 -0
  36. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/examples/.keep +0 -0
  37. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/release-please-config.json +0 -0
  38. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/requirements-dev.lock +0 -0
  39. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop/lib/.keep +0 -0
  40. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/__init__.py +0 -0
  41. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_base_client.py +0 -0
  42. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_client.py +0 -0
  43. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_compat.py +0 -0
  44. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_constants.py +0 -0
  45. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_exceptions.py +0 -0
  46. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_files.py +0 -0
  47. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_models.py +0 -0
  48. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_qs.py +0 -0
  49. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_resource.py +0 -0
  50. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_response.py +0 -0
  51. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_streaming.py +0 -0
  52. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_types.py +0 -0
  53. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  54. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  55. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  56. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  57. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  58. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  59. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  60. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  61. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  62. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  63. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  64. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  65. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/lib/.keep +0 -0
  66. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/lib/polling.py +0 -0
  67. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  68. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/pagination.py +0 -0
  69. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/py.typed +0 -0
  70. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/__init__.py +0 -0
  71. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  72. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  73. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  74. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  75. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  76. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  77. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  78. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  79. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  80. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/objects.py +0 -0
  81. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  82. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  83. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  84. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  85. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/resources/secrets.py +0 -0
  86. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  87. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  88. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  89. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  90. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  91. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  92. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  93. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  94. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  95. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  96. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  97. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  98. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  99. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  100. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  101. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  102. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  103. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  104. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  105. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  106. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  107. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  108. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  109. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  110. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  111. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  112. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  113. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  114. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  115. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  116. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  117. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  118. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  119. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  120. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  121. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  122. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  123. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  124. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  125. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  126. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  127. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  128. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  129. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  130. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  131. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  132. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  133. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  134. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  135. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  136. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  137. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  138. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  139. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  140. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  141. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  142. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  143. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  144. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  145. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  146. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  147. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  148. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  149. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  150. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  151. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  152. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  153. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  154. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/input_context.py +0 -0
  155. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  156. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  157. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  158. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  159. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  160. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  161. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  162. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  163. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/object_view.py +0 -0
  164. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  165. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  166. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  167. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  168. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  169. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  170. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  171. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  172. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  173. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  174. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  175. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  176. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  177. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  178. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  179. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  180. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  181. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  182. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  183. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  184. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  185. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  186. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  187. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  188. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  189. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  190. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  191. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  192. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  193. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  194. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  195. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  196. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  197. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  198. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  199. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  200. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  201. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  202. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  203. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  204. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  205. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/secret_view.py +0 -0
  206. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  207. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  208. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  209. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  210. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  211. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  212. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  213. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  214. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/__init__.py +0 -0
  215. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/__init__.py +0 -0
  216. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  217. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  218. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/devboxes/__init__.py +0 -0
  219. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  220. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  221. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  222. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  223. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  224. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/scenarios/__init__.py +0 -0
  225. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  226. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  227. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_benchmarks.py +0 -0
  228. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_objects.py +0 -0
  229. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_scenarios.py +0 -0
  230. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/api_resources/test_secrets.py +0 -0
  231. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/conftest.py +0 -0
  232. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/sample_file.txt +0 -0
  233. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/README.md +0 -0
  234. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/__init__.py +0 -0
  235. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/conftest.py +0 -0
  236. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/test_blueprints.py +0 -0
  237. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/test_devboxes.py +0 -0
  238. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/test_executions.py +0 -0
  239. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  240. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/test_snapshots.py +0 -0
  241. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/smoketests/utils.py +0 -0
  242. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_client.py +0 -0
  243. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_deepcopy.py +0 -0
  244. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_extract_files.py +0 -0
  245. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_files.py +0 -0
  246. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_models.py +0 -0
  247. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_polling.py +0 -0
  248. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_qs.py +0 -0
  249. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_required_args.py +0 -0
  250. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_response.py +0 -0
  251. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_streaming.py +0 -0
  252. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_transform.py +0 -0
  253. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_utils/test_datetime_parse.py +0 -0
  254. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_utils/test_proxy.py +0 -0
  255. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/test_utils/test_typing.py +0 -0
  256. {runloop_api_client-0.61.0 → runloop_api_client-0.63.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.63.0"
3
+ }
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.63.0 (2025-10-02)
4
+
5
+ Full Changelog: [v0.62.0...v0.63.0](https://github.com/runloopai/api-client-python/compare/v0.62.0...v0.63.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([dbf7a2e](https://github.com/runloopai/api-client-python/commit/dbf7a2ea929d3832faec4241f8b8831c97c1755a))
10
+ * **api:** api update ([fff1e21](https://github.com/runloopai/api-client-python/commit/fff1e210bf02f2a8be0cb7fc6d2fe0b04e28bf03))
11
+
12
+ ## 0.62.0 (2025-10-01)
13
+
14
+ Full Changelog: [v0.61.0...v0.62.0](https://github.com/runloopai/api-client-python/compare/v0.61.0...v0.62.0)
15
+
16
+ ### Features
17
+
18
+ * **api:** api update ([a2ed6d7](https://github.com/runloopai/api-client-python/commit/a2ed6d7530f8ea05f600713163ac646989426a65))
19
+ * **api:** api update ([59b9486](https://github.com/runloopai/api-client-python/commit/59b9486f94c15ec76021ec98db3dad93225be663))
20
+ * **api:** api update ([8d62f4b](https://github.com/runloopai/api-client-python/commit/8d62f4b5018b52f3d813b8f6a1f3e5460b80e368))
21
+
3
22
  ## 0.61.0 (2025-09-29)
4
23
 
5
24
  Full Changelog: [v0.60.1...v0.61.0](https://github.com/runloopai/api-client-python/compare/v0.60.1...v0.61.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.61.0
3
+ Version: 0.63.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
@@ -24,7 +24,7 @@ Requires-Python: >=3.9
24
24
  Requires-Dist: anyio<5,>=3.5.0
25
25
  Requires-Dist: distro<2,>=1.7.0
26
26
  Requires-Dist: httpx<1,>=0.23.0
27
- Requires-Dist: pydantic<2.11,>=1.9.0
27
+ Requires-Dist: pydantic<3,>=1.9.0
28
28
  Requires-Dist: sniffio
29
29
  Requires-Dist: typing-extensions<5,>=4.10
30
30
  Requires-Dist: uuid-utils>=0.11.0
@@ -1,7 +1,15 @@
1
1
  # Shared Types
2
2
 
3
3
  ```python
4
- from runloop_api_client.types import AfterIdle, CodeMountParameters, LaunchParameters, RunProfile
4
+ from runloop_api_client.types import (
5
+ AfterIdle,
6
+ AgentMountParameters,
7
+ CodeMountParameters,
8
+ LaunchParameters,
9
+ Mount,
10
+ ObjectMountParameters,
11
+ RunProfile,
12
+ )
5
13
  ```
6
14
 
7
15
  # Benchmarks
@@ -45,12 +53,14 @@ Types:
45
53
 
46
54
  ```python
47
55
  from runloop_api_client.types import (
56
+ BlueprintBuildFromInspectionParameters,
48
57
  BlueprintBuildLog,
49
58
  BlueprintBuildLogsListView,
50
59
  BlueprintBuildParameters,
51
60
  BlueprintListView,
52
61
  BlueprintPreviewView,
53
62
  BlueprintView,
63
+ InspectionSource,
54
64
  )
55
65
  ```
56
66
 
@@ -61,6 +71,7 @@ Methods:
61
71
  - <code title="get /v1/blueprints/{id}">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
62
72
  - <code title="get /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
63
73
  - <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> object</code>
74
+ - <code title="post /v1/blueprints/create_from_inspection">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create_from_inspection</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_from_inspection_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
64
75
  - <code title="get /v1/blueprints/list_public">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
65
76
  - <code title="get /v1/blueprints/{id}/logs">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">logs</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_build_logs_list_view.py">BlueprintBuildLogsListView</a></code>
66
77
  - <code title="post /v1/blueprints/preview">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">preview</a>(\*\*<a href="src/runloop_api_client/types/blueprint_preview_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_preview_view.py">BlueprintPreviewView</a></code>
@@ -298,6 +309,7 @@ Methods:
298
309
  - <code title="get /v1/repositories/{id}">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">RepositoryConnectionView</a></code>
299
310
  - <code title="get /v1/repositories">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list</a>(\*\*<a href="src/runloop_api_client/types/repository_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">SyncRepositoriesCursorIDPage[RepositoryConnectionView]</a></code>
300
311
  - <code title="post /v1/repositories/{id}/delete">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">delete</a>(id) -> object</code>
312
+ - <code title="post /v1/repositories/{id}/inspect">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">inspect</a>(id, \*\*<a href="src/runloop_api_client/types/repository_inspect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_inspection_details.py">RepositoryInspectionDetails</a></code>
301
313
  - <code title="get /v1/repositories/{id}/inspections">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list_inspections</a>(id) -> <a href="./src/runloop_api_client/types/repository_inspection_list_view.py">RepositoryInspectionListView</a></code>
302
314
  - <code title="post /v1/repositories/{id}/refresh">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">refresh</a>(id, \*\*<a href="src/runloop_api_client/types/repository_refresh_params.py">params</a>) -> object</code>
303
315
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.61.0"
3
+ version = "0.63.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -9,7 +9,7 @@ authors = [
9
9
  ]
10
10
  dependencies = [
11
11
  "httpx>=0.23.0, <1",
12
- "pydantic>=1.9.0, <2.11",
12
+ "pydantic>=1.9.0, <3",
13
13
  "typing-extensions>=4.10, <5",
14
14
  "anyio>=3.5.0, <5",
15
15
  "distro>=1.7.0, <2",
@@ -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.61.0" # x-release-please-version
4
+ __version__ = "0.63.0" # x-release-please-version
@@ -11,6 +11,7 @@ from ..types import (
11
11
  blueprint_create_params,
12
12
  blueprint_preview_params,
13
13
  blueprint_list_public_params,
14
+ blueprint_create_from_inspection_params,
14
15
  )
15
16
  from .._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
16
17
  from .._utils import maybe_transform, async_maybe_transform
@@ -29,6 +30,7 @@ from .._base_client import AsyncPaginator, make_request_options
29
30
  from ..lib.polling_async import async_poll_until
30
31
  from ..types.blueprint_view import BlueprintView
31
32
  from ..types.blueprint_preview_view import BlueprintPreviewView
33
+ from ..types.inspection_source_param import InspectionSourceParam
32
34
  from ..types.blueprint_build_logs_list_view import BlueprintBuildLogsListView
33
35
  from ..types.shared_params.launch_parameters import LaunchParameters
34
36
  from ..types.shared_params.code_mount_parameters import CodeMountParameters
@@ -394,6 +396,75 @@ class BlueprintsResource(SyncAPIResource):
394
396
  cast_to=object,
395
397
  )
396
398
 
399
+ def create_from_inspection(
400
+ self,
401
+ *,
402
+ inspection_source: InspectionSourceParam,
403
+ name: str,
404
+ file_mounts: Optional[Dict[str, str]] | Omit = omit,
405
+ launch_parameters: Optional[LaunchParameters] | Omit = omit,
406
+ metadata: Optional[Dict[str, str]] | Omit = omit,
407
+ system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
408
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
409
+ # The extra values given here take precedence over values defined on the client or passed to this method.
410
+ extra_headers: Headers | None = None,
411
+ extra_query: Query | None = None,
412
+ extra_body: Body | None = None,
413
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
414
+ idempotency_key: str | None = None,
415
+ ) -> BlueprintView:
416
+ """
417
+ Starts build of custom defined container Blueprint using a RepositoryConnection
418
+ Inspection as a source container specification.
419
+
420
+ Args:
421
+ inspection_source: (Optional) Use a RepositoryInspection a source of a Blueprint build. The
422
+ Dockerfile will be automatically created based on the RepositoryInspection
423
+ contents.
424
+
425
+ name: Name of the Blueprint.
426
+
427
+ file_mounts: (Optional) Map of paths and file contents to write before setup.
428
+
429
+ launch_parameters: Parameters to configure your Devbox at launch time.
430
+
431
+ metadata: (Optional) User defined metadata for the Blueprint.
432
+
433
+ system_setup_commands: A list of commands to run to set up your system.
434
+
435
+ extra_headers: Send extra headers
436
+
437
+ extra_query: Add additional query parameters to the request
438
+
439
+ extra_body: Add additional JSON properties to the request
440
+
441
+ timeout: Override the client-level default timeout for this request, in seconds
442
+
443
+ idempotency_key: Specify a custom idempotency key for this request
444
+ """
445
+ return self._post(
446
+ "/v1/blueprints/create_from_inspection",
447
+ body=maybe_transform(
448
+ {
449
+ "inspection_source": inspection_source,
450
+ "name": name,
451
+ "file_mounts": file_mounts,
452
+ "launch_parameters": launch_parameters,
453
+ "metadata": metadata,
454
+ "system_setup_commands": system_setup_commands,
455
+ },
456
+ blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
457
+ ),
458
+ options=make_request_options(
459
+ extra_headers=extra_headers,
460
+ extra_query=extra_query,
461
+ extra_body=extra_body,
462
+ timeout=timeout,
463
+ idempotency_key=idempotency_key,
464
+ ),
465
+ cast_to=BlueprintView,
466
+ )
467
+
397
468
  def list_public(
398
469
  self,
399
470
  *,
@@ -919,6 +990,75 @@ class AsyncBlueprintsResource(AsyncAPIResource):
919
990
  cast_to=object,
920
991
  )
921
992
 
993
+ async def create_from_inspection(
994
+ self,
995
+ *,
996
+ inspection_source: InspectionSourceParam,
997
+ name: str,
998
+ file_mounts: Optional[Dict[str, str]] | Omit = omit,
999
+ launch_parameters: Optional[LaunchParameters] | Omit = omit,
1000
+ metadata: Optional[Dict[str, str]] | Omit = omit,
1001
+ system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
1002
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1003
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1004
+ extra_headers: Headers | None = None,
1005
+ extra_query: Query | None = None,
1006
+ extra_body: Body | None = None,
1007
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1008
+ idempotency_key: str | None = None,
1009
+ ) -> BlueprintView:
1010
+ """
1011
+ Starts build of custom defined container Blueprint using a RepositoryConnection
1012
+ Inspection as a source container specification.
1013
+
1014
+ Args:
1015
+ inspection_source: (Optional) Use a RepositoryInspection a source of a Blueprint build. The
1016
+ Dockerfile will be automatically created based on the RepositoryInspection
1017
+ contents.
1018
+
1019
+ name: Name of the Blueprint.
1020
+
1021
+ file_mounts: (Optional) Map of paths and file contents to write before setup.
1022
+
1023
+ launch_parameters: Parameters to configure your Devbox at launch time.
1024
+
1025
+ metadata: (Optional) User defined metadata for the Blueprint.
1026
+
1027
+ system_setup_commands: A list of commands to run to set up your system.
1028
+
1029
+ extra_headers: Send extra headers
1030
+
1031
+ extra_query: Add additional query parameters to the request
1032
+
1033
+ extra_body: Add additional JSON properties to the request
1034
+
1035
+ timeout: Override the client-level default timeout for this request, in seconds
1036
+
1037
+ idempotency_key: Specify a custom idempotency key for this request
1038
+ """
1039
+ return await self._post(
1040
+ "/v1/blueprints/create_from_inspection",
1041
+ body=await async_maybe_transform(
1042
+ {
1043
+ "inspection_source": inspection_source,
1044
+ "name": name,
1045
+ "file_mounts": file_mounts,
1046
+ "launch_parameters": launch_parameters,
1047
+ "metadata": metadata,
1048
+ "system_setup_commands": system_setup_commands,
1049
+ },
1050
+ blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
1051
+ ),
1052
+ options=make_request_options(
1053
+ extra_headers=extra_headers,
1054
+ extra_query=extra_query,
1055
+ extra_body=extra_body,
1056
+ timeout=timeout,
1057
+ idempotency_key=idempotency_key,
1058
+ ),
1059
+ cast_to=BlueprintView,
1060
+ )
1061
+
922
1062
  def list_public(
923
1063
  self,
924
1064
  *,
@@ -1114,6 +1254,9 @@ class BlueprintsResourceWithRawResponse:
1114
1254
  self.delete = to_raw_response_wrapper(
1115
1255
  blueprints.delete,
1116
1256
  )
1257
+ self.create_from_inspection = to_raw_response_wrapper(
1258
+ blueprints.create_from_inspection,
1259
+ )
1117
1260
  self.list_public = to_raw_response_wrapper(
1118
1261
  blueprints.list_public,
1119
1262
  )
@@ -1141,6 +1284,9 @@ class AsyncBlueprintsResourceWithRawResponse:
1141
1284
  self.delete = async_to_raw_response_wrapper(
1142
1285
  blueprints.delete,
1143
1286
  )
1287
+ self.create_from_inspection = async_to_raw_response_wrapper(
1288
+ blueprints.create_from_inspection,
1289
+ )
1144
1290
  self.list_public = async_to_raw_response_wrapper(
1145
1291
  blueprints.list_public,
1146
1292
  )
@@ -1168,6 +1314,9 @@ class BlueprintsResourceWithStreamingResponse:
1168
1314
  self.delete = to_streamed_response_wrapper(
1169
1315
  blueprints.delete,
1170
1316
  )
1317
+ self.create_from_inspection = to_streamed_response_wrapper(
1318
+ blueprints.create_from_inspection,
1319
+ )
1171
1320
  self.list_public = to_streamed_response_wrapper(
1172
1321
  blueprints.list_public,
1173
1322
  )
@@ -1195,6 +1344,9 @@ class AsyncBlueprintsResourceWithStreamingResponse:
1195
1344
  self.delete = async_to_streamed_response_wrapper(
1196
1345
  blueprints.delete,
1197
1346
  )
1347
+ self.create_from_inspection = async_to_streamed_response_wrapper(
1348
+ blueprints.create_from_inspection,
1349
+ )
1198
1350
  self.list_public = async_to_streamed_response_wrapper(
1199
1351
  blueprints.list_public,
1200
1352
  )
@@ -100,6 +100,7 @@ from .disk_snapshots import (
100
100
  from ...lib.polling_async import async_poll_until
101
101
  from ...types.devbox_view import DevboxView
102
102
  from ...types.devbox_tunnel_view import DevboxTunnelView
103
+ from ...types.shared_params.mount import Mount
103
104
  from ...types.devbox_snapshot_view import DevboxSnapshotView
104
105
  from ...types.shared.launch_parameters import LaunchParameters as SharedLaunchParameters
105
106
  from ...types.devbox_execution_detail_view import DevboxExecutionDetailView
@@ -185,6 +186,7 @@ class DevboxesResource(SyncAPIResource):
185
186
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
186
187
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
187
188
  metadata: Optional[Dict[str, str]] | Omit = omit,
189
+ mounts: Optional[Iterable[Mount]] | Omit = omit,
188
190
  name: Optional[str] | Omit = omit,
189
191
  repo_connection_id: Optional[str] | Omit = omit,
190
192
  secrets: Optional[Dict[str, str]] | Omit = omit,
@@ -228,6 +230,8 @@ class DevboxesResource(SyncAPIResource):
228
230
 
229
231
  metadata: User defined metadata to attach to the devbox for organization.
230
232
 
233
+ mounts: A list of file system mounts to be included in the Devbox.
234
+
231
235
  name: (Optional) A user specified name to give the Devbox.
232
236
 
233
237
  repo_connection_id: Repository connection id the devbox should source its base image from.
@@ -262,6 +266,7 @@ class DevboxesResource(SyncAPIResource):
262
266
  "file_mounts": file_mounts,
263
267
  "launch_parameters": launch_parameters,
264
268
  "metadata": metadata,
269
+ "mounts": mounts,
265
270
  "name": name,
266
271
  "repo_connection_id": repo_connection_id,
267
272
  "secrets": secrets,
@@ -718,7 +723,7 @@ class DevboxesResource(SyncAPIResource):
718
723
  id: str,
719
724
  *,
720
725
  command: str,
721
- command_id: str,
726
+ command_id: str = str(uuid7()),
722
727
  optimistic_timeout: Optional[int] | Omit = omit,
723
728
  shell_name: Optional[str] | Omit = omit,
724
729
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -740,7 +745,7 @@ class DevboxesResource(SyncAPIResource):
740
745
  specified the command is run from the directory based on the recent state of the
741
746
  persistent shell.
742
747
 
743
- command_id: The command ID for idempotency and tracking
748
+ command_id: The command ID in UUIDv7 string format for idempotency and tracking
744
749
 
745
750
  optimistic_timeout: Timeout in seconds to wait for command completion. Operation is not killed. Max
746
751
  is 600 seconds.
@@ -897,6 +902,7 @@ class DevboxesResource(SyncAPIResource):
897
902
  )
898
903
 
899
904
  @typing_extensions.deprecated("deprecated")
905
+ # Use execute, executeAsync, or executeAndAwaitCompletion instead
900
906
  def execute_sync(
901
907
  self,
902
908
  id: str,
@@ -915,6 +921,9 @@ class DevboxesResource(SyncAPIResource):
915
921
  Execute a bash command in the Devbox shell, await the command completion and
916
922
  return the output.
917
923
 
924
+ .. deprecated::
925
+ Use execute, executeAsync, or executeAndAwaitCompletion instead.
926
+
918
927
  Args:
919
928
  command: The command to execute via the Devbox shell. By default, commands are run from
920
929
  the user home directory unless shell_name is specified. If shell_name is
@@ -1629,6 +1638,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1629
1638
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
1630
1639
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
1631
1640
  metadata: Optional[Dict[str, str]] | Omit = omit,
1641
+ mounts: Optional[Iterable[Mount]] | Omit = omit,
1632
1642
  name: Optional[str] | Omit = omit,
1633
1643
  repo_connection_id: Optional[str] | Omit = omit,
1634
1644
  secrets: Optional[Dict[str, str]] | Omit = omit,
@@ -1672,6 +1682,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1672
1682
 
1673
1683
  metadata: User defined metadata to attach to the devbox for organization.
1674
1684
 
1685
+ mounts: A list of file system mounts to be included in the Devbox.
1686
+
1675
1687
  name: (Optional) A user specified name to give the Devbox.
1676
1688
 
1677
1689
  repo_connection_id: Repository connection id the devbox should source its base image from.
@@ -1706,6 +1718,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1706
1718
  "file_mounts": file_mounts,
1707
1719
  "launch_parameters": launch_parameters,
1708
1720
  "metadata": metadata,
1721
+ "mounts": mounts,
1709
1722
  "name": name,
1710
1723
  "repo_connection_id": repo_connection_id,
1711
1724
  "secrets": secrets,
@@ -2161,7 +2174,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
2161
2174
  id: str,
2162
2175
  *,
2163
2176
  command: str,
2164
- command_id: str,
2177
+ command_id: str = str(uuid7()),
2165
2178
  optimistic_timeout: Optional[int] | Omit = omit,
2166
2179
  shell_name: Optional[str] | Omit = omit,
2167
2180
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2183,7 +2196,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
2183
2196
  specified the command is run from the directory based on the recent state of the
2184
2197
  persistent shell.
2185
2198
 
2186
- command_id: The command ID for idempotency and tracking
2199
+ command_id: The command ID in UUIDv7 string format for idempotency and tracking
2187
2200
 
2188
2201
  optimistic_timeout: Timeout in seconds to wait for command completion. Operation is not killed. Max
2189
2202
  is 600 seconds.
@@ -2341,6 +2354,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
2341
2354
  )
2342
2355
 
2343
2356
  @typing_extensions.deprecated("deprecated")
2357
+ # Use execute, executeAsync, or executeAndAwaitCompletion instead
2344
2358
  async def execute_sync(
2345
2359
  self,
2346
2360
  id: str,
@@ -2359,6 +2373,9 @@ class AsyncDevboxesResource(AsyncAPIResource):
2359
2373
  Execute a bash command in the Devbox shell, await the command completion and
2360
2374
  return the output.
2361
2375
 
2376
+ .. deprecated::
2377
+ Use execute, executeAsync, or executeAndAwaitCompletion instead.
2378
+
2362
2379
  Args:
2363
2380
  command: The command to execute via the Devbox shell. By default, commands are run from
2364
2381
  the user home directory unless shell_name is specified. If shell_name is
@@ -6,7 +6,12 @@ from typing import Optional
6
6
 
7
7
  import httpx
8
8
 
9
- from ..types import repository_list_params, repository_create_params, repository_refresh_params
9
+ from ..types import (
10
+ repository_list_params,
11
+ repository_create_params,
12
+ repository_inspect_params,
13
+ repository_refresh_params,
14
+ )
10
15
  from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
11
16
  from .._utils import maybe_transform, async_maybe_transform
12
17
  from .._compat import cached_property
@@ -20,6 +25,7 @@ from .._response import (
20
25
  from ..pagination import SyncRepositoriesCursorIDPage, AsyncRepositoriesCursorIDPage
21
26
  from .._base_client import AsyncPaginator, make_request_options
22
27
  from ..types.repository_connection_view import RepositoryConnectionView
28
+ from ..types.repository_inspection_details import RepositoryInspectionDetails
23
29
  from ..types.repository_inspection_list_view import RepositoryInspectionListView
24
30
 
25
31
  __all__ = ["RepositoriesResource", "AsyncRepositoriesResource"]
@@ -234,6 +240,53 @@ class RepositoriesResource(SyncAPIResource):
234
240
  cast_to=object,
235
241
  )
236
242
 
243
+ def inspect(
244
+ self,
245
+ id: str,
246
+ *,
247
+ github_auth_token: Optional[str] | Omit = omit,
248
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
249
+ # The extra values given here take precedence over values defined on the client or passed to this method.
250
+ extra_headers: Headers | None = None,
251
+ extra_query: Query | None = None,
252
+ extra_body: Body | None = None,
253
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
254
+ idempotency_key: str | None = None,
255
+ ) -> RepositoryInspectionDetails:
256
+ """
257
+ Inspect a repository connection by inspecting the specified version including
258
+ repo's technical stack and developer environment requirements.
259
+
260
+ Args:
261
+ github_auth_token: GitHub authentication token for accessing private repositories.
262
+
263
+ extra_headers: Send extra headers
264
+
265
+ extra_query: Add additional query parameters to the request
266
+
267
+ extra_body: Add additional JSON properties to the request
268
+
269
+ timeout: Override the client-level default timeout for this request, in seconds
270
+
271
+ idempotency_key: Specify a custom idempotency key for this request
272
+ """
273
+ if not id:
274
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
275
+ return self._post(
276
+ f"/v1/repositories/{id}/inspect",
277
+ body=maybe_transform(
278
+ {"github_auth_token": github_auth_token}, repository_inspect_params.RepositoryInspectParams
279
+ ),
280
+ options=make_request_options(
281
+ extra_headers=extra_headers,
282
+ extra_query=extra_query,
283
+ extra_body=extra_body,
284
+ timeout=timeout,
285
+ idempotency_key=idempotency_key,
286
+ ),
287
+ cast_to=RepositoryInspectionDetails,
288
+ )
289
+
237
290
  def list_inspections(
238
291
  self,
239
292
  id: str,
@@ -532,6 +585,53 @@ class AsyncRepositoriesResource(AsyncAPIResource):
532
585
  cast_to=object,
533
586
  )
534
587
 
588
+ async def inspect(
589
+ self,
590
+ id: str,
591
+ *,
592
+ github_auth_token: Optional[str] | Omit = omit,
593
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
594
+ # The extra values given here take precedence over values defined on the client or passed to this method.
595
+ extra_headers: Headers | None = None,
596
+ extra_query: Query | None = None,
597
+ extra_body: Body | None = None,
598
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
599
+ idempotency_key: str | None = None,
600
+ ) -> RepositoryInspectionDetails:
601
+ """
602
+ Inspect a repository connection by inspecting the specified version including
603
+ repo's technical stack and developer environment requirements.
604
+
605
+ Args:
606
+ github_auth_token: GitHub authentication token for accessing private repositories.
607
+
608
+ extra_headers: Send extra headers
609
+
610
+ extra_query: Add additional query parameters to the request
611
+
612
+ extra_body: Add additional JSON properties to the request
613
+
614
+ timeout: Override the client-level default timeout for this request, in seconds
615
+
616
+ idempotency_key: Specify a custom idempotency key for this request
617
+ """
618
+ if not id:
619
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
620
+ return await self._post(
621
+ f"/v1/repositories/{id}/inspect",
622
+ body=await async_maybe_transform(
623
+ {"github_auth_token": github_auth_token}, repository_inspect_params.RepositoryInspectParams
624
+ ),
625
+ options=make_request_options(
626
+ extra_headers=extra_headers,
627
+ extra_query=extra_query,
628
+ extra_body=extra_body,
629
+ timeout=timeout,
630
+ idempotency_key=idempotency_key,
631
+ ),
632
+ cast_to=RepositoryInspectionDetails,
633
+ )
634
+
535
635
  async def list_inspections(
536
636
  self,
537
637
  id: str,
@@ -637,6 +737,9 @@ class RepositoriesResourceWithRawResponse:
637
737
  self.delete = to_raw_response_wrapper(
638
738
  repositories.delete,
639
739
  )
740
+ self.inspect = to_raw_response_wrapper(
741
+ repositories.inspect,
742
+ )
640
743
  self.list_inspections = to_raw_response_wrapper(
641
744
  repositories.list_inspections,
642
745
  )
@@ -661,6 +764,9 @@ class AsyncRepositoriesResourceWithRawResponse:
661
764
  self.delete = async_to_raw_response_wrapper(
662
765
  repositories.delete,
663
766
  )
767
+ self.inspect = async_to_raw_response_wrapper(
768
+ repositories.inspect,
769
+ )
664
770
  self.list_inspections = async_to_raw_response_wrapper(
665
771
  repositories.list_inspections,
666
772
  )
@@ -685,6 +791,9 @@ class RepositoriesResourceWithStreamingResponse:
685
791
  self.delete = to_streamed_response_wrapper(
686
792
  repositories.delete,
687
793
  )
794
+ self.inspect = to_streamed_response_wrapper(
795
+ repositories.inspect,
796
+ )
688
797
  self.list_inspections = to_streamed_response_wrapper(
689
798
  repositories.list_inspections,
690
799
  )
@@ -709,6 +818,9 @@ class AsyncRepositoriesResourceWithStreamingResponse:
709
818
  self.delete = async_to_streamed_response_wrapper(
710
819
  repositories.delete,
711
820
  )
821
+ self.inspect = async_to_streamed_response_wrapper(
822
+ repositories.inspect,
823
+ )
712
824
  self.list_inspections = async_to_streamed_response_wrapper(
713
825
  repositories.list_inspections,
714
826
  )
@@ -3,10 +3,13 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from .shared import (
6
+ Mount as Mount,
6
7
  AfterIdle as AfterIdle,
7
8
  RunProfile as RunProfile,
8
9
  LaunchParameters as LaunchParameters,
9
10
  CodeMountParameters as CodeMountParameters,
11
+ AgentMountParameters as AgentMountParameters,
12
+ ObjectMountParameters as ObjectMountParameters,
10
13
  )
11
14
  from .devbox_view import DevboxView as DevboxView
12
15
  from .object_view import ObjectView as ObjectView
@@ -52,6 +55,7 @@ from .benchmark_create_params import BenchmarkCreateParams as BenchmarkCreatePar
52
55
  from .benchmark_run_list_view import BenchmarkRunListView as BenchmarkRunListView
53
56
  from .benchmark_update_params import BenchmarkUpdateParams as BenchmarkUpdateParams
54
57
  from .blueprint_create_params import BlueprintCreateParams as BlueprintCreateParams
58
+ from .inspection_source_param import InspectionSourceParam as InspectionSourceParam
55
59
  from .blueprint_preview_params import BlueprintPreviewParams as BlueprintPreviewParams
56
60
  from .object_download_url_view import ObjectDownloadURLView as ObjectDownloadURLView
57
61
  from .repository_create_params import RepositoryCreateParams as RepositoryCreateParams
@@ -59,6 +63,7 @@ from .repository_manifest_view import RepositoryManifestView as RepositoryManife
59
63
  from .devbox_snapshot_list_view import DevboxSnapshotListView as DevboxSnapshotListView
60
64
  from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFileParams
61
65
  from .object_list_public_params import ObjectListPublicParams as ObjectListPublicParams
66
+ from .repository_inspect_params import RepositoryInspectParams as RepositoryInspectParams
62
67
  from .repository_refresh_params import RepositoryRefreshParams as RepositoryRefreshParams
63
68
  from .scenario_start_run_params import ScenarioStartRunParams as ScenarioStartRunParams
64
69
  from .benchmark_start_run_params import BenchmarkStartRunParams as BenchmarkStartRunParams
@@ -93,3 +98,6 @@ from .devbox_snapshot_disk_async_params import DevboxSnapshotDiskAsyncParams as
93
98
  from .devbox_write_file_contents_params import DevboxWriteFileContentsParams as DevboxWriteFileContentsParams
94
99
  from .devbox_async_execution_detail_view import DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView
95
100
  from .devbox_read_file_contents_response import DevboxReadFileContentsResponse as DevboxReadFileContentsResponse
101
+ from .blueprint_create_from_inspection_params import (
102
+ BlueprintCreateFromInspectionParams as BlueprintCreateFromInspectionParams,
103
+ )