runloop-api-client 0.53.0__tar.gz → 0.54.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.
- runloop_api_client-0.54.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/CHANGELOG.md +9 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/PKG-INFO +1 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/api.md +2 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/pyproject.toml +7 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_base_client.py +4 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_files.py +4 -4
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +20 -20
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/blueprints.py +54 -105
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/devboxes.py +43 -186
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/scenarios/scenarios.py +6 -6
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_create_params.py +4 -4
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_run_view.py +6 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_start_run_params.py +11 -2
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_update_params.py +4 -4
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -13
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -13
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_manifest_view.py +13 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_start_run_params.py +11 -2
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_update_params.py +1 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_function_param.py +1 -1
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/test_benchmarks.py +4 -4
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/test_devboxes.py +23 -30
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/test_scenarios.py +2 -2
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/uv.lock +34 -1
- runloop_api_client-0.53.0/.release-please-manifest.json +0 -3
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/.gitignore +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/LICENSE +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/README.md +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/SECURITY.md +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/examples/.keep +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/mypy.ini +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/noxfile.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/release-please-config.json +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/requirements.lock +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_polling.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.54.0 (2025-08-05)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.53.0...v0.54.0](https://github.com/runloopai/api-client-python/compare/v0.53.0...v0.54.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([9d40ca4](https://github.com/runloopai/api-client-python/commit/9d40ca48745596ae2fa29ea3ad7fba93961eb801))
|
|
10
|
+
* **client:** support file upload requests ([5742a4b](https://github.com/runloopai/api-client-python/commit/5742a4ba701938607996b278531234121f81776d))
|
|
11
|
+
|
|
3
12
|
## 0.53.0 (2025-07-30)
|
|
4
13
|
|
|
5
14
|
Full Changelog: [v0.52.0...v0.53.0](https://github.com/runloopai/api-client-python/compare/v0.52.0...v0.53.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.54.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
|
|
@@ -62,6 +62,7 @@ Methods:
|
|
|
62
62
|
- <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> object</code>
|
|
63
63
|
- <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>
|
|
64
64
|
- <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>
|
|
65
|
+
- <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>
|
|
65
66
|
|
|
66
67
|
# Devboxes
|
|
67
68
|
|
|
@@ -104,6 +105,7 @@ Methods:
|
|
|
104
105
|
- <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>
|
|
105
106
|
- <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>
|
|
106
107
|
- <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>
|
|
108
|
+
- <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">create_args</a>, <a href="src/runloop_api_client/resources/devboxes/devboxes.py">request_args</a>=None) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
107
109
|
|
|
108
110
|
## DiskSnapshots
|
|
109
111
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "runloop_api_client"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.54.0"
|
|
4
4
|
description = "The official Python library for the runloop API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "MIT"
|
|
@@ -15,6 +15,7 @@ dependencies = [
|
|
|
15
15
|
"distro>=1.7.0, <2",
|
|
16
16
|
"sniffio",
|
|
17
17
|
]
|
|
18
|
+
|
|
18
19
|
requires-python = ">= 3.8"
|
|
19
20
|
classifiers = [
|
|
20
21
|
"Typing :: Typed",
|
|
@@ -93,6 +94,11 @@ typecheck = { chain = [
|
|
|
93
94
|
requires = ["hatchling==1.26.3", "hatch-fancy-pypi-readme"]
|
|
94
95
|
build-backend = "hatchling.build"
|
|
95
96
|
|
|
97
|
+
[dependency-groups]
|
|
98
|
+
dev = [
|
|
99
|
+
"ruff>=0.12.7",
|
|
100
|
+
]
|
|
101
|
+
|
|
96
102
|
[tool.hatch.build]
|
|
97
103
|
include = [
|
|
98
104
|
"src/*"
|
{runloop_api_client-0.53.0 → runloop_api_client-0.54.0}/src/runloop_api_client/_base_client.py
RENAMED
|
@@ -532,7 +532,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
532
532
|
is_body_allowed = options.method.lower() != "get"
|
|
533
533
|
|
|
534
534
|
if is_body_allowed:
|
|
535
|
-
|
|
535
|
+
if isinstance(json_data, bytes):
|
|
536
|
+
kwargs["content"] = json_data
|
|
537
|
+
else:
|
|
538
|
+
kwargs["json"] = json_data if is_given(json_data) else None
|
|
536
539
|
kwargs["files"] = files
|
|
537
540
|
else:
|
|
538
541
|
headers.pop("Content-Type", None)
|
|
@@ -69,12 +69,12 @@ def _transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
69
69
|
return file
|
|
70
70
|
|
|
71
71
|
if is_tuple_t(file):
|
|
72
|
-
return (file[0],
|
|
72
|
+
return (file[0], read_file_content(file[1]), *file[2:])
|
|
73
73
|
|
|
74
74
|
raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple")
|
|
75
75
|
|
|
76
76
|
|
|
77
|
-
def
|
|
77
|
+
def read_file_content(file: FileContent) -> HttpxFileContent:
|
|
78
78
|
if isinstance(file, os.PathLike):
|
|
79
79
|
return pathlib.Path(file).read_bytes()
|
|
80
80
|
return file
|
|
@@ -111,12 +111,12 @@ async def _async_transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
111
111
|
return file
|
|
112
112
|
|
|
113
113
|
if is_tuple_t(file):
|
|
114
|
-
return (file[0], await
|
|
114
|
+
return (file[0], await async_read_file_content(file[1]), *file[2:])
|
|
115
115
|
|
|
116
116
|
raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple")
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
async def
|
|
119
|
+
async def async_read_file_content(file: FileContent) -> HttpxFileContent:
|
|
120
120
|
if isinstance(file, os.PathLike):
|
|
121
121
|
return await anyio.Path(file).read_bytes()
|
|
122
122
|
|
|
@@ -71,7 +71,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
71
71
|
name: str,
|
|
72
72
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
73
73
|
required_environment_variables: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
74
|
-
|
|
74
|
+
required_secret_names: List[str] | NotGiven = NOT_GIVEN,
|
|
75
75
|
scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
76
76
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
77
77
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -92,9 +92,9 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
92
92
|
required_environment_variables: Environment variables required to run the benchmark. If any required variables
|
|
93
93
|
are not supplied, the benchmark will fail to start
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
mapping is incorrect, the benchmark will fail to start.
|
|
95
|
+
required_secret_names: Secrets required to run the benchmark with (environment variable name will be
|
|
96
|
+
mapped to the your user secret by name). If any of these secrets are not
|
|
97
|
+
provided or the mapping is incorrect, the benchmark will fail to start.
|
|
98
98
|
|
|
99
99
|
scenario_ids: The Scenario IDs that make up the Benchmark.
|
|
100
100
|
|
|
@@ -115,7 +115,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
115
115
|
"name": name,
|
|
116
116
|
"metadata": metadata,
|
|
117
117
|
"required_environment_variables": required_environment_variables,
|
|
118
|
-
"
|
|
118
|
+
"required_secret_names": required_secret_names,
|
|
119
119
|
"scenario_ids": scenario_ids,
|
|
120
120
|
},
|
|
121
121
|
benchmark_create_params.BenchmarkCreateParams,
|
|
@@ -170,7 +170,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
170
170
|
name: str,
|
|
171
171
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
172
172
|
required_environment_variables: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
173
|
-
|
|
173
|
+
required_secret_names: List[str] | NotGiven = NOT_GIVEN,
|
|
174
174
|
scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
175
175
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
176
176
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -191,9 +191,9 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
191
191
|
required_environment_variables: Environment variables required to run the benchmark. If any required variables
|
|
192
192
|
are not supplied, the benchmark will fail to start
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
mapping is incorrect, the benchmark will fail to start.
|
|
194
|
+
required_secret_names: Secrets required to run the benchmark with (environment variable name will be
|
|
195
|
+
mapped to the your user secret by name). If any of these secrets are not
|
|
196
|
+
provided or the mapping is incorrect, the benchmark will fail to start.
|
|
197
197
|
|
|
198
198
|
scenario_ids: The Scenario IDs that make up the Benchmark.
|
|
199
199
|
|
|
@@ -216,7 +216,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
216
216
|
"name": name,
|
|
217
217
|
"metadata": metadata,
|
|
218
218
|
"required_environment_variables": required_environment_variables,
|
|
219
|
-
"
|
|
219
|
+
"required_secret_names": required_secret_names,
|
|
220
220
|
"scenario_ids": scenario_ids,
|
|
221
221
|
},
|
|
222
222
|
benchmark_update_params.BenchmarkUpdateParams,
|
|
@@ -463,7 +463,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
463
463
|
name: str,
|
|
464
464
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
465
465
|
required_environment_variables: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
466
|
-
|
|
466
|
+
required_secret_names: List[str] | NotGiven = NOT_GIVEN,
|
|
467
467
|
scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
468
468
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
469
469
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -484,9 +484,9 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
484
484
|
required_environment_variables: Environment variables required to run the benchmark. If any required variables
|
|
485
485
|
are not supplied, the benchmark will fail to start
|
|
486
486
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
mapping is incorrect, the benchmark will fail to start.
|
|
487
|
+
required_secret_names: Secrets required to run the benchmark with (environment variable name will be
|
|
488
|
+
mapped to the your user secret by name). If any of these secrets are not
|
|
489
|
+
provided or the mapping is incorrect, the benchmark will fail to start.
|
|
490
490
|
|
|
491
491
|
scenario_ids: The Scenario IDs that make up the Benchmark.
|
|
492
492
|
|
|
@@ -507,7 +507,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
507
507
|
"name": name,
|
|
508
508
|
"metadata": metadata,
|
|
509
509
|
"required_environment_variables": required_environment_variables,
|
|
510
|
-
"
|
|
510
|
+
"required_secret_names": required_secret_names,
|
|
511
511
|
"scenario_ids": scenario_ids,
|
|
512
512
|
},
|
|
513
513
|
benchmark_create_params.BenchmarkCreateParams,
|
|
@@ -562,7 +562,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
562
562
|
name: str,
|
|
563
563
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
564
564
|
required_environment_variables: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
565
|
-
|
|
565
|
+
required_secret_names: List[str] | NotGiven = NOT_GIVEN,
|
|
566
566
|
scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
567
567
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
568
568
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -583,9 +583,9 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
583
583
|
required_environment_variables: Environment variables required to run the benchmark. If any required variables
|
|
584
584
|
are not supplied, the benchmark will fail to start
|
|
585
585
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
mapping is incorrect, the benchmark will fail to start.
|
|
586
|
+
required_secret_names: Secrets required to run the benchmark with (environment variable name will be
|
|
587
|
+
mapped to the your user secret by name). If any of these secrets are not
|
|
588
|
+
provided or the mapping is incorrect, the benchmark will fail to start.
|
|
589
589
|
|
|
590
590
|
scenario_ids: The Scenario IDs that make up the Benchmark.
|
|
591
591
|
|
|
@@ -608,7 +608,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
608
608
|
"name": name,
|
|
609
609
|
"metadata": metadata,
|
|
610
610
|
"required_environment_variables": required_environment_variables,
|
|
611
|
-
"
|
|
611
|
+
"required_secret_names": required_secret_names,
|
|
612
612
|
"scenario_ids": scenario_ids,
|
|
613
613
|
},
|
|
614
614
|
benchmark_update_params.BenchmarkUpdateParams,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict, List, Iterable, Optional
|
|
5
|
+
from typing import Dict, List, Iterable, Optional, TypedDict
|
|
6
6
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
@@ -28,7 +28,19 @@ from ..types.blueprint_build_logs_list_view import BlueprintBuildLogsListView
|
|
|
28
28
|
from ..types.shared_params.launch_parameters import LaunchParameters
|
|
29
29
|
from ..types.shared_params.code_mount_parameters import CodeMountParameters
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
|
|
32
|
+
# Type for request arguments that combine polling config with additional request options
|
|
33
|
+
class BlueprintRequestArgs(TypedDict, total=False):
|
|
34
|
+
polling_config: PollingConfig | None
|
|
35
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
36
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
37
|
+
extra_headers: Headers | None
|
|
38
|
+
extra_query: Query | None
|
|
39
|
+
extra_body: Body | None
|
|
40
|
+
timeout: float | httpx.Timeout | None | NotGiven
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
__all__ = ["BlueprintsResource", "AsyncBlueprintsResource", "BlueprintRequestArgs"]
|
|
32
44
|
|
|
33
45
|
|
|
34
46
|
class BlueprintsResource(SyncAPIResource):
|
|
@@ -188,13 +200,10 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
188
200
|
PollingTimeout: If polling times out before blueprint is built
|
|
189
201
|
RunloopError: If blueprint enters a non-built terminal state
|
|
190
202
|
"""
|
|
203
|
+
|
|
191
204
|
def retrieve_blueprint() -> BlueprintView:
|
|
192
205
|
return self.retrieve(
|
|
193
|
-
id,
|
|
194
|
-
extra_headers=extra_headers,
|
|
195
|
-
extra_query=extra_query,
|
|
196
|
-
extra_body=extra_body,
|
|
197
|
-
timeout=timeout
|
|
206
|
+
id, extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
198
207
|
)
|
|
199
208
|
|
|
200
209
|
def is_done_building(blueprint: BlueprintView) -> bool:
|
|
@@ -203,44 +212,23 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
203
212
|
blueprint = poll_until(retrieve_blueprint, is_done_building, polling_config)
|
|
204
213
|
|
|
205
214
|
if blueprint.status != "build_complete":
|
|
206
|
-
raise RunloopError(
|
|
207
|
-
f"Blueprint entered non-built terminal state: {blueprint.status}"
|
|
208
|
-
)
|
|
215
|
+
raise RunloopError(f"Blueprint entered non-built terminal state: {blueprint.status}")
|
|
209
216
|
|
|
210
217
|
return blueprint
|
|
211
218
|
|
|
212
219
|
def create_and_await_build_complete(
|
|
213
220
|
self,
|
|
214
221
|
*,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
dockerfile: Optional[str] | NotGiven = NOT_GIVEN,
|
|
218
|
-
file_mounts: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
219
|
-
launch_parameters: Optional[LaunchParameters] | NotGiven = NOT_GIVEN,
|
|
220
|
-
system_setup_commands: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
221
|
-
polling_config: PollingConfig | None = None,
|
|
222
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
223
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
224
|
-
extra_headers: Headers | None = None,
|
|
225
|
-
extra_query: Query | None = None,
|
|
226
|
-
extra_body: Body | None = None,
|
|
227
|
-
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
228
|
-
idempotency_key: str | None = None,
|
|
222
|
+
create_args: blueprint_create_params.BlueprintCreateParams,
|
|
223
|
+
request_args: BlueprintRequestArgs | None = None,
|
|
229
224
|
) -> BlueprintView:
|
|
230
225
|
"""Create a new Blueprint and wait for it to finish building.
|
|
231
226
|
|
|
227
|
+
This is a wrapper around the `create` method that waits for the blueprint to finish building.
|
|
228
|
+
|
|
232
229
|
Args:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
launch_parameters: Launch parameters for Devboxes created from this Blueprint
|
|
236
|
-
name: Name for the Blueprint
|
|
237
|
-
system_setup_commands: Commands to run during Blueprint build
|
|
238
|
-
polling_config: Optional polling configuration
|
|
239
|
-
extra_headers: Send extra headers
|
|
240
|
-
extra_query: Add additional query parameters to the request
|
|
241
|
-
extra_body: Add additional JSON properties to the request
|
|
242
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
243
|
-
idempotency_key: Specify a custom idempotency key for this request
|
|
230
|
+
create_args: Arguments to pass to the `create` method. See the `create` method for detailed documentation.
|
|
231
|
+
request_args: Optional request arguments including polling configuration and additional request options
|
|
244
232
|
|
|
245
233
|
Returns:
|
|
246
234
|
The built blueprint
|
|
@@ -249,27 +237,19 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
249
237
|
PollingTimeout: If polling times out before blueprint is built
|
|
250
238
|
RunloopError: If blueprint enters a non-built terminal state
|
|
251
239
|
"""
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
launch_parameters=launch_parameters,
|
|
258
|
-
system_setup_commands=system_setup_commands,
|
|
259
|
-
extra_headers=extra_headers,
|
|
260
|
-
extra_query=extra_query,
|
|
261
|
-
extra_body=extra_body,
|
|
262
|
-
timeout=timeout,
|
|
263
|
-
idempotency_key=idempotency_key,
|
|
264
|
-
)
|
|
240
|
+
# Pass all create_args to the underlying create method
|
|
241
|
+
blueprint = self.create(**create_args)
|
|
242
|
+
|
|
243
|
+
if request_args is None:
|
|
244
|
+
request_args = {}
|
|
265
245
|
|
|
266
246
|
return self.await_build_complete(
|
|
267
247
|
blueprint.id,
|
|
268
|
-
polling_config=polling_config,
|
|
269
|
-
extra_headers=extra_headers,
|
|
270
|
-
extra_query=extra_query,
|
|
271
|
-
extra_body=extra_body,
|
|
272
|
-
timeout=timeout,
|
|
248
|
+
polling_config=request_args.get("polling_config", None),
|
|
249
|
+
extra_headers=request_args.get("extra_headers", None),
|
|
250
|
+
extra_query=request_args.get("extra_query", None),
|
|
251
|
+
extra_body=request_args.get("extra_body", None),
|
|
252
|
+
timeout=request_args.get("timeout", None),
|
|
273
253
|
)
|
|
274
254
|
|
|
275
255
|
def list(
|
|
@@ -597,7 +577,7 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
597
577
|
),
|
|
598
578
|
cast_to=BlueprintView,
|
|
599
579
|
)
|
|
600
|
-
|
|
580
|
+
|
|
601
581
|
async def await_build_complete(
|
|
602
582
|
self,
|
|
603
583
|
id: str,
|
|
@@ -627,13 +607,10 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
627
607
|
PollingTimeout: If polling times out before blueprint is built
|
|
628
608
|
RunloopError: If blueprint enters a non-built terminal state
|
|
629
609
|
"""
|
|
610
|
+
|
|
630
611
|
async def retrieve_blueprint() -> BlueprintView:
|
|
631
612
|
return await self.retrieve(
|
|
632
|
-
id,
|
|
633
|
-
extra_headers=extra_headers,
|
|
634
|
-
extra_query=extra_query,
|
|
635
|
-
extra_body=extra_body,
|
|
636
|
-
timeout=timeout
|
|
613
|
+
id, extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
637
614
|
)
|
|
638
615
|
|
|
639
616
|
def is_done_building(blueprint: BlueprintView) -> bool:
|
|
@@ -642,44 +619,23 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
642
619
|
blueprint = await async_poll_until(retrieve_blueprint, is_done_building, polling_config)
|
|
643
620
|
|
|
644
621
|
if blueprint.status != "build_complete":
|
|
645
|
-
raise RunloopError(
|
|
646
|
-
f"Blueprint entered non-built terminal state: {blueprint.status}"
|
|
647
|
-
)
|
|
622
|
+
raise RunloopError(f"Blueprint entered non-built terminal state: {blueprint.status}")
|
|
648
623
|
|
|
649
624
|
return blueprint
|
|
650
625
|
|
|
651
626
|
async def create_and_await_build_complete(
|
|
652
627
|
self,
|
|
653
628
|
*,
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
dockerfile: Optional[str] | NotGiven = NOT_GIVEN,
|
|
657
|
-
file_mounts: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
658
|
-
launch_parameters: Optional[LaunchParameters] | NotGiven = NOT_GIVEN,
|
|
659
|
-
system_setup_commands: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
660
|
-
polling_config: PollingConfig | None = None,
|
|
661
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
662
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
663
|
-
extra_headers: Headers | None = None,
|
|
664
|
-
extra_query: Query | None = None,
|
|
665
|
-
extra_body: Body | None = None,
|
|
666
|
-
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
667
|
-
idempotency_key: str | None = None,
|
|
629
|
+
create_args: blueprint_create_params.BlueprintCreateParams,
|
|
630
|
+
request_args: BlueprintRequestArgs | None = None,
|
|
668
631
|
) -> BlueprintView:
|
|
669
632
|
"""Create a new Blueprint and wait for it to finish building.
|
|
670
633
|
|
|
634
|
+
This is a wrapper around the `create` method that waits for the blueprint to finish building.
|
|
635
|
+
|
|
671
636
|
Args:
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
launch_parameters: Launch parameters for Devboxes created from this Blueprint
|
|
675
|
-
name: Name for the Blueprint
|
|
676
|
-
system_setup_commands: Commands to run during Blueprint build
|
|
677
|
-
polling_config: Optional polling configuration
|
|
678
|
-
extra_headers: Send extra headers
|
|
679
|
-
extra_query: Add additional query parameters to the request
|
|
680
|
-
extra_body: Add additional JSON properties to the request
|
|
681
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
682
|
-
idempotency_key: Specify a custom idempotency key for this request
|
|
637
|
+
create_args: Arguments to pass to the `create` method. See the `create` method for detailed documentation.
|
|
638
|
+
request_args: Optional request arguments including polling configuration and additional request options
|
|
683
639
|
|
|
684
640
|
Returns:
|
|
685
641
|
The built blueprint
|
|
@@ -688,27 +644,20 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
688
644
|
PollingTimeout: If polling times out before blueprint is built
|
|
689
645
|
RunloopError: If blueprint enters a non-built terminal state
|
|
690
646
|
"""
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
system_setup_commands=system_setup_commands,
|
|
698
|
-
extra_headers=extra_headers,
|
|
699
|
-
extra_query=extra_query,
|
|
700
|
-
extra_body=extra_body,
|
|
701
|
-
timeout=timeout,
|
|
702
|
-
idempotency_key=idempotency_key,
|
|
703
|
-
)
|
|
647
|
+
# Pass all create_args to the underlying create method
|
|
648
|
+
blueprint = await self.create(**create_args)
|
|
649
|
+
|
|
650
|
+
# Extract polling config and other request args
|
|
651
|
+
if request_args is None:
|
|
652
|
+
request_args = {}
|
|
704
653
|
|
|
705
654
|
return await self.await_build_complete(
|
|
706
655
|
blueprint.id,
|
|
707
|
-
polling_config=polling_config,
|
|
708
|
-
extra_headers=extra_headers,
|
|
709
|
-
extra_query=extra_query,
|
|
710
|
-
extra_body=extra_body,
|
|
711
|
-
timeout=timeout,
|
|
656
|
+
polling_config=request_args.get("polling_config", None),
|
|
657
|
+
extra_headers=request_args.get("extra_headers", None),
|
|
658
|
+
extra_query=request_args.get("extra_query", None),
|
|
659
|
+
extra_body=request_args.get("extra_body", None),
|
|
660
|
+
timeout=request_args.get("timeout", None),
|
|
712
661
|
)
|
|
713
662
|
|
|
714
663
|
def list(
|