runloop-api-client 0.34.1__tar.gz → 0.35.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 (275) hide show
  1. runloop_api_client-0.35.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/CHANGELOG.md +8 -0
  3. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/api.md +3 -0
  5. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +135 -0
  8. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/benchmarks/runs.py +92 -0
  9. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/scenarios/runs.py +96 -0
  10. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/__init__.py +1 -0
  11. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_run_view.py +2 -2
  12. runloop_api_client-0.35.0/src/runloop_api_client/types/benchmark_update_params.py +22 -0
  13. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/benchmarks/test_runs.py +76 -0
  14. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/scenarios/test_runs.py +76 -0
  15. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/test_benchmarks.py +114 -0
  16. runloop_api_client-0.34.1/.release-please-manifest.json +0 -3
  17. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/.gitignore +0 -0
  18. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/CONTRIBUTING.md +0 -0
  19. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/LICENSE +0 -0
  20. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/README.md +0 -0
  21. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/SECURITY.md +0 -0
  22. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/bin/check-release-environment +0 -0
  23. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/bin/publish-pypi +0 -0
  24. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/examples/.keep +0 -0
  25. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/mypy.ini +0 -0
  26. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/noxfile.py +0 -0
  27. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/release-please-config.json +0 -0
  28. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/requirements-dev.lock +0 -0
  29. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/requirements.lock +0 -0
  30. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop/lib/.keep +0 -0
  31. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/__init__.py +0 -0
  32. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_base_client.py +0 -0
  33. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_client.py +0 -0
  34. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_compat.py +0 -0
  35. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_constants.py +0 -0
  36. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_exceptions.py +0 -0
  37. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_files.py +0 -0
  38. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_models.py +0 -0
  39. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_qs.py +0 -0
  40. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_resource.py +0 -0
  41. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_response.py +0 -0
  42. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_streaming.py +0 -0
  43. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_types.py +0 -0
  44. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  45. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  46. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  47. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  48. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  49. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  50. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  51. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  52. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  53. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  54. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/lib/.keep +0 -0
  55. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/lib/polling.py +0 -0
  56. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  57. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/pagination.py +0 -0
  58. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/py.typed +0 -0
  59. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/__init__.py +0 -0
  60. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  61. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  62. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  63. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  64. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  65. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
  66. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  67. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  68. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  69. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  70. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/repositories.py +0 -0
  71. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  72. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  73. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  74. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  75. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  76. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  77. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  78. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  79. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  80. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  81. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  82. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  83. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  84. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  85. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  86. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  87. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  88. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  89. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  90. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  91. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  92. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  93. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  94. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  95. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  96. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  97. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  98. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  99. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  100. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  101. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  102. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  103. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  104. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  105. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  106. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  107. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  108. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  109. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  110. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  111. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  112. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  113. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  114. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  115. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  116. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  117. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  118. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  119. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  120. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  121. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  122. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  123. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  124. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  125. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  126. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  127. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  128. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  129. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  130. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  131. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  132. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  133. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  134. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
  135. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  136. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  137. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  138. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  139. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  140. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  141. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  142. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  143. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  144. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  145. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  146. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  147. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  148. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  149. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  150. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  151. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  152. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  153. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  154. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  155. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
  156. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  157. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  158. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  159. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  160. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  161. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
  162. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  163. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  164. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
  165. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  166. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  167. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  168. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  169. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  170. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  171. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  172. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  173. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  174. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  175. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  176. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  177. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  178. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  179. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  180. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  181. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  182. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  183. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  184. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  185. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  186. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  187. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  188. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  189. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  190. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  191. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
  192. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  193. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  194. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  195. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  196. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  197. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  198. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  199. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  200. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  201. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/input_context.py +0 -0
  202. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  203. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  204. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  205. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  206. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  207. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
  208. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
  209. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  210. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  211. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  212. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  213. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  214. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  215. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  216. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  217. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  218. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  219. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  220. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  221. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  222. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  223. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  224. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  225. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  226. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  227. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  228. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  229. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  230. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  231. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  232. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  233. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  234. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  235. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  236. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  237. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  238. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  239. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  240. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  241. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  242. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  243. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  244. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/__init__.py +0 -0
  245. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/__init__.py +0 -0
  246. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  247. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/__init__.py +0 -0
  248. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  249. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  250. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  251. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  252. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  253. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  254. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/scenarios/__init__.py +0 -0
  255. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  256. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/test_blueprints.py +0 -0
  257. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/test_devboxes.py +0 -0
  258. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/test_repositories.py +0 -0
  259. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/api_resources/test_scenarios.py +0 -0
  260. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/conftest.py +0 -0
  261. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/sample_file.txt +0 -0
  262. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_client.py +0 -0
  263. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_deepcopy.py +0 -0
  264. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_extract_files.py +0 -0
  265. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_files.py +0 -0
  266. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_models.py +0 -0
  267. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_qs.py +0 -0
  268. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_required_args.py +0 -0
  269. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_response.py +0 -0
  270. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_streaming.py +0 -0
  271. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_transform.py +0 -0
  272. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_utils/test_proxy.py +0 -0
  273. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/test_utils/test_typing.py +0 -0
  274. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/tests/utils.py +0 -0
  275. {runloop_api_client-0.34.1 → runloop_api_client-0.35.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.35.0"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.35.0 (2025-05-30)
4
+
5
+ Full Changelog: [v0.34.1...v0.35.0](https://github.com/runloopai/api-client-python/compare/v0.34.1...v0.35.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([c303a71](https://github.com/runloopai/api-client-python/commit/c303a710e21d6da73de907638905b08027acf64a))
10
+
3
11
  ## 0.34.1 (2025-05-28)
4
12
 
5
13
  Full Changelog: [v0.34.0...v0.34.1](https://github.com/runloopai/api-client-python/compare/v0.34.0...v0.34.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.34.1
3
+ Version: 0.35.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
@@ -22,6 +22,7 @@ Methods:
22
22
 
23
23
  - <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
24
24
  - <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
25
+ - <code title="post /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
25
26
  - <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
26
27
  - <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
27
28
  - <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
@@ -32,6 +33,7 @@ Methods:
32
33
 
33
34
  - <code title="get /v1/benchmarks/runs/{id}">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
34
35
  - <code title="get /v1/benchmarks/runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmarks/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
36
+ - <code title="post /v1/benchmarks/runs/{id}/cancel">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
35
37
  - <code title="post /v1/benchmarks/runs/{id}/complete">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
36
38
 
37
39
  # Blueprints
@@ -287,6 +289,7 @@ Methods:
287
289
 
288
290
  - <code title="get /v1/scenarios/runs/{id}">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
289
291
  - <code title="get /v1/scenarios/runs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
292
+ - <code title="post /v1/scenarios/runs/{id}/cancel">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
290
293
  - <code title="post /v1/scenarios/runs/{id}/complete">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
291
294
  - <code title="post /v1/scenarios/runs/{id}/score">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">score</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
292
295
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.34.1"
3
+ version = "0.35.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "0.34.1" # x-release-please-version
4
+ __version__ = "0.35.0" # x-release-please-version
@@ -17,6 +17,7 @@ from .runs import (
17
17
  from ...types import (
18
18
  benchmark_list_params,
19
19
  benchmark_create_params,
20
+ benchmark_update_params,
20
21
  benchmark_start_run_params,
21
22
  benchmark_list_public_params,
22
23
  )
@@ -153,6 +154,67 @@ class BenchmarksResource(SyncAPIResource):
153
154
  cast_to=BenchmarkView,
154
155
  )
155
156
 
157
+ def update(
158
+ self,
159
+ id: str,
160
+ *,
161
+ is_public: bool,
162
+ name: str,
163
+ metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
164
+ scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
165
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
166
+ # The extra values given here take precedence over values defined on the client or passed to this method.
167
+ extra_headers: Headers | None = None,
168
+ extra_query: Query | None = None,
169
+ extra_body: Body | None = None,
170
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
171
+ idempotency_key: str | None = None,
172
+ ) -> BenchmarkView:
173
+ """
174
+ Update a Benchmark with a set of Scenarios.
175
+
176
+ Args:
177
+ is_public: Whether this benchmark is public.
178
+
179
+ name: The name of the Benchmark. This must be unique.
180
+
181
+ metadata: User defined metadata to attach to the benchmark for organization.
182
+
183
+ scenario_ids: The Scenario IDs that make up the Benchmark.
184
+
185
+ extra_headers: Send extra headers
186
+
187
+ extra_query: Add additional query parameters to the request
188
+
189
+ extra_body: Add additional JSON properties to the request
190
+
191
+ timeout: Override the client-level default timeout for this request, in seconds
192
+
193
+ idempotency_key: Specify a custom idempotency key for this request
194
+ """
195
+ if not id:
196
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
197
+ return self._post(
198
+ f"/v1/benchmarks/{id}",
199
+ body=maybe_transform(
200
+ {
201
+ "is_public": is_public,
202
+ "name": name,
203
+ "metadata": metadata,
204
+ "scenario_ids": scenario_ids,
205
+ },
206
+ benchmark_update_params.BenchmarkUpdateParams,
207
+ ),
208
+ options=make_request_options(
209
+ extra_headers=extra_headers,
210
+ extra_query=extra_query,
211
+ extra_body=extra_body,
212
+ timeout=timeout,
213
+ idempotency_key=idempotency_key,
214
+ ),
215
+ cast_to=BenchmarkView,
216
+ )
217
+
156
218
  def list(
157
219
  self,
158
220
  *,
@@ -417,6 +479,67 @@ class AsyncBenchmarksResource(AsyncAPIResource):
417
479
  cast_to=BenchmarkView,
418
480
  )
419
481
 
482
+ async def update(
483
+ self,
484
+ id: str,
485
+ *,
486
+ is_public: bool,
487
+ name: str,
488
+ metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
489
+ scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
490
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
491
+ # The extra values given here take precedence over values defined on the client or passed to this method.
492
+ extra_headers: Headers | None = None,
493
+ extra_query: Query | None = None,
494
+ extra_body: Body | None = None,
495
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
496
+ idempotency_key: str | None = None,
497
+ ) -> BenchmarkView:
498
+ """
499
+ Update a Benchmark with a set of Scenarios.
500
+
501
+ Args:
502
+ is_public: Whether this benchmark is public.
503
+
504
+ name: The name of the Benchmark. This must be unique.
505
+
506
+ metadata: User defined metadata to attach to the benchmark for organization.
507
+
508
+ scenario_ids: The Scenario IDs that make up the Benchmark.
509
+
510
+ extra_headers: Send extra headers
511
+
512
+ extra_query: Add additional query parameters to the request
513
+
514
+ extra_body: Add additional JSON properties to the request
515
+
516
+ timeout: Override the client-level default timeout for this request, in seconds
517
+
518
+ idempotency_key: Specify a custom idempotency key for this request
519
+ """
520
+ if not id:
521
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
522
+ return await self._post(
523
+ f"/v1/benchmarks/{id}",
524
+ body=await async_maybe_transform(
525
+ {
526
+ "is_public": is_public,
527
+ "name": name,
528
+ "metadata": metadata,
529
+ "scenario_ids": scenario_ids,
530
+ },
531
+ benchmark_update_params.BenchmarkUpdateParams,
532
+ ),
533
+ options=make_request_options(
534
+ extra_headers=extra_headers,
535
+ extra_query=extra_query,
536
+ extra_body=extra_body,
537
+ timeout=timeout,
538
+ idempotency_key=idempotency_key,
539
+ ),
540
+ cast_to=BenchmarkView,
541
+ )
542
+
420
543
  def list(
421
544
  self,
422
545
  *,
@@ -576,6 +699,9 @@ class BenchmarksResourceWithRawResponse:
576
699
  self.retrieve = to_raw_response_wrapper(
577
700
  benchmarks.retrieve,
578
701
  )
702
+ self.update = to_raw_response_wrapper(
703
+ benchmarks.update,
704
+ )
579
705
  self.list = to_raw_response_wrapper(
580
706
  benchmarks.list,
581
707
  )
@@ -601,6 +727,9 @@ class AsyncBenchmarksResourceWithRawResponse:
601
727
  self.retrieve = async_to_raw_response_wrapper(
602
728
  benchmarks.retrieve,
603
729
  )
730
+ self.update = async_to_raw_response_wrapper(
731
+ benchmarks.update,
732
+ )
604
733
  self.list = async_to_raw_response_wrapper(
605
734
  benchmarks.list,
606
735
  )
@@ -626,6 +755,9 @@ class BenchmarksResourceWithStreamingResponse:
626
755
  self.retrieve = to_streamed_response_wrapper(
627
756
  benchmarks.retrieve,
628
757
  )
758
+ self.update = to_streamed_response_wrapper(
759
+ benchmarks.update,
760
+ )
629
761
  self.list = to_streamed_response_wrapper(
630
762
  benchmarks.list,
631
763
  )
@@ -651,6 +783,9 @@ class AsyncBenchmarksResourceWithStreamingResponse:
651
783
  self.retrieve = async_to_streamed_response_wrapper(
652
784
  benchmarks.retrieve,
653
785
  )
786
+ self.update = async_to_streamed_response_wrapper(
787
+ benchmarks.update,
788
+ )
654
789
  self.list = async_to_streamed_response_wrapper(
655
790
  benchmarks.list,
656
791
  )
@@ -126,6 +126,46 @@ class RunsResource(SyncAPIResource):
126
126
  model=BenchmarkRunView,
127
127
  )
128
128
 
129
+ def cancel(
130
+ self,
131
+ id: str,
132
+ *,
133
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
134
+ # The extra values given here take precedence over values defined on the client or passed to this method.
135
+ extra_headers: Headers | None = None,
136
+ extra_query: Query | None = None,
137
+ extra_body: Body | None = None,
138
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
139
+ idempotency_key: str | None = None,
140
+ ) -> BenchmarkRunView:
141
+ """
142
+ Cancel a currently running Benchmark run.
143
+
144
+ Args:
145
+ extra_headers: Send extra headers
146
+
147
+ extra_query: Add additional query parameters to the request
148
+
149
+ extra_body: Add additional JSON properties to the request
150
+
151
+ timeout: Override the client-level default timeout for this request, in seconds
152
+
153
+ idempotency_key: Specify a custom idempotency key for this request
154
+ """
155
+ if not id:
156
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
157
+ return self._post(
158
+ f"/v1/benchmarks/runs/{id}/cancel",
159
+ options=make_request_options(
160
+ extra_headers=extra_headers,
161
+ extra_query=extra_query,
162
+ extra_body=extra_body,
163
+ timeout=timeout,
164
+ idempotency_key=idempotency_key,
165
+ ),
166
+ cast_to=BenchmarkRunView,
167
+ )
168
+
129
169
  def complete(
130
170
  self,
131
171
  id: str,
@@ -271,6 +311,46 @@ class AsyncRunsResource(AsyncAPIResource):
271
311
  model=BenchmarkRunView,
272
312
  )
273
313
 
314
+ async def cancel(
315
+ self,
316
+ id: str,
317
+ *,
318
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
319
+ # The extra values given here take precedence over values defined on the client or passed to this method.
320
+ extra_headers: Headers | None = None,
321
+ extra_query: Query | None = None,
322
+ extra_body: Body | None = None,
323
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
324
+ idempotency_key: str | None = None,
325
+ ) -> BenchmarkRunView:
326
+ """
327
+ Cancel a currently running Benchmark run.
328
+
329
+ Args:
330
+ extra_headers: Send extra headers
331
+
332
+ extra_query: Add additional query parameters to the request
333
+
334
+ extra_body: Add additional JSON properties to the request
335
+
336
+ timeout: Override the client-level default timeout for this request, in seconds
337
+
338
+ idempotency_key: Specify a custom idempotency key for this request
339
+ """
340
+ if not id:
341
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
342
+ return await self._post(
343
+ f"/v1/benchmarks/runs/{id}/cancel",
344
+ options=make_request_options(
345
+ extra_headers=extra_headers,
346
+ extra_query=extra_query,
347
+ extra_body=extra_body,
348
+ timeout=timeout,
349
+ idempotency_key=idempotency_key,
350
+ ),
351
+ cast_to=BenchmarkRunView,
352
+ )
353
+
274
354
  async def complete(
275
355
  self,
276
356
  id: str,
@@ -322,6 +402,9 @@ class RunsResourceWithRawResponse:
322
402
  self.list = to_raw_response_wrapper(
323
403
  runs.list,
324
404
  )
405
+ self.cancel = to_raw_response_wrapper(
406
+ runs.cancel,
407
+ )
325
408
  self.complete = to_raw_response_wrapper(
326
409
  runs.complete,
327
410
  )
@@ -337,6 +420,9 @@ class AsyncRunsResourceWithRawResponse:
337
420
  self.list = async_to_raw_response_wrapper(
338
421
  runs.list,
339
422
  )
423
+ self.cancel = async_to_raw_response_wrapper(
424
+ runs.cancel,
425
+ )
340
426
  self.complete = async_to_raw_response_wrapper(
341
427
  runs.complete,
342
428
  )
@@ -352,6 +438,9 @@ class RunsResourceWithStreamingResponse:
352
438
  self.list = to_streamed_response_wrapper(
353
439
  runs.list,
354
440
  )
441
+ self.cancel = to_streamed_response_wrapper(
442
+ runs.cancel,
443
+ )
355
444
  self.complete = to_streamed_response_wrapper(
356
445
  runs.complete,
357
446
  )
@@ -367,6 +456,9 @@ class AsyncRunsResourceWithStreamingResponse:
367
456
  self.list = async_to_streamed_response_wrapper(
368
457
  runs.list,
369
458
  )
459
+ self.cancel = async_to_streamed_response_wrapper(
460
+ runs.cancel,
461
+ )
370
462
  self.complete = async_to_streamed_response_wrapper(
371
463
  runs.complete,
372
464
  )
@@ -129,6 +129,48 @@ class RunsResource(SyncAPIResource):
129
129
  model=ScenarioRunView,
130
130
  )
131
131
 
132
+ def cancel(
133
+ self,
134
+ id: str,
135
+ *,
136
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
137
+ # The extra values given here take precedence over values defined on the client or passed to this method.
138
+ extra_headers: Headers | None = None,
139
+ extra_query: Query | None = None,
140
+ extra_body: Body | None = None,
141
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
142
+ idempotency_key: str | None = None,
143
+ ) -> ScenarioRunView:
144
+ """Cancel a currently running Scenario run.
145
+
146
+ This will shutdown the underlying
147
+ Devbox resource.
148
+
149
+ Args:
150
+ extra_headers: Send extra headers
151
+
152
+ extra_query: Add additional query parameters to the request
153
+
154
+ extra_body: Add additional JSON properties to the request
155
+
156
+ timeout: Override the client-level default timeout for this request, in seconds
157
+
158
+ idempotency_key: Specify a custom idempotency key for this request
159
+ """
160
+ if not id:
161
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
162
+ return self._post(
163
+ f"/v1/scenarios/runs/{id}/cancel",
164
+ options=make_request_options(
165
+ extra_headers=extra_headers,
166
+ extra_query=extra_query,
167
+ extra_body=extra_body,
168
+ timeout=timeout,
169
+ idempotency_key=idempotency_key,
170
+ ),
171
+ cast_to=ScenarioRunView,
172
+ )
173
+
132
174
  def complete(
133
175
  self,
134
176
  id: str,
@@ -457,6 +499,48 @@ class AsyncRunsResource(AsyncAPIResource):
457
499
  model=ScenarioRunView,
458
500
  )
459
501
 
502
+ async def cancel(
503
+ self,
504
+ id: str,
505
+ *,
506
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
507
+ # The extra values given here take precedence over values defined on the client or passed to this method.
508
+ extra_headers: Headers | None = None,
509
+ extra_query: Query | None = None,
510
+ extra_body: Body | None = None,
511
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
512
+ idempotency_key: str | None = None,
513
+ ) -> ScenarioRunView:
514
+ """Cancel a currently running Scenario run.
515
+
516
+ This will shutdown the underlying
517
+ Devbox resource.
518
+
519
+ Args:
520
+ extra_headers: Send extra headers
521
+
522
+ extra_query: Add additional query parameters to the request
523
+
524
+ extra_body: Add additional JSON properties to the request
525
+
526
+ timeout: Override the client-level default timeout for this request, in seconds
527
+
528
+ idempotency_key: Specify a custom idempotency key for this request
529
+ """
530
+ if not id:
531
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
532
+ return await self._post(
533
+ f"/v1/scenarios/runs/{id}/cancel",
534
+ options=make_request_options(
535
+ extra_headers=extra_headers,
536
+ extra_query=extra_query,
537
+ extra_body=extra_body,
538
+ timeout=timeout,
539
+ idempotency_key=idempotency_key,
540
+ ),
541
+ cast_to=ScenarioRunView,
542
+ )
543
+
460
544
  async def complete(
461
545
  self,
462
546
  id: str,
@@ -692,6 +776,9 @@ class RunsResourceWithRawResponse:
692
776
  self.list = to_raw_response_wrapper(
693
777
  runs.list,
694
778
  )
779
+ self.cancel = to_raw_response_wrapper(
780
+ runs.cancel,
781
+ )
695
782
  self.complete = to_raw_response_wrapper(
696
783
  runs.complete,
697
784
  )
@@ -710,6 +797,9 @@ class AsyncRunsResourceWithRawResponse:
710
797
  self.list = async_to_raw_response_wrapper(
711
798
  runs.list,
712
799
  )
800
+ self.cancel = async_to_raw_response_wrapper(
801
+ runs.cancel,
802
+ )
713
803
  self.complete = async_to_raw_response_wrapper(
714
804
  runs.complete,
715
805
  )
@@ -728,6 +818,9 @@ class RunsResourceWithStreamingResponse:
728
818
  self.list = to_streamed_response_wrapper(
729
819
  runs.list,
730
820
  )
821
+ self.cancel = to_streamed_response_wrapper(
822
+ runs.cancel,
823
+ )
731
824
  self.complete = to_streamed_response_wrapper(
732
825
  runs.complete,
733
826
  )
@@ -746,6 +839,9 @@ class AsyncRunsResourceWithStreamingResponse:
746
839
  self.list = async_to_streamed_response_wrapper(
747
840
  runs.list,
748
841
  )
842
+ self.cancel = async_to_streamed_response_wrapper(
843
+ runs.cancel,
844
+ )
749
845
  self.complete = async_to_streamed_response_wrapper(
750
846
  runs.complete,
751
847
  )
@@ -38,6 +38,7 @@ from .scoring_contract_param import ScoringContractParam as ScoringContractParam
38
38
  from .scoring_function_param import ScoringFunctionParam as ScoringFunctionParam
39
39
  from .benchmark_create_params import BenchmarkCreateParams as BenchmarkCreateParams
40
40
  from .benchmark_run_list_view import BenchmarkRunListView as BenchmarkRunListView
41
+ from .benchmark_update_params import BenchmarkUpdateParams as BenchmarkUpdateParams
41
42
  from .blueprint_create_params import BlueprintCreateParams as BlueprintCreateParams
42
43
  from .blueprint_preview_params import BlueprintPreviewParams as BlueprintPreviewParams
43
44
  from .repository_create_params import RepositoryCreateParams as RepositoryCreateParams
@@ -33,7 +33,7 @@ class BenchmarkRunView(BaseModel):
33
33
  """User defined metadata to attach to the benchmark run for organization."""
34
34
 
35
35
  pending_scenarios: List[str]
36
- """List of Scenarios that need to be completed before benchmark can be completed."""
36
+ """List of Scenarios that have yet to be scored."""
37
37
 
38
38
  scenario_runs: List[ScenarioRun]
39
39
  """List of Scenarios have been completed."""
@@ -41,7 +41,7 @@ class BenchmarkRunView(BaseModel):
41
41
  start_time_ms: int
42
42
  """The time the benchmark run execution started (Unix timestamp milliseconds)."""
43
43
 
44
- state: Literal["running", "completed"]
44
+ state: Literal["running", "canceled", "completed"]
45
45
  """The state of the BenchmarkRun."""
46
46
 
47
47
  duration_ms: Optional[int] = None
@@ -0,0 +1,22 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, List, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["BenchmarkUpdateParams"]
9
+
10
+
11
+ class BenchmarkUpdateParams(TypedDict, total=False):
12
+ is_public: Required[bool]
13
+ """Whether this benchmark is public."""
14
+
15
+ name: Required[str]
16
+ """The name of the Benchmark. This must be unique."""
17
+
18
+ metadata: Optional[Dict[str, str]]
19
+ """User defined metadata to attach to the benchmark for organization."""
20
+
21
+ scenario_ids: Optional[List[str]]
22
+ """The Scenario IDs that make up the Benchmark."""
@@ -90,6 +90,44 @@ class TestRuns:
90
90
 
91
91
  assert cast(Any, response.is_closed) is True
92
92
 
93
+ @parametrize
94
+ def test_method_cancel(self, client: Runloop) -> None:
95
+ run = client.benchmarks.runs.cancel(
96
+ "id",
97
+ )
98
+ assert_matches_type(BenchmarkRunView, run, path=["response"])
99
+
100
+ @parametrize
101
+ def test_raw_response_cancel(self, client: Runloop) -> None:
102
+ response = client.benchmarks.runs.with_raw_response.cancel(
103
+ "id",
104
+ )
105
+
106
+ assert response.is_closed is True
107
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
108
+ run = response.parse()
109
+ assert_matches_type(BenchmarkRunView, run, path=["response"])
110
+
111
+ @parametrize
112
+ def test_streaming_response_cancel(self, client: Runloop) -> None:
113
+ with client.benchmarks.runs.with_streaming_response.cancel(
114
+ "id",
115
+ ) as response:
116
+ assert not response.is_closed
117
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
118
+
119
+ run = response.parse()
120
+ assert_matches_type(BenchmarkRunView, run, path=["response"])
121
+
122
+ assert cast(Any, response.is_closed) is True
123
+
124
+ @parametrize
125
+ def test_path_params_cancel(self, client: Runloop) -> None:
126
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
127
+ client.benchmarks.runs.with_raw_response.cancel(
128
+ "",
129
+ )
130
+
93
131
  @parametrize
94
132
  def test_method_complete(self, client: Runloop) -> None:
95
133
  run = client.benchmarks.runs.complete(
@@ -204,6 +242,44 @@ class TestAsyncRuns:
204
242
 
205
243
  assert cast(Any, response.is_closed) is True
206
244
 
245
+ @parametrize
246
+ async def test_method_cancel(self, async_client: AsyncRunloop) -> None:
247
+ run = await async_client.benchmarks.runs.cancel(
248
+ "id",
249
+ )
250
+ assert_matches_type(BenchmarkRunView, run, path=["response"])
251
+
252
+ @parametrize
253
+ async def test_raw_response_cancel(self, async_client: AsyncRunloop) -> None:
254
+ response = await async_client.benchmarks.runs.with_raw_response.cancel(
255
+ "id",
256
+ )
257
+
258
+ assert response.is_closed is True
259
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
260
+ run = await response.parse()
261
+ assert_matches_type(BenchmarkRunView, run, path=["response"])
262
+
263
+ @parametrize
264
+ async def test_streaming_response_cancel(self, async_client: AsyncRunloop) -> None:
265
+ async with async_client.benchmarks.runs.with_streaming_response.cancel(
266
+ "id",
267
+ ) as response:
268
+ assert not response.is_closed
269
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
270
+
271
+ run = await response.parse()
272
+ assert_matches_type(BenchmarkRunView, run, path=["response"])
273
+
274
+ assert cast(Any, response.is_closed) is True
275
+
276
+ @parametrize
277
+ async def test_path_params_cancel(self, async_client: AsyncRunloop) -> None:
278
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
279
+ await async_client.benchmarks.runs.with_raw_response.cancel(
280
+ "",
281
+ )
282
+
207
283
  @parametrize
208
284
  async def test_method_complete(self, async_client: AsyncRunloop) -> None:
209
285
  run = await async_client.benchmarks.runs.complete(