runloop-api-client 0.55.1__tar.gz → 0.55.2__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.
- runloop_api_client-0.55.2/.release-please-manifest.json +3 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/CHANGELOG.md +4 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/PKG-INFO +1 -1
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/api.md +3 -2
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/pyproject.toml +1 -1
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/lib/polling_async.py +13 -18
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/blueprints.py +76 -27
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/devboxes.py +81 -22
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/scenarios/runs.py +13 -22
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/scenarios/scenarios.py +1 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_devboxes.py +5 -15
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/uv.lock +1 -1
- runloop_api_client-0.55.1/.release-please-manifest.json +0 -3
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/.gitignore +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/LICENSE +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/README.md +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/SECURITY.md +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/bin/check-release-environment +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/bin/publish-pypi +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/examples/.keep +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/mypy.ini +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/noxfile.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/release-please-config.json +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/requirements-dev.lock +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/requirements.lock +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_scenarios.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/conftest.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_client.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_files.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_models.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_polling.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_qs.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_response.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_transform.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/utils.py +0 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.55.2 (2025-08-19)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.55.1...v0.55.2](https://github.com/runloopai/api-client-python/compare/v0.55.1...v0.55.2)
|
|
6
|
+
|
|
3
7
|
## 0.55.1 (2025-08-19)
|
|
4
8
|
|
|
5
9
|
Full Changelog: [v0.55.0...v0.55.1](https://github.com/runloopai/api-client-python/compare/v0.55.0...v0.55.1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.55.
|
|
3
|
+
Version: 0.55.2
|
|
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
|
|
@@ -57,13 +57,13 @@ from runloop_api_client.types import (
|
|
|
57
57
|
Methods:
|
|
58
58
|
|
|
59
59
|
- <code title="post /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
|
|
60
|
+
- <code title="create_and_await_build_complete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create_and_await_build_complete</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_params.py">params) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
|
|
60
61
|
- <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>
|
|
61
62
|
- <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>
|
|
62
63
|
- <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> object</code>
|
|
63
64
|
- <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>
|
|
64
65
|
- <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>
|
|
65
66
|
- <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>
|
|
66
|
-
- <code title="create_and_await_build_complete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create_and_await_build_complete</a>(<a href="src/runloop_api_client/types/blueprint_create_params.py">create_args</a>, <a href="src/runloop_api_client/resources/blueprints.py">request_args</a>=None) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
|
|
67
67
|
|
|
68
68
|
# Devboxes
|
|
69
69
|
|
|
@@ -86,6 +86,7 @@ from runloop_api_client.types import (
|
|
|
86
86
|
Methods:
|
|
87
87
|
|
|
88
88
|
- <code title="post /v1/devboxes">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create</a>(\*\*<a href="src/runloop_api_client/types/devbox_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
89
|
+
- <code title="create_and_await_running">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_and_await_running</a>(\*\*<a href="src/runloop_api_client/types/devbox_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
89
90
|
- <code title="get /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
90
91
|
- <code title="post /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
91
92
|
- <code title="get /v1/devboxes">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">list</a>(\*\*<a href="src/runloop_api_client/types/devbox_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">SyncDevboxesCursorIDPage[DevboxView]</a></code>
|
|
@@ -106,7 +107,7 @@ Methods:
|
|
|
106
107
|
- <code title="post /v1/devboxes/{id}/suspend">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">suspend</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
107
108
|
- <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">upload_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_upload_file_params.py">params</a>) -> object</code>
|
|
108
109
|
- <code title="post /v1/devboxes/{id}/write_file_contents">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">write_file_contents</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_write_file_contents_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
|
|
109
|
-
|
|
110
|
+
|
|
110
111
|
|
|
111
112
|
## DiskSnapshots
|
|
112
113
|
|
{runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/src/runloop_api_client/lib/polling_async.py
RENAMED
|
@@ -4,7 +4,8 @@ from typing import Union, TypeVar, Callable, Optional, Awaitable
|
|
|
4
4
|
|
|
5
5
|
from .polling import PollingConfig, PollingTimeout
|
|
6
6
|
|
|
7
|
-
T = TypeVar(
|
|
7
|
+
T = TypeVar("T")
|
|
8
|
+
|
|
8
9
|
|
|
9
10
|
async def async_poll_until(
|
|
10
11
|
retriever: Callable[[], Awaitable[T]],
|
|
@@ -14,27 +15,27 @@ async def async_poll_until(
|
|
|
14
15
|
) -> T:
|
|
15
16
|
"""
|
|
16
17
|
Poll until a condition is met or timeout/max attempts are reached.
|
|
17
|
-
|
|
18
|
+
|
|
18
19
|
Args:
|
|
19
20
|
retriever: Async or sync callable that returns the object to check
|
|
20
21
|
is_terminal: Callable that returns True when polling should stop
|
|
21
22
|
config: Optional polling configuration
|
|
22
23
|
on_error: Optional error handler that can return a value to continue polling
|
|
23
24
|
or re-raise the exception to stop polling
|
|
24
|
-
|
|
25
|
+
|
|
25
26
|
Returns:
|
|
26
27
|
The final state of the polled object
|
|
27
|
-
|
|
28
|
+
|
|
28
29
|
Raises:
|
|
29
30
|
PollingTimeout: When max attempts or timeout is reached
|
|
30
31
|
"""
|
|
31
32
|
if config is None:
|
|
32
33
|
config = PollingConfig()
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
attempts = 0
|
|
35
36
|
start_time = time.time()
|
|
36
37
|
last_result: Union[T, None] = None
|
|
37
|
-
|
|
38
|
+
|
|
38
39
|
while True:
|
|
39
40
|
try:
|
|
40
41
|
last_result = await retriever()
|
|
@@ -43,23 +44,17 @@ async def async_poll_until(
|
|
|
43
44
|
last_result = on_error(e)
|
|
44
45
|
else:
|
|
45
46
|
raise
|
|
46
|
-
|
|
47
|
+
|
|
47
48
|
if is_terminal(last_result):
|
|
48
49
|
return last_result
|
|
49
|
-
|
|
50
|
+
|
|
50
51
|
attempts += 1
|
|
51
52
|
if attempts >= config.max_attempts:
|
|
52
|
-
raise PollingTimeout(
|
|
53
|
-
|
|
54
|
-
last_result
|
|
55
|
-
)
|
|
56
|
-
|
|
53
|
+
raise PollingTimeout(f"Exceeded maximum attempts ({config.max_attempts})", last_result)
|
|
54
|
+
|
|
57
55
|
if config.timeout_seconds is not None:
|
|
58
56
|
elapsed = time.time() - start_time
|
|
59
57
|
if elapsed >= config.timeout_seconds:
|
|
60
|
-
raise PollingTimeout(
|
|
61
|
-
|
|
62
|
-
last_result
|
|
63
|
-
)
|
|
64
|
-
|
|
58
|
+
raise PollingTimeout(f"Exceeded timeout of {config.timeout_seconds} seconds", last_result)
|
|
59
|
+
|
|
65
60
|
await asyncio.sleep(config.interval_seconds)
|
|
@@ -230,16 +230,30 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
230
230
|
def create_and_await_build_complete(
|
|
231
231
|
self,
|
|
232
232
|
*,
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
name: str,
|
|
234
|
+
base_blueprint_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
235
|
+
code_mounts: Optional[Iterable[CodeMountParameters]] | NotGiven = NOT_GIVEN,
|
|
236
|
+
dockerfile: Optional[str] | NotGiven = NOT_GIVEN,
|
|
237
|
+
file_mounts: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
238
|
+
launch_parameters: Optional[LaunchParameters] | NotGiven = NOT_GIVEN,
|
|
239
|
+
polling_config: PollingConfig | None = None,
|
|
240
|
+
services: Optional[Iterable[blueprint_create_params.Service]] | NotGiven = NOT_GIVEN,
|
|
241
|
+
system_setup_commands: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
242
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
243
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
244
|
+
extra_headers: Headers | None = None,
|
|
245
|
+
extra_query: Query | None = None,
|
|
246
|
+
extra_body: Body | None = None,
|
|
247
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
248
|
+
idempotency_key: str | None = None,
|
|
235
249
|
) -> BlueprintView:
|
|
236
250
|
"""Create a new Blueprint and wait for it to finish building.
|
|
237
251
|
|
|
238
252
|
This is a wrapper around the `create` method that waits for the blueprint to finish building.
|
|
239
253
|
|
|
240
254
|
Args:
|
|
241
|
-
|
|
242
|
-
|
|
255
|
+
See the `create` method for detailed documentation.
|
|
256
|
+
polling_config: Optional polling configuration
|
|
243
257
|
|
|
244
258
|
Returns:
|
|
245
259
|
The built blueprint
|
|
@@ -249,18 +263,29 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
249
263
|
RunloopError: If blueprint enters a non-built terminal state
|
|
250
264
|
"""
|
|
251
265
|
# Pass all create_args to the underlying create method
|
|
252
|
-
blueprint = self.create(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
266
|
+
blueprint = self.create(
|
|
267
|
+
name=name,
|
|
268
|
+
base_blueprint_id=base_blueprint_id,
|
|
269
|
+
code_mounts=code_mounts,
|
|
270
|
+
dockerfile=dockerfile,
|
|
271
|
+
file_mounts=file_mounts,
|
|
272
|
+
launch_parameters=launch_parameters,
|
|
273
|
+
services=services,
|
|
274
|
+
system_setup_commands=system_setup_commands,
|
|
275
|
+
extra_headers=extra_headers,
|
|
276
|
+
extra_query=extra_query,
|
|
277
|
+
extra_body=extra_body,
|
|
278
|
+
timeout=timeout,
|
|
279
|
+
idempotency_key=idempotency_key,
|
|
280
|
+
)
|
|
256
281
|
|
|
257
282
|
return self.await_build_complete(
|
|
258
283
|
blueprint.id,
|
|
259
|
-
polling_config=
|
|
260
|
-
extra_headers=
|
|
261
|
-
extra_query=
|
|
262
|
-
extra_body=
|
|
263
|
-
timeout=
|
|
284
|
+
polling_config=polling_config,
|
|
285
|
+
extra_headers=extra_headers,
|
|
286
|
+
extra_query=extra_query,
|
|
287
|
+
extra_body=extra_body,
|
|
288
|
+
timeout=timeout,
|
|
264
289
|
)
|
|
265
290
|
|
|
266
291
|
def list(
|
|
@@ -700,16 +725,30 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
700
725
|
async def create_and_await_build_complete(
|
|
701
726
|
self,
|
|
702
727
|
*,
|
|
703
|
-
|
|
704
|
-
|
|
728
|
+
name: str,
|
|
729
|
+
base_blueprint_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
730
|
+
code_mounts: Optional[Iterable[CodeMountParameters]] | NotGiven = NOT_GIVEN,
|
|
731
|
+
dockerfile: Optional[str] | NotGiven = NOT_GIVEN,
|
|
732
|
+
file_mounts: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
733
|
+
launch_parameters: Optional[LaunchParameters] | NotGiven = NOT_GIVEN,
|
|
734
|
+
polling_config: PollingConfig | None = None,
|
|
735
|
+
services: Optional[Iterable[blueprint_create_params.Service]] | NotGiven = NOT_GIVEN,
|
|
736
|
+
system_setup_commands: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
737
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
738
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
739
|
+
extra_headers: Headers | None = None,
|
|
740
|
+
extra_query: Query | None = None,
|
|
741
|
+
extra_body: Body | None = None,
|
|
742
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
743
|
+
idempotency_key: str | None = None,
|
|
705
744
|
) -> BlueprintView:
|
|
706
745
|
"""Create a new Blueprint and wait for it to finish building.
|
|
707
746
|
|
|
708
747
|
This is a wrapper around the `create` method that waits for the blueprint to finish building.
|
|
709
748
|
|
|
710
749
|
Args:
|
|
711
|
-
|
|
712
|
-
|
|
750
|
+
See the `create` method for detailed documentation.
|
|
751
|
+
polling_config: Optional polling configuration
|
|
713
752
|
|
|
714
753
|
Returns:
|
|
715
754
|
The built blueprint
|
|
@@ -719,19 +758,29 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
719
758
|
RunloopError: If blueprint enters a non-built terminal state
|
|
720
759
|
"""
|
|
721
760
|
# Pass all create_args to the underlying create method
|
|
722
|
-
blueprint = await self.create(
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
761
|
+
blueprint = await self.create(
|
|
762
|
+
name=name,
|
|
763
|
+
base_blueprint_id=base_blueprint_id,
|
|
764
|
+
code_mounts=code_mounts,
|
|
765
|
+
dockerfile=dockerfile,
|
|
766
|
+
file_mounts=file_mounts,
|
|
767
|
+
launch_parameters=launch_parameters,
|
|
768
|
+
services=services,
|
|
769
|
+
system_setup_commands=system_setup_commands,
|
|
770
|
+
extra_headers=extra_headers,
|
|
771
|
+
extra_query=extra_query,
|
|
772
|
+
extra_body=extra_body,
|
|
773
|
+
timeout=timeout,
|
|
774
|
+
idempotency_key=idempotency_key,
|
|
775
|
+
)
|
|
727
776
|
|
|
728
777
|
return await self.await_build_complete(
|
|
729
778
|
blueprint.id,
|
|
730
|
-
polling_config=
|
|
731
|
-
extra_headers=
|
|
732
|
-
extra_query=
|
|
733
|
-
extra_body=
|
|
734
|
-
timeout=
|
|
779
|
+
polling_config=polling_config,
|
|
780
|
+
extra_headers=extra_headers,
|
|
781
|
+
extra_query=extra_query,
|
|
782
|
+
extra_body=extra_body,
|
|
783
|
+
timeout=timeout,
|
|
735
784
|
)
|
|
736
785
|
|
|
737
786
|
def list(
|
|
@@ -430,8 +430,26 @@ class DevboxesResource(SyncAPIResource):
|
|
|
430
430
|
def create_and_await_running(
|
|
431
431
|
self,
|
|
432
432
|
*,
|
|
433
|
-
|
|
434
|
-
|
|
433
|
+
blueprint_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
434
|
+
blueprint_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
435
|
+
code_mounts: Optional[Iterable[CodeMountParameters]] | NotGiven = NOT_GIVEN,
|
|
436
|
+
entrypoint: Optional[str] | NotGiven = NOT_GIVEN,
|
|
437
|
+
environment_variables: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
438
|
+
file_mounts: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
439
|
+
launch_parameters: Optional[LaunchParameters] | NotGiven = NOT_GIVEN,
|
|
440
|
+
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
441
|
+
name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
442
|
+
polling_config: PollingConfig | None = None,
|
|
443
|
+
repo_connection_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
444
|
+
secrets: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
445
|
+
snapshot_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
446
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
447
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
448
|
+
extra_headers: Headers | None = None,
|
|
449
|
+
extra_query: Query | None = None,
|
|
450
|
+
extra_body: Body | None = None,
|
|
451
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
452
|
+
idempotency_key: str | None = None,
|
|
435
453
|
) -> DevboxView:
|
|
436
454
|
"""Create a new devbox and wait for it to be in running state.
|
|
437
455
|
|
|
@@ -448,22 +466,30 @@ class DevboxesResource(SyncAPIResource):
|
|
|
448
466
|
PollingTimeout: If polling times out before devbox is running
|
|
449
467
|
RunloopError: If devbox enters a non-running terminal state
|
|
450
468
|
"""
|
|
451
|
-
# Extract polling config and other request args
|
|
452
|
-
if request_args is None:
|
|
453
|
-
request_args = {}
|
|
454
|
-
|
|
455
469
|
# Pass all create_args to the underlying create method
|
|
456
470
|
devbox = self.create(
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
471
|
+
blueprint_id=blueprint_id,
|
|
472
|
+
blueprint_name=blueprint_name,
|
|
473
|
+
code_mounts=code_mounts,
|
|
474
|
+
entrypoint=entrypoint,
|
|
475
|
+
environment_variables=environment_variables,
|
|
476
|
+
file_mounts=file_mounts,
|
|
477
|
+
launch_parameters=launch_parameters,
|
|
478
|
+
metadata=metadata,
|
|
479
|
+
name=name,
|
|
480
|
+
repo_connection_id=repo_connection_id,
|
|
481
|
+
secrets=secrets,
|
|
482
|
+
snapshot_id=snapshot_id,
|
|
483
|
+
extra_headers=extra_headers,
|
|
484
|
+
extra_query=extra_query,
|
|
485
|
+
extra_body=extra_body,
|
|
486
|
+
timeout=timeout,
|
|
487
|
+
idempotency_key=idempotency_key,
|
|
462
488
|
)
|
|
463
489
|
|
|
464
490
|
return self.await_running(
|
|
465
491
|
devbox.id,
|
|
466
|
-
polling_config=
|
|
492
|
+
polling_config=polling_config,
|
|
467
493
|
)
|
|
468
494
|
|
|
469
495
|
def list(
|
|
@@ -1558,16 +1584,34 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1558
1584
|
async def create_and_await_running(
|
|
1559
1585
|
self,
|
|
1560
1586
|
*,
|
|
1561
|
-
|
|
1562
|
-
|
|
1587
|
+
blueprint_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1588
|
+
blueprint_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1589
|
+
code_mounts: Optional[Iterable[CodeMountParameters]] | NotGiven = NOT_GIVEN,
|
|
1590
|
+
entrypoint: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1591
|
+
environment_variables: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
1592
|
+
file_mounts: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
1593
|
+
launch_parameters: Optional[LaunchParameters] | NotGiven = NOT_GIVEN,
|
|
1594
|
+
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
1595
|
+
name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1596
|
+
polling_config: PollingConfig | None = None,
|
|
1597
|
+
repo_connection_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1598
|
+
secrets: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
1599
|
+
snapshot_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1600
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1601
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1602
|
+
extra_headers: Headers | None = None,
|
|
1603
|
+
extra_query: Query | None = None,
|
|
1604
|
+
extra_body: Body | None = None,
|
|
1605
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1606
|
+
idempotency_key: str | None = None,
|
|
1563
1607
|
) -> DevboxView:
|
|
1564
1608
|
"""Create a devbox and wait for it to be in running state.
|
|
1565
1609
|
|
|
1566
1610
|
This is a wrapper around the `create` method that waits for the devbox to reach running state.
|
|
1567
1611
|
|
|
1568
1612
|
Args:
|
|
1569
|
-
|
|
1570
|
-
|
|
1613
|
+
See the `create` method for detailed documentation.
|
|
1614
|
+
polling_config: Optional polling configuration
|
|
1571
1615
|
|
|
1572
1616
|
Returns:
|
|
1573
1617
|
The devbox in running state
|
|
@@ -1576,16 +1620,31 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1576
1620
|
PollingTimeout: If polling times out before devbox is running
|
|
1577
1621
|
RunloopError: If devbox enters a non-running terminal state
|
|
1578
1622
|
"""
|
|
1579
|
-
# Pass all create_args to the underlying create method
|
|
1580
|
-
devbox = await self.create(**(create_args or {}))
|
|
1581
1623
|
|
|
1582
|
-
#
|
|
1583
|
-
|
|
1584
|
-
|
|
1624
|
+
# Pass all create_args, relevant request args to the underlying create method
|
|
1625
|
+
devbox = await self.create(
|
|
1626
|
+
blueprint_id=blueprint_id,
|
|
1627
|
+
blueprint_name=blueprint_name,
|
|
1628
|
+
code_mounts=code_mounts,
|
|
1629
|
+
entrypoint=entrypoint,
|
|
1630
|
+
environment_variables=environment_variables,
|
|
1631
|
+
file_mounts=file_mounts,
|
|
1632
|
+
launch_parameters=launch_parameters,
|
|
1633
|
+
metadata=metadata,
|
|
1634
|
+
name=name,
|
|
1635
|
+
repo_connection_id=repo_connection_id,
|
|
1636
|
+
secrets=secrets,
|
|
1637
|
+
snapshot_id=snapshot_id,
|
|
1638
|
+
extra_headers=extra_headers,
|
|
1639
|
+
extra_query=extra_query,
|
|
1640
|
+
extra_body=extra_body,
|
|
1641
|
+
timeout=timeout,
|
|
1642
|
+
idempotency_key=idempotency_key,
|
|
1643
|
+
)
|
|
1585
1644
|
|
|
1586
1645
|
return await self.await_running(
|
|
1587
1646
|
devbox.id,
|
|
1588
|
-
polling_config=
|
|
1647
|
+
polling_config=polling_config,
|
|
1589
1648
|
)
|
|
1590
1649
|
|
|
1591
1650
|
async def await_running(
|
|
@@ -316,7 +316,7 @@ class RunsResource(SyncAPIResource):
|
|
|
316
316
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
317
317
|
) -> ScenarioRunView:
|
|
318
318
|
"""Wait for a scenario run to be scored.
|
|
319
|
-
|
|
319
|
+
|
|
320
320
|
Args:
|
|
321
321
|
id: The ID of the scenario run to wait for
|
|
322
322
|
polling_config: Optional polling configuration
|
|
@@ -332,13 +332,10 @@ class RunsResource(SyncAPIResource):
|
|
|
332
332
|
PollingTimeout: If polling times out before scenario run is scored
|
|
333
333
|
RunloopError: If scenario run enters a non-scored terminal state
|
|
334
334
|
"""
|
|
335
|
+
|
|
335
336
|
def retrieve_run() -> ScenarioRunView:
|
|
336
337
|
return self.retrieve(
|
|
337
|
-
id,
|
|
338
|
-
extra_headers=extra_headers,
|
|
339
|
-
extra_query=extra_query,
|
|
340
|
-
extra_body=extra_body,
|
|
341
|
-
timeout=timeout
|
|
338
|
+
id, extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
342
339
|
)
|
|
343
340
|
|
|
344
341
|
def is_done_scoring(run: ScenarioRunView) -> bool:
|
|
@@ -347,9 +344,7 @@ class RunsResource(SyncAPIResource):
|
|
|
347
344
|
run = poll_until(retrieve_run, is_done_scoring, polling_config)
|
|
348
345
|
|
|
349
346
|
if run.state != "scored":
|
|
350
|
-
raise RunloopError(
|
|
351
|
-
f"Scenario run entered non-scored state unexpectedly: {run.state}"
|
|
352
|
-
)
|
|
347
|
+
raise RunloopError(f"Scenario run entered non-scored state unexpectedly: {run.state}")
|
|
353
348
|
|
|
354
349
|
return run
|
|
355
350
|
|
|
@@ -366,7 +361,7 @@ class RunsResource(SyncAPIResource):
|
|
|
366
361
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
367
362
|
) -> ScenarioRunView:
|
|
368
363
|
"""Score a scenario run and wait for it to be scored.
|
|
369
|
-
|
|
364
|
+
|
|
370
365
|
Args:
|
|
371
366
|
id: The ID of the scenario run to score and wait for
|
|
372
367
|
polling_config: Optional polling configuration
|
|
@@ -412,7 +407,7 @@ class RunsResource(SyncAPIResource):
|
|
|
412
407
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
413
408
|
) -> ScenarioRunView:
|
|
414
409
|
"""Score a scenario run, wait for it to be scored, then complete it.
|
|
415
|
-
|
|
410
|
+
|
|
416
411
|
Args:
|
|
417
412
|
id: The ID of the scenario run to score, wait for, and complete
|
|
418
413
|
polling_config: Optional polling configuration
|
|
@@ -445,6 +440,7 @@ class RunsResource(SyncAPIResource):
|
|
|
445
440
|
timeout=timeout,
|
|
446
441
|
)
|
|
447
442
|
|
|
443
|
+
|
|
448
444
|
class AsyncRunsResource(AsyncAPIResource):
|
|
449
445
|
@cached_property
|
|
450
446
|
def with_raw_response(self) -> AsyncRunsResourceWithRawResponse:
|
|
@@ -728,7 +724,7 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
728
724
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
729
725
|
) -> ScenarioRunView:
|
|
730
726
|
"""Wait for a scenario run to be scored.
|
|
731
|
-
|
|
727
|
+
|
|
732
728
|
Args:
|
|
733
729
|
id: The ID of the scenario run to wait for
|
|
734
730
|
polling_config: Optional polling configuration
|
|
@@ -744,13 +740,10 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
744
740
|
PollingTimeout: If polling times out before scenario run is scored
|
|
745
741
|
RunloopError: If scenario run enters a non-scored terminal state
|
|
746
742
|
"""
|
|
743
|
+
|
|
747
744
|
async def retrieve_run() -> ScenarioRunView:
|
|
748
745
|
return await self.retrieve(
|
|
749
|
-
id,
|
|
750
|
-
extra_headers=extra_headers,
|
|
751
|
-
extra_query=extra_query,
|
|
752
|
-
extra_body=extra_body,
|
|
753
|
-
timeout=timeout
|
|
746
|
+
id, extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
754
747
|
)
|
|
755
748
|
|
|
756
749
|
def is_done_scoring(run: ScenarioRunView) -> bool:
|
|
@@ -759,9 +752,7 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
759
752
|
run = await async_poll_until(retrieve_run, is_done_scoring, polling_config)
|
|
760
753
|
|
|
761
754
|
if run.state != "scored":
|
|
762
|
-
raise RunloopError(
|
|
763
|
-
f"Scenario run entered non-scored state unexpectedly: {run.state}"
|
|
764
|
-
)
|
|
755
|
+
raise RunloopError(f"Scenario run entered non-scored state unexpectedly: {run.state}")
|
|
765
756
|
|
|
766
757
|
return run
|
|
767
758
|
|
|
@@ -778,7 +769,7 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
778
769
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
779
770
|
) -> ScenarioRunView:
|
|
780
771
|
"""Score a scenario run and wait for it to be scored.
|
|
781
|
-
|
|
772
|
+
|
|
782
773
|
Args:
|
|
783
774
|
id: The ID of the scenario run to score and wait for
|
|
784
775
|
polling_config: Optional polling configuration
|
|
@@ -824,7 +815,7 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
824
815
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
825
816
|
) -> ScenarioRunView:
|
|
826
817
|
"""Score a scenario run, wait for it to be scored, then complete it.
|
|
827
|
-
|
|
818
|
+
|
|
828
819
|
Args:
|
|
829
820
|
id: The ID of the scenario run to score, wait for, and complete
|
|
830
821
|
polling_config: Optional polling configuration
|
{runloop_api_client-0.55.1 → runloop_api_client-0.55.2}/tests/api_resources/test_devboxes.py
RENAMED
|
@@ -1168,9 +1168,7 @@ class TestDevboxes:
|
|
|
1168
1168
|
mock_await.return_value = mock_devbox_running
|
|
1169
1169
|
|
|
1170
1170
|
result = client.devboxes.create_and_await_running(
|
|
1171
|
-
|
|
1172
|
-
"name": "test",
|
|
1173
|
-
}
|
|
1171
|
+
name="test",
|
|
1174
1172
|
)
|
|
1175
1173
|
|
|
1176
1174
|
assert result.id == "test_id"
|
|
@@ -1210,12 +1208,8 @@ class TestDevboxes:
|
|
|
1210
1208
|
mock_await.return_value = mock_devbox_running
|
|
1211
1209
|
|
|
1212
1210
|
result = client.devboxes.create_and_await_running(
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
},
|
|
1216
|
-
request_args={
|
|
1217
|
-
"polling_config": config,
|
|
1218
|
-
},
|
|
1211
|
+
name="test",
|
|
1212
|
+
polling_config=config,
|
|
1219
1213
|
)
|
|
1220
1214
|
|
|
1221
1215
|
assert result.id == "test_id"
|
|
@@ -1235,9 +1229,7 @@ class TestDevboxes:
|
|
|
1235
1229
|
|
|
1236
1230
|
with pytest.raises(APIStatusError, match="Bad request"):
|
|
1237
1231
|
client.devboxes.create_and_await_running(
|
|
1238
|
-
|
|
1239
|
-
"name": "test",
|
|
1240
|
-
}
|
|
1232
|
+
name="test",
|
|
1241
1233
|
)
|
|
1242
1234
|
|
|
1243
1235
|
@parametrize
|
|
@@ -1261,9 +1253,7 @@ class TestDevboxes:
|
|
|
1261
1253
|
|
|
1262
1254
|
with pytest.raises(RunloopError, match="Devbox entered non-running terminal state: failed"):
|
|
1263
1255
|
client.devboxes.create_and_await_running(
|
|
1264
|
-
|
|
1265
|
-
"name": "test",
|
|
1266
|
-
}
|
|
1256
|
+
name="test",
|
|
1267
1257
|
)
|
|
1268
1258
|
|
|
1269
1259
|
|
|
@@ -1242,7 +1242,7 @@ wheels = [
|
|
|
1242
1242
|
|
|
1243
1243
|
[[package]]
|
|
1244
1244
|
name = "runloop-api-client"
|
|
1245
|
-
version = "0.
|
|
1245
|
+
version = "0.55.1"
|
|
1246
1246
|
source = { editable = "." }
|
|
1247
1247
|
dependencies = [
|
|
1248
1248
|
{ name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|