runloop-api-client 0.29.0__tar.gz → 0.30.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.30.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/CHANGELOG.md +33 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/PKG-INFO +5 -6
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/README.md +4 -5
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/api.md +22 -14
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/pyproject.toml +2 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_base_client.py +10 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_models.py +1 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_transform.py +47 -2
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_typing.py +2 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +32 -21
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/blueprints.py +92 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/devboxes.py +4 -4
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/scenarios/scenarios.py +45 -25
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/scenarios/scorers.py +4 -4
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/__init__.py +9 -4
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmark_create_params.py +3 -0
- runloop_api_client-0.30.0/src/runloop_api_client/types/benchmark_create_response.py +26 -0
- runloop_api_client-0.30.0/src/runloop_api_client/types/benchmark_list_public_response.py +26 -0
- runloop_api_client-0.29.0/src/runloop_api_client/types/benchmark_view.py → runloop_api_client-0.30.0/src/runloop_api_client/types/benchmark_list_response.py +6 -3
- runloop_api_client-0.30.0/src/runloop_api_client/types/benchmark_retrieve_response.py +26 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmark_run_view.py +18 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_view.py +3 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_create_params.py +3 -0
- runloop_api_client-0.30.0/src/runloop_api_client/types/scenario_create_response.py +40 -0
- runloop_api_client-0.30.0/src/runloop_api_client/types/scenario_list_public_response.py +40 -0
- runloop_api_client-0.29.0/src/runloop_api_client/types/scenario_view.py → runloop_api_client-0.30.0/src/runloop_api_client/types/scenario_list_response.py +5 -2
- runloop_api_client-0.30.0/src/runloop_api_client/types/scenario_retrieve_response.py +40 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_run_view.py +1 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_update_params.py +3 -0
- runloop_api_client-0.30.0/src/runloop_api_client/types/scenario_update_response.py +40 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +1 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +1 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared/launch_parameters.py +3 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +3 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/scenarios/test_scorers.py +2 -2
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/test_benchmarks.py +42 -31
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/test_blueprints.py +80 -4
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/test_devboxes.py +8 -8
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/test_scenarios.py +65 -43
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_client.py +1 -1
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_transform.py +20 -1
- runloop_api_client-0.29.0/.release-please-manifest.json +0 -3
- runloop_api_client-0.29.0/src/runloop_api_client/types/benchmark_list_view.py +0 -19
- runloop_api_client-0.29.0/src/runloop_api_client/types/scenario_list_view.py +0 -19
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/.gitignore +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/LICENSE +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/SECURITY.md +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/examples/.keep +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/mypy.ini +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/noxfile.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/release-please-config.json +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/requirements.lock +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/tests/utils.py +0 -0
- {runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/uv.lock +0 -0
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.30.0 (2025-04-16)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.29.0...v0.30.0](https://github.com/runloopai/api-client-python/compare/v0.29.0...v0.30.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([380287d](https://github.com/runloopai/api-client-python/commit/380287d31238c9cc1cf99a3c394f03141be6174d))
|
|
10
|
+
* **api:** api update ([e9857e8](https://github.com/runloopai/api-client-python/commit/e9857e86999295ef3a8507f69c61ea6ee2861908))
|
|
11
|
+
* **api:** api update ([#586](https://github.com/runloopai/api-client-python/issues/586)) ([eb6d1ba](https://github.com/runloopai/api-client-python/commit/eb6d1ba0b6420f256c8b40dbae75f8a51854d32d))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **client:** correctly reuse idempotency key ([a6ba920](https://github.com/runloopai/api-client-python/commit/a6ba9201bf5012822ba97fdfdc48e96668a2d22e))
|
|
17
|
+
* **perf:** optimize some hot paths ([edf120c](https://github.com/runloopai/api-client-python/commit/edf120c4cfc3d0104c3735c6882787a039b21bce))
|
|
18
|
+
* **perf:** skip traversing types for NotGiven values ([bcb8823](https://github.com/runloopai/api-client-python/commit/bcb8823c114d7171745010f41442932657fc0b76))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Chores
|
|
22
|
+
|
|
23
|
+
* fix typos ([#582](https://github.com/runloopai/api-client-python/issues/582)) ([66d248c](https://github.com/runloopai/api-client-python/commit/66d248cf691f776d04df6aeb3273734bbf914a3b))
|
|
24
|
+
* **internal:** expand CI branch coverage ([0b68591](https://github.com/runloopai/api-client-python/commit/0b68591b8977c6863d75a464045a958809cca096))
|
|
25
|
+
* **internal:** reduce CI branch coverage ([58821a3](https://github.com/runloopai/api-client-python/commit/58821a3fc73f47ed0601a8fdbeaad79778765719))
|
|
26
|
+
* **internal:** remove trailing character ([#584](https://github.com/runloopai/api-client-python/issues/584)) ([65bacb7](https://github.com/runloopai/api-client-python/commit/65bacb71b584b8b1a3f998efb2d28102ffa98d74))
|
|
27
|
+
* **internal:** slight transform perf improvement ([#587](https://github.com/runloopai/api-client-python/issues/587)) ([ec630c4](https://github.com/runloopai/api-client-python/commit/ec630c44eefc52b89ce69277c9040fc93dd9241f))
|
|
28
|
+
* **internal:** update pyright settings ([487213d](https://github.com/runloopai/api-client-python/commit/487213dcc570b7d538fbff04b0a942cdbc6e97c6))
|
|
29
|
+
* slight wording improvement in README ([#588](https://github.com/runloopai/api-client-python/issues/588)) ([2eb6437](https://github.com/runloopai/api-client-python/commit/2eb643793ea4ce03000b5b4eae6f39843a74543b))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
* swap examples used in readme ([#585](https://github.com/runloopai/api-client-python/issues/585)) ([adf9a26](https://github.com/runloopai/api-client-python/commit/adf9a26a3890b7bd5899d191927ed97a9402c864))
|
|
35
|
+
|
|
3
36
|
## 0.29.0 (2025-03-25)
|
|
4
37
|
|
|
5
38
|
Full Changelog: [v0.28.0...v0.29.0](https://github.com/runloopai/api-client-python/compare/v0.28.0...v0.29.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.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
|
|
@@ -176,8 +176,7 @@ from runloop_api_client import Runloop
|
|
|
176
176
|
|
|
177
177
|
client = Runloop()
|
|
178
178
|
|
|
179
|
-
|
|
180
|
-
name="name",
|
|
179
|
+
devbox_view = client.devboxes.create(
|
|
181
180
|
launch_parameters={
|
|
182
181
|
"after_idle": {
|
|
183
182
|
"idle_time_seconds": 0,
|
|
@@ -188,15 +187,15 @@ blueprint_view = client.blueprints.create(
|
|
|
188
187
|
"custom_gb_memory": 0,
|
|
189
188
|
"keep_alive_time_seconds": 0,
|
|
190
189
|
"launch_commands": ["string"],
|
|
191
|
-
"resource_size_request": "
|
|
190
|
+
"resource_size_request": "X_SMALL",
|
|
192
191
|
},
|
|
193
192
|
)
|
|
194
|
-
print(
|
|
193
|
+
print(devbox_view.launch_parameters)
|
|
195
194
|
```
|
|
196
195
|
|
|
197
196
|
## File uploads
|
|
198
197
|
|
|
199
|
-
Request parameters that correspond to file uploads can be passed as `bytes`, a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
|
|
198
|
+
Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
|
|
200
199
|
|
|
201
200
|
```python
|
|
202
201
|
from pathlib import Path
|
|
@@ -145,8 +145,7 @@ from runloop_api_client import Runloop
|
|
|
145
145
|
|
|
146
146
|
client = Runloop()
|
|
147
147
|
|
|
148
|
-
|
|
149
|
-
name="name",
|
|
148
|
+
devbox_view = client.devboxes.create(
|
|
150
149
|
launch_parameters={
|
|
151
150
|
"after_idle": {
|
|
152
151
|
"idle_time_seconds": 0,
|
|
@@ -157,15 +156,15 @@ blueprint_view = client.blueprints.create(
|
|
|
157
156
|
"custom_gb_memory": 0,
|
|
158
157
|
"keep_alive_time_seconds": 0,
|
|
159
158
|
"launch_commands": ["string"],
|
|
160
|
-
"resource_size_request": "
|
|
159
|
+
"resource_size_request": "X_SMALL",
|
|
161
160
|
},
|
|
162
161
|
)
|
|
163
|
-
print(
|
|
162
|
+
print(devbox_view.launch_parameters)
|
|
164
163
|
```
|
|
165
164
|
|
|
166
165
|
## File uploads
|
|
167
166
|
|
|
168
|
-
Request parameters that correspond to file uploads can be passed as `bytes`, a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
|
|
167
|
+
Request parameters that correspond to file uploads can be passed as `bytes`, or a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
|
|
169
168
|
|
|
170
169
|
```python
|
|
171
170
|
from pathlib import Path
|
|
@@ -11,20 +11,22 @@ Types:
|
|
|
11
11
|
```python
|
|
12
12
|
from runloop_api_client.types import (
|
|
13
13
|
BenchmarkCreateParameters,
|
|
14
|
-
BenchmarkListView,
|
|
15
14
|
BenchmarkRunListView,
|
|
16
15
|
BenchmarkRunView,
|
|
17
|
-
BenchmarkView,
|
|
18
16
|
StartBenchmarkRunParameters,
|
|
17
|
+
BenchmarkCreateResponse,
|
|
18
|
+
BenchmarkRetrieveResponse,
|
|
19
|
+
BenchmarkListResponse,
|
|
20
|
+
BenchmarkListPublicResponse,
|
|
19
21
|
)
|
|
20
22
|
```
|
|
21
23
|
|
|
22
24
|
Methods:
|
|
23
25
|
|
|
24
|
-
- <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
25
|
-
- <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/
|
|
26
|
-
- <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
27
|
-
- <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
26
|
+
- <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_create_response.py">BenchmarkCreateResponse</a></code>
|
|
27
|
+
- <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_retrieve_response.py">BenchmarkRetrieveResponse</a></code>
|
|
28
|
+
- <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_list_response.py">SyncBenchmarksCursorIDPage[BenchmarkListResponse]</a></code>
|
|
29
|
+
- <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_list_public_response.py">SyncBenchmarksCursorIDPage[BenchmarkListPublicResponse]</a></code>
|
|
28
30
|
- <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
29
31
|
|
|
30
32
|
## Runs
|
|
@@ -47,6 +49,7 @@ from runloop_api_client.types import (
|
|
|
47
49
|
BlueprintListView,
|
|
48
50
|
BlueprintPreviewView,
|
|
49
51
|
BlueprintView,
|
|
52
|
+
BlueprintDeleteResponse,
|
|
50
53
|
)
|
|
51
54
|
```
|
|
52
55
|
|
|
@@ -55,6 +58,7 @@ Methods:
|
|
|
55
58
|
- <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>
|
|
56
59
|
- <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>
|
|
57
60
|
- <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>
|
|
61
|
+
- <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_delete_response.py">object</a></code>
|
|
58
62
|
- <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>
|
|
59
63
|
- <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>
|
|
60
64
|
|
|
@@ -75,6 +79,7 @@ from runloop_api_client.types import (
|
|
|
75
79
|
DevboxDeleteDiskSnapshotResponse,
|
|
76
80
|
DevboxKeepAliveResponse,
|
|
77
81
|
DevboxReadFileContentsResponse,
|
|
82
|
+
DevboxRemoveTunnelResponse,
|
|
78
83
|
DevboxUploadFileResponse,
|
|
79
84
|
)
|
|
80
85
|
```
|
|
@@ -94,7 +99,7 @@ Methods:
|
|
|
94
99
|
- <code title="post /v1/devboxes/{id}/keep_alive">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">keep_alive</a>(id) -> <a href="./src/runloop_api_client/types/devbox_keep_alive_response.py">object</a></code>
|
|
95
100
|
- <code title="get /v1/devboxes/disk_snapshots">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">list_disk_snapshots</a>(\*\*<a href="src/runloop_api_client/types/devbox_list_disk_snapshots_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">SyncDiskSnapshotsCursorIDPage[DevboxSnapshotView]</a></code>
|
|
96
101
|
- <code title="post /v1/devboxes/{id}/read_file_contents">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">read_file_contents</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_read_file_contents_params.py">params</a>) -> str</code>
|
|
97
|
-
- <code title="post /v1/devboxes/{id}/remove_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">remove_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_remove_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
102
|
+
- <code title="post /v1/devboxes/{id}/remove_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">remove_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_remove_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_remove_tunnel_response.py">object</a></code>
|
|
98
103
|
- <code title="post /v1/devboxes/{id}/resume">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">resume</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
99
104
|
- <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">shutdown</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
100
105
|
- <code title="post /v1/devboxes/{id}/snapshot_disk">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">snapshot_disk</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_snapshot_disk_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">DevboxSnapshotView</a></code>
|
|
@@ -262,25 +267,28 @@ from runloop_api_client.types import (
|
|
|
262
267
|
InputContext,
|
|
263
268
|
ScenarioCreateParameters,
|
|
264
269
|
ScenarioEnvironment,
|
|
265
|
-
ScenarioListView,
|
|
266
270
|
ScenarioRunListView,
|
|
267
271
|
ScenarioRunView,
|
|
268
|
-
ScenarioView,
|
|
269
272
|
ScoringContract,
|
|
270
273
|
ScoringContractResultView,
|
|
271
274
|
ScoringFunction,
|
|
272
275
|
ScoringFunctionResultView,
|
|
273
276
|
StartScenarioRunParameters,
|
|
277
|
+
ScenarioCreateResponse,
|
|
278
|
+
ScenarioRetrieveResponse,
|
|
279
|
+
ScenarioUpdateResponse,
|
|
280
|
+
ScenarioListResponse,
|
|
281
|
+
ScenarioListPublicResponse,
|
|
274
282
|
)
|
|
275
283
|
```
|
|
276
284
|
|
|
277
285
|
Methods:
|
|
278
286
|
|
|
279
|
-
- <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
280
|
-
- <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/
|
|
281
|
-
- <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
282
|
-
- <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
283
|
-
- <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/
|
|
287
|
+
- <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_create_response.py">ScenarioCreateResponse</a></code>
|
|
288
|
+
- <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_retrieve_response.py">ScenarioRetrieveResponse</a></code>
|
|
289
|
+
- <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_update_response.py">ScenarioUpdateResponse</a></code>
|
|
290
|
+
- <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_list_response.py">SyncScenariosCursorIDPage[ScenarioListResponse]</a></code>
|
|
291
|
+
- <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_list_public_response.py">SyncScenariosCursorIDPage[ScenarioListPublicResponse]</a></code>
|
|
284
292
|
- <code title="post /v1/scenarios/start_run">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/scenario_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
285
293
|
|
|
286
294
|
## Runs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "runloop_api_client"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.30.0"
|
|
4
4
|
description = "The official Python library for the runloop API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "MIT"
|
|
@@ -147,6 +147,7 @@ exclude = [
|
|
|
147
147
|
]
|
|
148
148
|
|
|
149
149
|
reportImplicitOverride = true
|
|
150
|
+
reportOverlappingOverload = false
|
|
150
151
|
|
|
151
152
|
reportImportCycles = false
|
|
152
153
|
reportPrivateUsage = false
|
{runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_base_client.py
RENAMED
|
@@ -409,7 +409,8 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
409
409
|
|
|
410
410
|
idempotency_header = self._idempotency_header
|
|
411
411
|
if idempotency_header and options.method.lower() != "get" and idempotency_header not in headers:
|
|
412
|
-
|
|
412
|
+
options.idempotency_key = options.idempotency_key or self._idempotency_key()
|
|
413
|
+
headers[idempotency_header] = options.idempotency_key
|
|
413
414
|
|
|
414
415
|
# Don't set these headers if they were already set or removed by the caller. We check
|
|
415
416
|
# `custom_headers`, which can contain `Omit()`, instead of `headers` to account for the removal case.
|
|
@@ -943,6 +944,10 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
943
944
|
request = self._build_request(options, retries_taken=retries_taken)
|
|
944
945
|
self._prepare_request(request)
|
|
945
946
|
|
|
947
|
+
if options.idempotency_key:
|
|
948
|
+
# ensure the idempotency key is reused between requests
|
|
949
|
+
input_options.idempotency_key = options.idempotency_key
|
|
950
|
+
|
|
946
951
|
kwargs: HttpxSendArgs = {}
|
|
947
952
|
if self.custom_auth is not None:
|
|
948
953
|
kwargs["auth"] = self.custom_auth
|
|
@@ -1475,6 +1480,10 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1475
1480
|
request = self._build_request(options, retries_taken=retries_taken)
|
|
1476
1481
|
await self._prepare_request(request)
|
|
1477
1482
|
|
|
1483
|
+
if options.idempotency_key:
|
|
1484
|
+
# ensure the idempotency key is reused between requests
|
|
1485
|
+
input_options.idempotency_key = options.idempotency_key
|
|
1486
|
+
|
|
1478
1487
|
kwargs: HttpxSendArgs = {}
|
|
1479
1488
|
if self.custom_auth is not None:
|
|
1480
1489
|
kwargs["auth"] = self.custom_auth
|
|
@@ -681,7 +681,7 @@ def set_pydantic_config(typ: Any, config: pydantic.ConfigDict) -> None:
|
|
|
681
681
|
setattr(typ, "__pydantic_config__", config) # noqa: B010
|
|
682
682
|
|
|
683
683
|
|
|
684
|
-
# our use of
|
|
684
|
+
# our use of subclassing here causes weirdness for type checkers,
|
|
685
685
|
# so we just pretend that we don't subclass
|
|
686
686
|
if TYPE_CHECKING:
|
|
687
687
|
GenericModel = BaseModel
|
{runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_transform.py
RENAMED
|
@@ -5,13 +5,15 @@ import base64
|
|
|
5
5
|
import pathlib
|
|
6
6
|
from typing import Any, Mapping, TypeVar, cast
|
|
7
7
|
from datetime import date, datetime
|
|
8
|
-
from typing_extensions import Literal, get_args, override, get_type_hints
|
|
8
|
+
from typing_extensions import Literal, get_args, override, get_type_hints as _get_type_hints
|
|
9
9
|
|
|
10
10
|
import anyio
|
|
11
11
|
import pydantic
|
|
12
12
|
|
|
13
13
|
from ._utils import (
|
|
14
14
|
is_list,
|
|
15
|
+
is_given,
|
|
16
|
+
lru_cache,
|
|
15
17
|
is_mapping,
|
|
16
18
|
is_iterable,
|
|
17
19
|
)
|
|
@@ -108,6 +110,7 @@ def transform(
|
|
|
108
110
|
return cast(_T, transformed)
|
|
109
111
|
|
|
110
112
|
|
|
113
|
+
@lru_cache(maxsize=8096)
|
|
111
114
|
def _get_annotated_type(type_: type) -> type | None:
|
|
112
115
|
"""If the given type is an `Annotated` type then it is returned, if not `None` is returned.
|
|
113
116
|
|
|
@@ -126,7 +129,7 @@ def _get_annotated_type(type_: type) -> type | None:
|
|
|
126
129
|
def _maybe_transform_key(key: str, type_: type) -> str:
|
|
127
130
|
"""Transform the given `data` based on the annotations provided in `type_`.
|
|
128
131
|
|
|
129
|
-
Note: this function only looks at `Annotated` types that contain `
|
|
132
|
+
Note: this function only looks at `Annotated` types that contain `PropertyInfo` metadata.
|
|
130
133
|
"""
|
|
131
134
|
annotated_type = _get_annotated_type(type_)
|
|
132
135
|
if annotated_type is None:
|
|
@@ -142,6 +145,10 @@ def _maybe_transform_key(key: str, type_: type) -> str:
|
|
|
142
145
|
return key
|
|
143
146
|
|
|
144
147
|
|
|
148
|
+
def _no_transform_needed(annotation: type) -> bool:
|
|
149
|
+
return annotation == float or annotation == int
|
|
150
|
+
|
|
151
|
+
|
|
145
152
|
def _transform_recursive(
|
|
146
153
|
data: object,
|
|
147
154
|
*,
|
|
@@ -184,6 +191,15 @@ def _transform_recursive(
|
|
|
184
191
|
return cast(object, data)
|
|
185
192
|
|
|
186
193
|
inner_type = extract_type_arg(stripped_type, 0)
|
|
194
|
+
if _no_transform_needed(inner_type):
|
|
195
|
+
# for some types there is no need to transform anything, so we can get a small
|
|
196
|
+
# perf boost from skipping that work.
|
|
197
|
+
#
|
|
198
|
+
# but we still need to convert to a list to ensure the data is json-serializable
|
|
199
|
+
if is_list(data):
|
|
200
|
+
return data
|
|
201
|
+
return list(data)
|
|
202
|
+
|
|
187
203
|
return [_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
|
|
188
204
|
|
|
189
205
|
if is_union_type(stripped_type):
|
|
@@ -245,6 +261,11 @@ def _transform_typeddict(
|
|
|
245
261
|
result: dict[str, object] = {}
|
|
246
262
|
annotations = get_type_hints(expected_type, include_extras=True)
|
|
247
263
|
for key, value in data.items():
|
|
264
|
+
if not is_given(value):
|
|
265
|
+
# we don't need to include `NotGiven` values here as they'll
|
|
266
|
+
# be stripped out before the request is sent anyway
|
|
267
|
+
continue
|
|
268
|
+
|
|
248
269
|
type_ = annotations.get(key)
|
|
249
270
|
if type_ is None:
|
|
250
271
|
# we do not have a type annotation for this field, leave it as is
|
|
@@ -332,6 +353,15 @@ async def _async_transform_recursive(
|
|
|
332
353
|
return cast(object, data)
|
|
333
354
|
|
|
334
355
|
inner_type = extract_type_arg(stripped_type, 0)
|
|
356
|
+
if _no_transform_needed(inner_type):
|
|
357
|
+
# for some types there is no need to transform anything, so we can get a small
|
|
358
|
+
# perf boost from skipping that work.
|
|
359
|
+
#
|
|
360
|
+
# but we still need to convert to a list to ensure the data is json-serializable
|
|
361
|
+
if is_list(data):
|
|
362
|
+
return data
|
|
363
|
+
return list(data)
|
|
364
|
+
|
|
335
365
|
return [await _async_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
|
|
336
366
|
|
|
337
367
|
if is_union_type(stripped_type):
|
|
@@ -393,6 +423,11 @@ async def _async_transform_typeddict(
|
|
|
393
423
|
result: dict[str, object] = {}
|
|
394
424
|
annotations = get_type_hints(expected_type, include_extras=True)
|
|
395
425
|
for key, value in data.items():
|
|
426
|
+
if not is_given(value):
|
|
427
|
+
# we don't need to include `NotGiven` values here as they'll
|
|
428
|
+
# be stripped out before the request is sent anyway
|
|
429
|
+
continue
|
|
430
|
+
|
|
396
431
|
type_ = annotations.get(key)
|
|
397
432
|
if type_ is None:
|
|
398
433
|
# we do not have a type annotation for this field, leave it as is
|
|
@@ -400,3 +435,13 @@ async def _async_transform_typeddict(
|
|
|
400
435
|
else:
|
|
401
436
|
result[_maybe_transform_key(key, type_)] = await _async_transform_recursive(value, annotation=type_)
|
|
402
437
|
return result
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
@lru_cache(maxsize=8096)
|
|
441
|
+
def get_type_hints(
|
|
442
|
+
obj: Any,
|
|
443
|
+
globalns: dict[str, Any] | None = None,
|
|
444
|
+
localns: Mapping[str, Any] | None = None,
|
|
445
|
+
include_extras: bool = False,
|
|
446
|
+
) -> dict[str, Any]:
|
|
447
|
+
return _get_type_hints(obj, globalns=globalns, localns=localns, include_extras=include_extras)
|
{runloop_api_client-0.29.0 → runloop_api_client-0.30.0}/src/runloop_api_client/_utils/_typing.py
RENAMED
|
@@ -13,6 +13,7 @@ from typing_extensions import (
|
|
|
13
13
|
get_origin,
|
|
14
14
|
)
|
|
15
15
|
|
|
16
|
+
from ._utils import lru_cache
|
|
16
17
|
from .._types import InheritsGeneric
|
|
17
18
|
from .._compat import is_union as _is_union
|
|
18
19
|
|
|
@@ -66,6 +67,7 @@ def is_type_alias_type(tp: Any, /) -> TypeIs[typing_extensions.TypeAliasType]:
|
|
|
66
67
|
|
|
67
68
|
|
|
68
69
|
# Extracts T from Annotated[T, ...] or from Required[Annotated[T, ...]]
|
|
70
|
+
@lru_cache(maxsize=8096)
|
|
69
71
|
def strip_annotated_type(typ: type) -> type:
|
|
70
72
|
if is_required_type(typ) or is_annotated_type(typ):
|
|
71
73
|
return strip_annotated_type(cast(type, get_args(typ)[0]))
|
|
@@ -35,8 +35,11 @@ from ..._response import (
|
|
|
35
35
|
)
|
|
36
36
|
from ...pagination import SyncBenchmarksCursorIDPage, AsyncBenchmarksCursorIDPage
|
|
37
37
|
from ..._base_client import AsyncPaginator, make_request_options
|
|
38
|
-
from ...types.benchmark_view import BenchmarkView
|
|
39
38
|
from ...types.benchmark_run_view import BenchmarkRunView
|
|
39
|
+
from ...types.benchmark_list_response import BenchmarkListResponse
|
|
40
|
+
from ...types.benchmark_create_response import BenchmarkCreateResponse
|
|
41
|
+
from ...types.benchmark_retrieve_response import BenchmarkRetrieveResponse
|
|
42
|
+
from ...types.benchmark_list_public_response import BenchmarkListPublicResponse
|
|
40
43
|
|
|
41
44
|
__all__ = ["BenchmarksResource", "AsyncBenchmarksResource"]
|
|
42
45
|
|
|
@@ -68,6 +71,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
68
71
|
def create(
|
|
69
72
|
self,
|
|
70
73
|
*,
|
|
74
|
+
is_public: bool,
|
|
71
75
|
name: str,
|
|
72
76
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
73
77
|
scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
@@ -78,11 +82,13 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
78
82
|
extra_body: Body | None = None,
|
|
79
83
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
80
84
|
idempotency_key: str | None = None,
|
|
81
|
-
) ->
|
|
85
|
+
) -> BenchmarkCreateResponse:
|
|
82
86
|
"""
|
|
83
87
|
Create a Benchmark with a set of Scenarios.
|
|
84
88
|
|
|
85
89
|
Args:
|
|
90
|
+
is_public: Whether this benchmark is public.
|
|
91
|
+
|
|
86
92
|
name: The name of the Benchmark.
|
|
87
93
|
|
|
88
94
|
metadata: User defined metadata to attach to the benchmark for organization.
|
|
@@ -103,6 +109,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
103
109
|
"/v1/benchmarks",
|
|
104
110
|
body=maybe_transform(
|
|
105
111
|
{
|
|
112
|
+
"is_public": is_public,
|
|
106
113
|
"name": name,
|
|
107
114
|
"metadata": metadata,
|
|
108
115
|
"scenario_ids": scenario_ids,
|
|
@@ -116,7 +123,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
116
123
|
timeout=timeout,
|
|
117
124
|
idempotency_key=idempotency_key,
|
|
118
125
|
),
|
|
119
|
-
cast_to=
|
|
126
|
+
cast_to=BenchmarkCreateResponse,
|
|
120
127
|
)
|
|
121
128
|
|
|
122
129
|
def retrieve(
|
|
@@ -129,7 +136,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
129
136
|
extra_query: Query | None = None,
|
|
130
137
|
extra_body: Body | None = None,
|
|
131
138
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
132
|
-
) ->
|
|
139
|
+
) -> BenchmarkRetrieveResponse:
|
|
133
140
|
"""
|
|
134
141
|
Get a previously created Benchmark.
|
|
135
142
|
|
|
@@ -149,7 +156,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
149
156
|
options=make_request_options(
|
|
150
157
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
151
158
|
),
|
|
152
|
-
cast_to=
|
|
159
|
+
cast_to=BenchmarkRetrieveResponse,
|
|
153
160
|
)
|
|
154
161
|
|
|
155
162
|
def list(
|
|
@@ -163,7 +170,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
163
170
|
extra_query: Query | None = None,
|
|
164
171
|
extra_body: Body | None = None,
|
|
165
172
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
166
|
-
) -> SyncBenchmarksCursorIDPage[
|
|
173
|
+
) -> SyncBenchmarksCursorIDPage[BenchmarkListResponse]:
|
|
167
174
|
"""
|
|
168
175
|
List all Benchmarks matching filter.
|
|
169
176
|
|
|
@@ -182,7 +189,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
182
189
|
"""
|
|
183
190
|
return self._get_api_list(
|
|
184
191
|
"/v1/benchmarks",
|
|
185
|
-
page=SyncBenchmarksCursorIDPage[
|
|
192
|
+
page=SyncBenchmarksCursorIDPage[BenchmarkListResponse],
|
|
186
193
|
options=make_request_options(
|
|
187
194
|
extra_headers=extra_headers,
|
|
188
195
|
extra_query=extra_query,
|
|
@@ -196,7 +203,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
196
203
|
benchmark_list_params.BenchmarkListParams,
|
|
197
204
|
),
|
|
198
205
|
),
|
|
199
|
-
model=
|
|
206
|
+
model=BenchmarkListResponse,
|
|
200
207
|
)
|
|
201
208
|
|
|
202
209
|
def list_public(
|
|
@@ -210,7 +217,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
210
217
|
extra_query: Query | None = None,
|
|
211
218
|
extra_body: Body | None = None,
|
|
212
219
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
213
|
-
) -> SyncBenchmarksCursorIDPage[
|
|
220
|
+
) -> SyncBenchmarksCursorIDPage[BenchmarkListPublicResponse]:
|
|
214
221
|
"""
|
|
215
222
|
List all public benchmarks matching filter.
|
|
216
223
|
|
|
@@ -229,7 +236,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
229
236
|
"""
|
|
230
237
|
return self._get_api_list(
|
|
231
238
|
"/v1/benchmarks/list_public",
|
|
232
|
-
page=SyncBenchmarksCursorIDPage[
|
|
239
|
+
page=SyncBenchmarksCursorIDPage[BenchmarkListPublicResponse],
|
|
233
240
|
options=make_request_options(
|
|
234
241
|
extra_headers=extra_headers,
|
|
235
242
|
extra_query=extra_query,
|
|
@@ -243,7 +250,7 @@ class BenchmarksResource(SyncAPIResource):
|
|
|
243
250
|
benchmark_list_public_params.BenchmarkListPublicParams,
|
|
244
251
|
),
|
|
245
252
|
),
|
|
246
|
-
model=
|
|
253
|
+
model=BenchmarkListPublicResponse,
|
|
247
254
|
)
|
|
248
255
|
|
|
249
256
|
def start_run(
|
|
@@ -328,6 +335,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
328
335
|
async def create(
|
|
329
336
|
self,
|
|
330
337
|
*,
|
|
338
|
+
is_public: bool,
|
|
331
339
|
name: str,
|
|
332
340
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
333
341
|
scenario_ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
@@ -338,11 +346,13 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
338
346
|
extra_body: Body | None = None,
|
|
339
347
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
340
348
|
idempotency_key: str | None = None,
|
|
341
|
-
) ->
|
|
349
|
+
) -> BenchmarkCreateResponse:
|
|
342
350
|
"""
|
|
343
351
|
Create a Benchmark with a set of Scenarios.
|
|
344
352
|
|
|
345
353
|
Args:
|
|
354
|
+
is_public: Whether this benchmark is public.
|
|
355
|
+
|
|
346
356
|
name: The name of the Benchmark.
|
|
347
357
|
|
|
348
358
|
metadata: User defined metadata to attach to the benchmark for organization.
|
|
@@ -363,6 +373,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
363
373
|
"/v1/benchmarks",
|
|
364
374
|
body=await async_maybe_transform(
|
|
365
375
|
{
|
|
376
|
+
"is_public": is_public,
|
|
366
377
|
"name": name,
|
|
367
378
|
"metadata": metadata,
|
|
368
379
|
"scenario_ids": scenario_ids,
|
|
@@ -376,7 +387,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
376
387
|
timeout=timeout,
|
|
377
388
|
idempotency_key=idempotency_key,
|
|
378
389
|
),
|
|
379
|
-
cast_to=
|
|
390
|
+
cast_to=BenchmarkCreateResponse,
|
|
380
391
|
)
|
|
381
392
|
|
|
382
393
|
async def retrieve(
|
|
@@ -389,7 +400,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
389
400
|
extra_query: Query | None = None,
|
|
390
401
|
extra_body: Body | None = None,
|
|
391
402
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
392
|
-
) ->
|
|
403
|
+
) -> BenchmarkRetrieveResponse:
|
|
393
404
|
"""
|
|
394
405
|
Get a previously created Benchmark.
|
|
395
406
|
|
|
@@ -409,7 +420,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
409
420
|
options=make_request_options(
|
|
410
421
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
411
422
|
),
|
|
412
|
-
cast_to=
|
|
423
|
+
cast_to=BenchmarkRetrieveResponse,
|
|
413
424
|
)
|
|
414
425
|
|
|
415
426
|
def list(
|
|
@@ -423,7 +434,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
423
434
|
extra_query: Query | None = None,
|
|
424
435
|
extra_body: Body | None = None,
|
|
425
436
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
426
|
-
) -> AsyncPaginator[
|
|
437
|
+
) -> AsyncPaginator[BenchmarkListResponse, AsyncBenchmarksCursorIDPage[BenchmarkListResponse]]:
|
|
427
438
|
"""
|
|
428
439
|
List all Benchmarks matching filter.
|
|
429
440
|
|
|
@@ -442,7 +453,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
442
453
|
"""
|
|
443
454
|
return self._get_api_list(
|
|
444
455
|
"/v1/benchmarks",
|
|
445
|
-
page=AsyncBenchmarksCursorIDPage[
|
|
456
|
+
page=AsyncBenchmarksCursorIDPage[BenchmarkListResponse],
|
|
446
457
|
options=make_request_options(
|
|
447
458
|
extra_headers=extra_headers,
|
|
448
459
|
extra_query=extra_query,
|
|
@@ -456,7 +467,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
456
467
|
benchmark_list_params.BenchmarkListParams,
|
|
457
468
|
),
|
|
458
469
|
),
|
|
459
|
-
model=
|
|
470
|
+
model=BenchmarkListResponse,
|
|
460
471
|
)
|
|
461
472
|
|
|
462
473
|
def list_public(
|
|
@@ -470,7 +481,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
470
481
|
extra_query: Query | None = None,
|
|
471
482
|
extra_body: Body | None = None,
|
|
472
483
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
473
|
-
) -> AsyncPaginator[
|
|
484
|
+
) -> AsyncPaginator[BenchmarkListPublicResponse, AsyncBenchmarksCursorIDPage[BenchmarkListPublicResponse]]:
|
|
474
485
|
"""
|
|
475
486
|
List all public benchmarks matching filter.
|
|
476
487
|
|
|
@@ -489,7 +500,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
489
500
|
"""
|
|
490
501
|
return self._get_api_list(
|
|
491
502
|
"/v1/benchmarks/list_public",
|
|
492
|
-
page=AsyncBenchmarksCursorIDPage[
|
|
503
|
+
page=AsyncBenchmarksCursorIDPage[BenchmarkListPublicResponse],
|
|
493
504
|
options=make_request_options(
|
|
494
505
|
extra_headers=extra_headers,
|
|
495
506
|
extra_query=extra_query,
|
|
@@ -503,7 +514,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
|
|
|
503
514
|
benchmark_list_public_params.BenchmarkListPublicParams,
|
|
504
515
|
),
|
|
505
516
|
),
|
|
506
|
-
model=
|
|
517
|
+
model=BenchmarkListPublicResponse,
|
|
507
518
|
)
|
|
508
519
|
|
|
509
520
|
async def start_run(
|