runloop-api-client 0.25.0__tar.gz → 0.27.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.27.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/CHANGELOG.md +47 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/PKG-INFO +31 -5
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/README.md +28 -1
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/SECURITY.md +2 -2
- runloop_api_client-0.27.0/bin/publish-pypi +6 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/pyproject.toml +2 -4
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_base_client.py +1 -96
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_client.py +2 -2
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_models.py +5 -2
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/scenarios/runs.py +8 -4
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/scenarios/scenarios.py +5 -1
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_run_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/repository_connection_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_list_view.py +2 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_run_list_view.py +2 -0
- runloop_api_client-0.27.0/src/runloop_api_client/types/scoring_function.py +23 -0
- runloop_api_client-0.27.0/src/runloop_api_client/types/scoring_function_param.py +121 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared/launch_parameters.py +6 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +6 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/scenarios/test_scorers.py +4 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/test_blueprints.py +8 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/test_devboxes.py +4 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/test_scenarios.py +102 -26
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_models.py +32 -0
- runloop_api_client-0.27.0/uv.lock +295 -0
- runloop_api_client-0.25.0/.release-please-manifest.json +0 -3
- runloop_api_client-0.25.0/bin/publish-pypi +0 -9
- runloop_api_client-0.25.0/src/runloop_api_client/types/scoring_function.py +0 -39
- runloop_api_client-0.25.0/src/runloop_api_client/types/scoring_function_param.py +0 -40
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/.gitignore +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/LICENSE +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/api.md +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/examples/.keep +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/mypy.ini +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/noxfile.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/release-please-config.json +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/requirements.lock +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/blueprints.py +2 -2
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/devboxes.py +1 -1
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.27.0 (2025-03-21)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.26.0...v0.27.0](https://github.com/runloopai/api-client-python/compare/v0.26.0...v0.27.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([#573](https://github.com/runloopai/api-client-python/issues/573)) ([091f833](https://github.com/runloopai/api-client-python/commit/091f833d80096bb0470d505c0a0145648e52819b))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **ci:** ensure pip is always available ([#571](https://github.com/runloopai/api-client-python/issues/571)) ([ddb9362](https://github.com/runloopai/api-client-python/commit/ddb93629704f116cafb2123dc8b302ddff883bb8))
|
|
15
|
+
* **ci:** remove publishing patch ([#572](https://github.com/runloopai/api-client-python/issues/572)) ([c71815a](https://github.com/runloopai/api-client-python/commit/c71815aaaf47e404e1bf3d44c6b26b5ed0b05054))
|
|
16
|
+
* **types:** handle more discriminated union shapes ([#570](https://github.com/runloopai/api-client-python/issues/570)) ([297cfbe](https://github.com/runloopai/api-client-python/commit/297cfbe93bfdcbbafd44a4501d5a81a7fb1651bd))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Chores
|
|
20
|
+
|
|
21
|
+
* **internal:** bump rye to 0.44.0 ([#569](https://github.com/runloopai/api-client-python/issues/569)) ([dd5b79a](https://github.com/runloopai/api-client-python/commit/dd5b79a221fff5b38fdbd655d78254fe7140fd73))
|
|
22
|
+
* **internal:** remove extra empty newlines ([#567](https://github.com/runloopai/api-client-python/issues/567)) ([49f34bd](https://github.com/runloopai/api-client-python/commit/49f34bd0b733f2a10592fff098d379501df3ac86))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Documentation
|
|
26
|
+
|
|
27
|
+
* revise readme docs about nested params ([#564](https://github.com/runloopai/api-client-python/issues/564)) ([a2df5d3](https://github.com/runloopai/api-client-python/commit/a2df5d3c9b32ab941ee83d3f5cac8b874b7bbe28))
|
|
28
|
+
|
|
29
|
+
## 0.26.0 (2025-03-04)
|
|
30
|
+
|
|
31
|
+
Full Changelog: [v0.25.0...v0.26.0](https://github.com/runloopai/api-client-python/compare/v0.25.0...v0.26.0)
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* cp ([4675ff3](https://github.com/runloopai/api-client-python/commit/4675ff37c7bfbce34db1a2b1a2b95bfc90407c57))
|
|
36
|
+
* cp ([a0e7c26](https://github.com/runloopai/api-client-python/commit/a0e7c26d92b1f846e8e27ad80b4bcc3eec9a6b4c))
|
|
37
|
+
* cp ([2ed5f7a](https://github.com/runloopai/api-client-python/commit/2ed5f7a944582d29a5284ddc7ff455832dede033))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Chores
|
|
41
|
+
|
|
42
|
+
* **docs:** update client docstring ([#559](https://github.com/runloopai/api-client-python/issues/559)) ([aae64ef](https://github.com/runloopai/api-client-python/commit/aae64ef8fa7a03db23695b7dae48dba6d7b1d1e3))
|
|
43
|
+
* **internal:** remove unused http client options forwarding ([#561](https://github.com/runloopai/api-client-python/issues/561)) ([39fcd59](https://github.com/runloopai/api-client-python/commit/39fcd59664517ad7a088a087011cb38f1d9a58ae))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Documentation
|
|
47
|
+
|
|
48
|
+
* update URLs from stainlessapi.com to stainless.com ([#558](https://github.com/runloopai/api-client-python/issues/558)) ([cc0b37d](https://github.com/runloopai/api-client-python/commit/cc0b37d74d46c7796ae72a8d496ee733e50b70c0))
|
|
49
|
+
|
|
3
50
|
## 0.25.0 (2025-02-26)
|
|
4
51
|
|
|
5
52
|
Full Changelog: [v0.24.0...v0.25.0](https://github.com/runloopai/api-client-python/compare/v0.24.0...v0.25.0)
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.27.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
|
|
7
7
|
Author-email: Runloop <support@runloop.ai>
|
|
8
|
-
License
|
|
9
|
-
License-File: LICENSE
|
|
8
|
+
License: MIT
|
|
10
9
|
Classifier: Intended Audience :: Developers
|
|
11
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
11
|
Classifier: Operating System :: MacOS
|
|
@@ -38,7 +37,7 @@ The Runloop Python library provides convenient access to the Runloop REST API fr
|
|
|
38
37
|
application. The library includes type definitions for all request params and response fields,
|
|
39
38
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
|
40
39
|
|
|
41
|
-
It is generated with [Stainless](https://www.
|
|
40
|
+
It is generated with [Stainless](https://www.stainless.com/).
|
|
42
41
|
|
|
43
42
|
## Documentation
|
|
44
43
|
|
|
@@ -168,6 +167,33 @@ for devbox in first_page.devboxes:
|
|
|
168
167
|
# Remove `await` for non-async usage.
|
|
169
168
|
```
|
|
170
169
|
|
|
170
|
+
## Nested params
|
|
171
|
+
|
|
172
|
+
Nested parameters are dictionaries, typed using `TypedDict`, for example:
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from runloop_api_client import Runloop
|
|
176
|
+
|
|
177
|
+
client = Runloop()
|
|
178
|
+
|
|
179
|
+
blueprint_view = client.blueprints.create(
|
|
180
|
+
name="name",
|
|
181
|
+
launch_parameters={
|
|
182
|
+
"after_idle": {
|
|
183
|
+
"idle_time_seconds": 0,
|
|
184
|
+
"on_idle": "shutdown",
|
|
185
|
+
},
|
|
186
|
+
"available_ports": [0],
|
|
187
|
+
"custom_cpu_cores": 0,
|
|
188
|
+
"custom_gb_memory": 0,
|
|
189
|
+
"keep_alive_time_seconds": 0,
|
|
190
|
+
"launch_commands": ["string"],
|
|
191
|
+
"resource_size_request": "SMALL",
|
|
192
|
+
},
|
|
193
|
+
)
|
|
194
|
+
print(blueprint_view.launch_parameters)
|
|
195
|
+
```
|
|
196
|
+
|
|
171
197
|
## File uploads
|
|
172
198
|
|
|
173
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)`.
|
|
@@ -6,7 +6,7 @@ The Runloop Python library provides convenient access to the Runloop REST API fr
|
|
|
6
6
|
application. The library includes type definitions for all request params and response fields,
|
|
7
7
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
|
8
8
|
|
|
9
|
-
It is generated with [Stainless](https://www.
|
|
9
|
+
It is generated with [Stainless](https://www.stainless.com/).
|
|
10
10
|
|
|
11
11
|
## Documentation
|
|
12
12
|
|
|
@@ -136,6 +136,33 @@ for devbox in first_page.devboxes:
|
|
|
136
136
|
# Remove `await` for non-async usage.
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
+
## Nested params
|
|
140
|
+
|
|
141
|
+
Nested parameters are dictionaries, typed using `TypedDict`, for example:
|
|
142
|
+
|
|
143
|
+
```python
|
|
144
|
+
from runloop_api_client import Runloop
|
|
145
|
+
|
|
146
|
+
client = Runloop()
|
|
147
|
+
|
|
148
|
+
blueprint_view = client.blueprints.create(
|
|
149
|
+
name="name",
|
|
150
|
+
launch_parameters={
|
|
151
|
+
"after_idle": {
|
|
152
|
+
"idle_time_seconds": 0,
|
|
153
|
+
"on_idle": "shutdown",
|
|
154
|
+
},
|
|
155
|
+
"available_ports": [0],
|
|
156
|
+
"custom_cpu_cores": 0,
|
|
157
|
+
"custom_gb_memory": 0,
|
|
158
|
+
"keep_alive_time_seconds": 0,
|
|
159
|
+
"launch_commands": ["string"],
|
|
160
|
+
"resource_size_request": "SMALL",
|
|
161
|
+
},
|
|
162
|
+
)
|
|
163
|
+
print(blueprint_view.launch_parameters)
|
|
164
|
+
```
|
|
165
|
+
|
|
139
166
|
## File uploads
|
|
140
167
|
|
|
141
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)`.
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## Reporting Security Issues
|
|
4
4
|
|
|
5
|
-
This SDK is generated by [Stainless Software Inc](http://
|
|
5
|
+
This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
|
|
6
6
|
|
|
7
|
-
To report a security issue, please contact the Stainless team at security@
|
|
7
|
+
To report a security issue, please contact the Stainless team at security@stainless.com.
|
|
8
8
|
|
|
9
9
|
## Responsible Disclosure
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "runloop_api_client"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.27.0"
|
|
4
4
|
description = "The official Python library for the runloop API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "MIT"
|
|
@@ -38,7 +38,6 @@ Homepage = "https://github.com/runloopai/api-client-python"
|
|
|
38
38
|
Repository = "https://github.com/runloopai/api-client-python"
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
|
|
42
41
|
[tool.rye]
|
|
43
42
|
managed = true
|
|
44
43
|
# version pins are in requirements-dev.lock
|
|
@@ -87,7 +86,7 @@ typecheck = { chain = [
|
|
|
87
86
|
"typecheck:mypy" = "mypy ."
|
|
88
87
|
|
|
89
88
|
[build-system]
|
|
90
|
-
requires = ["hatchling", "hatch-fancy-pypi-readme"]
|
|
89
|
+
requires = ["hatchling==1.26.3", "hatch-fancy-pypi-readme"]
|
|
91
90
|
build-backend = "hatchling.build"
|
|
92
91
|
|
|
93
92
|
[tool.hatch.build]
|
|
@@ -152,7 +151,6 @@ reportImplicitOverride = true
|
|
|
152
151
|
reportImportCycles = false
|
|
153
152
|
reportPrivateUsage = false
|
|
154
153
|
|
|
155
|
-
|
|
156
154
|
[tool.ruff]
|
|
157
155
|
line-length = 120
|
|
158
156
|
output-format = "grouped"
|
{runloop_api_client-0.25.0 → runloop_api_client-0.27.0}/src/runloop_api_client/_base_client.py
RENAMED
|
@@ -9,7 +9,6 @@ import asyncio
|
|
|
9
9
|
import inspect
|
|
10
10
|
import logging
|
|
11
11
|
import platform
|
|
12
|
-
import warnings
|
|
13
12
|
import email.utils
|
|
14
13
|
from types import TracebackType
|
|
15
14
|
from random import random
|
|
@@ -36,7 +35,7 @@ import anyio
|
|
|
36
35
|
import httpx
|
|
37
36
|
import distro
|
|
38
37
|
import pydantic
|
|
39
|
-
from httpx import URL
|
|
38
|
+
from httpx import URL
|
|
40
39
|
from pydantic import PrivateAttr
|
|
41
40
|
|
|
42
41
|
from . import _exceptions
|
|
@@ -51,13 +50,10 @@ from ._types import (
|
|
|
51
50
|
Timeout,
|
|
52
51
|
NotGiven,
|
|
53
52
|
ResponseT,
|
|
54
|
-
Transport,
|
|
55
53
|
AnyMapping,
|
|
56
54
|
PostParser,
|
|
57
|
-
ProxiesTypes,
|
|
58
55
|
RequestFiles,
|
|
59
56
|
HttpxSendArgs,
|
|
60
|
-
AsyncTransport,
|
|
61
57
|
RequestOptions,
|
|
62
58
|
HttpxRequestFiles,
|
|
63
59
|
ModelBuilderProtocol,
|
|
@@ -337,9 +333,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
337
333
|
_base_url: URL
|
|
338
334
|
max_retries: int
|
|
339
335
|
timeout: Union[float, Timeout, None]
|
|
340
|
-
_limits: httpx.Limits
|
|
341
|
-
_proxies: ProxiesTypes | None
|
|
342
|
-
_transport: Transport | AsyncTransport | None
|
|
343
336
|
_strict_response_validation: bool
|
|
344
337
|
_idempotency_header: str | None
|
|
345
338
|
_default_stream_cls: type[_DefaultStreamT] | None = None
|
|
@@ -352,9 +345,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
352
345
|
_strict_response_validation: bool,
|
|
353
346
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
|
354
347
|
timeout: float | Timeout | None = DEFAULT_TIMEOUT,
|
|
355
|
-
limits: httpx.Limits,
|
|
356
|
-
transport: Transport | AsyncTransport | None,
|
|
357
|
-
proxies: ProxiesTypes | None,
|
|
358
348
|
custom_headers: Mapping[str, str] | None = None,
|
|
359
349
|
custom_query: Mapping[str, object] | None = None,
|
|
360
350
|
) -> None:
|
|
@@ -362,9 +352,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
362
352
|
self._base_url = self._enforce_trailing_slash(URL(base_url))
|
|
363
353
|
self.max_retries = max_retries
|
|
364
354
|
self.timeout = timeout
|
|
365
|
-
self._limits = limits
|
|
366
|
-
self._proxies = proxies
|
|
367
|
-
self._transport = transport
|
|
368
355
|
self._custom_headers = custom_headers or {}
|
|
369
356
|
self._custom_query = custom_query or {}
|
|
370
357
|
self._strict_response_validation = _strict_response_validation
|
|
@@ -800,46 +787,11 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
800
787
|
base_url: str | URL,
|
|
801
788
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
|
802
789
|
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
|
803
|
-
transport: Transport | None = None,
|
|
804
|
-
proxies: ProxiesTypes | None = None,
|
|
805
|
-
limits: Limits | None = None,
|
|
806
790
|
http_client: httpx.Client | None = None,
|
|
807
791
|
custom_headers: Mapping[str, str] | None = None,
|
|
808
792
|
custom_query: Mapping[str, object] | None = None,
|
|
809
793
|
_strict_response_validation: bool,
|
|
810
794
|
) -> None:
|
|
811
|
-
kwargs: dict[str, Any] = {}
|
|
812
|
-
if limits is not None:
|
|
813
|
-
warnings.warn(
|
|
814
|
-
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
|
|
815
|
-
category=DeprecationWarning,
|
|
816
|
-
stacklevel=3,
|
|
817
|
-
)
|
|
818
|
-
if http_client is not None:
|
|
819
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
|
|
820
|
-
else:
|
|
821
|
-
limits = DEFAULT_CONNECTION_LIMITS
|
|
822
|
-
|
|
823
|
-
if transport is not None:
|
|
824
|
-
kwargs["transport"] = transport
|
|
825
|
-
warnings.warn(
|
|
826
|
-
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
|
|
827
|
-
category=DeprecationWarning,
|
|
828
|
-
stacklevel=3,
|
|
829
|
-
)
|
|
830
|
-
if http_client is not None:
|
|
831
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
|
|
832
|
-
|
|
833
|
-
if proxies is not None:
|
|
834
|
-
kwargs["proxies"] = proxies
|
|
835
|
-
warnings.warn(
|
|
836
|
-
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
|
|
837
|
-
category=DeprecationWarning,
|
|
838
|
-
stacklevel=3,
|
|
839
|
-
)
|
|
840
|
-
if http_client is not None:
|
|
841
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
|
|
842
|
-
|
|
843
795
|
if not is_given(timeout):
|
|
844
796
|
# if the user passed in a custom http client with a non-default
|
|
845
797
|
# timeout set then we use that timeout.
|
|
@@ -860,12 +812,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
860
812
|
|
|
861
813
|
super().__init__(
|
|
862
814
|
version=version,
|
|
863
|
-
limits=limits,
|
|
864
815
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
865
816
|
timeout=cast(Timeout, timeout),
|
|
866
|
-
proxies=proxies,
|
|
867
817
|
base_url=base_url,
|
|
868
|
-
transport=transport,
|
|
869
818
|
max_retries=max_retries,
|
|
870
819
|
custom_query=custom_query,
|
|
871
820
|
custom_headers=custom_headers,
|
|
@@ -875,9 +824,6 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
875
824
|
base_url=base_url,
|
|
876
825
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
877
826
|
timeout=cast(Timeout, timeout),
|
|
878
|
-
limits=limits,
|
|
879
|
-
follow_redirects=True,
|
|
880
|
-
**kwargs, # type: ignore
|
|
881
827
|
)
|
|
882
828
|
|
|
883
829
|
def is_closed(self) -> bool:
|
|
@@ -1372,45 +1318,10 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1372
1318
|
_strict_response_validation: bool,
|
|
1373
1319
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
|
1374
1320
|
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
|
1375
|
-
transport: AsyncTransport | None = None,
|
|
1376
|
-
proxies: ProxiesTypes | None = None,
|
|
1377
|
-
limits: Limits | None = None,
|
|
1378
1321
|
http_client: httpx.AsyncClient | None = None,
|
|
1379
1322
|
custom_headers: Mapping[str, str] | None = None,
|
|
1380
1323
|
custom_query: Mapping[str, object] | None = None,
|
|
1381
1324
|
) -> None:
|
|
1382
|
-
kwargs: dict[str, Any] = {}
|
|
1383
|
-
if limits is not None:
|
|
1384
|
-
warnings.warn(
|
|
1385
|
-
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
|
|
1386
|
-
category=DeprecationWarning,
|
|
1387
|
-
stacklevel=3,
|
|
1388
|
-
)
|
|
1389
|
-
if http_client is not None:
|
|
1390
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
|
|
1391
|
-
else:
|
|
1392
|
-
limits = DEFAULT_CONNECTION_LIMITS
|
|
1393
|
-
|
|
1394
|
-
if transport is not None:
|
|
1395
|
-
kwargs["transport"] = transport
|
|
1396
|
-
warnings.warn(
|
|
1397
|
-
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
|
|
1398
|
-
category=DeprecationWarning,
|
|
1399
|
-
stacklevel=3,
|
|
1400
|
-
)
|
|
1401
|
-
if http_client is not None:
|
|
1402
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
|
|
1403
|
-
|
|
1404
|
-
if proxies is not None:
|
|
1405
|
-
kwargs["proxies"] = proxies
|
|
1406
|
-
warnings.warn(
|
|
1407
|
-
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
|
|
1408
|
-
category=DeprecationWarning,
|
|
1409
|
-
stacklevel=3,
|
|
1410
|
-
)
|
|
1411
|
-
if http_client is not None:
|
|
1412
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
|
|
1413
|
-
|
|
1414
1325
|
if not is_given(timeout):
|
|
1415
1326
|
# if the user passed in a custom http client with a non-default
|
|
1416
1327
|
# timeout set then we use that timeout.
|
|
@@ -1432,11 +1343,8 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1432
1343
|
super().__init__(
|
|
1433
1344
|
version=version,
|
|
1434
1345
|
base_url=base_url,
|
|
1435
|
-
limits=limits,
|
|
1436
1346
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
1437
1347
|
timeout=cast(Timeout, timeout),
|
|
1438
|
-
proxies=proxies,
|
|
1439
|
-
transport=transport,
|
|
1440
1348
|
max_retries=max_retries,
|
|
1441
1349
|
custom_query=custom_query,
|
|
1442
1350
|
custom_headers=custom_headers,
|
|
@@ -1446,9 +1354,6 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1446
1354
|
base_url=base_url,
|
|
1447
1355
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
1448
1356
|
timeout=cast(Timeout, timeout),
|
|
1449
|
-
limits=limits,
|
|
1450
|
-
follow_redirects=True,
|
|
1451
|
-
**kwargs, # type: ignore
|
|
1452
1357
|
)
|
|
1453
1358
|
|
|
1454
1359
|
def is_closed(self) -> bool:
|
|
@@ -74,7 +74,7 @@ class Runloop(SyncAPIClient):
|
|
|
74
74
|
# part of our public interface in the future.
|
|
75
75
|
_strict_response_validation: bool = False,
|
|
76
76
|
) -> None:
|
|
77
|
-
"""Construct a new synchronous
|
|
77
|
+
"""Construct a new synchronous Runloop client instance.
|
|
78
78
|
|
|
79
79
|
This automatically infers the `bearer_token` argument from the `RUNLOOP_API_KEY` environment variable if it is not provided.
|
|
80
80
|
"""
|
|
@@ -252,7 +252,7 @@ class AsyncRunloop(AsyncAPIClient):
|
|
|
252
252
|
# part of our public interface in the future.
|
|
253
253
|
_strict_response_validation: bool = False,
|
|
254
254
|
) -> None:
|
|
255
|
-
"""Construct a new async
|
|
255
|
+
"""Construct a new async AsyncRunloop client instance.
|
|
256
256
|
|
|
257
257
|
This automatically infers the `bearer_token` argument from the `RUNLOOP_API_KEY` environment variable if it is not provided.
|
|
258
258
|
"""
|
|
@@ -65,7 +65,7 @@ from ._compat import (
|
|
|
65
65
|
from ._constants import RAW_RESPONSE_HEADER
|
|
66
66
|
|
|
67
67
|
if TYPE_CHECKING:
|
|
68
|
-
from pydantic_core.core_schema import ModelField, LiteralSchema, ModelFieldsSchema
|
|
68
|
+
from pydantic_core.core_schema import ModelField, ModelSchema, LiteralSchema, ModelFieldsSchema
|
|
69
69
|
|
|
70
70
|
__all__ = ["BaseModel", "GenericModel"]
|
|
71
71
|
|
|
@@ -646,15 +646,18 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
|
|
|
646
646
|
|
|
647
647
|
def _extract_field_schema_pv2(model: type[BaseModel], field_name: str) -> ModelField | None:
|
|
648
648
|
schema = model.__pydantic_core_schema__
|
|
649
|
+
if schema["type"] == "definitions":
|
|
650
|
+
schema = schema["schema"]
|
|
651
|
+
|
|
649
652
|
if schema["type"] != "model":
|
|
650
653
|
return None
|
|
651
654
|
|
|
655
|
+
schema = cast("ModelSchema", schema)
|
|
652
656
|
fields_schema = schema["schema"]
|
|
653
657
|
if fields_schema["type"] != "model-fields":
|
|
654
658
|
return None
|
|
655
659
|
|
|
656
660
|
fields_schema = cast("ModelFieldsSchema", fields_schema)
|
|
657
|
-
|
|
658
661
|
field = fields_schema["fields"].get(field_name)
|
|
659
662
|
if not field:
|
|
660
663
|
return None
|
|
@@ -141,8 +141,10 @@ class RunsResource(SyncAPIResource):
|
|
|
141
141
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
142
142
|
idempotency_key: str | None = None,
|
|
143
143
|
) -> ScenarioRunView:
|
|
144
|
-
"""
|
|
145
|
-
|
|
144
|
+
"""Complete a currently running ScenarioRun.
|
|
145
|
+
|
|
146
|
+
Calling complete will shutdown
|
|
147
|
+
underlying Devbox resource.
|
|
146
148
|
|
|
147
149
|
Args:
|
|
148
150
|
extra_headers: Send extra headers
|
|
@@ -467,8 +469,10 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
467
469
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
468
470
|
idempotency_key: str | None = None,
|
|
469
471
|
) -> ScenarioRunView:
|
|
470
|
-
"""
|
|
471
|
-
|
|
472
|
+
"""Complete a currently running ScenarioRun.
|
|
473
|
+
|
|
474
|
+
Calling complete will shutdown
|
|
475
|
+
underlying Devbox resource.
|
|
472
476
|
|
|
473
477
|
Args:
|
|
474
478
|
extra_headers: Send extra headers
|
|
@@ -34,7 +34,6 @@ from ..._utils import (
|
|
|
34
34
|
maybe_transform,
|
|
35
35
|
async_maybe_transform,
|
|
36
36
|
)
|
|
37
|
-
from ...lib.polling import PollingConfig
|
|
38
37
|
from ..._compat import cached_property
|
|
39
38
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
40
39
|
from ..._response import (
|
|
@@ -44,6 +43,7 @@ from ..._response import (
|
|
|
44
43
|
async_to_streamed_response_wrapper,
|
|
45
44
|
)
|
|
46
45
|
from ...pagination import SyncScenariosCursorIDPage, AsyncScenariosCursorIDPage
|
|
46
|
+
from ...lib.polling import PollingConfig
|
|
47
47
|
from ..._base_client import AsyncPaginator, make_request_options
|
|
48
48
|
from ...types.scenario_view import ScenarioView
|
|
49
49
|
from ...types.scenario_run_view import ScenarioRunView
|
|
@@ -422,6 +422,7 @@ class ScenariosResource(SyncAPIResource):
|
|
|
422
422
|
*,
|
|
423
423
|
scenario_id: str,
|
|
424
424
|
benchmark_run_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
425
|
+
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
425
426
|
run_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
426
427
|
polling_config: PollingConfig | None = None,
|
|
427
428
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -455,6 +456,7 @@ class ScenariosResource(SyncAPIResource):
|
|
|
455
456
|
run = self.start_run(
|
|
456
457
|
scenario_id=scenario_id,
|
|
457
458
|
benchmark_run_id=benchmark_run_id,
|
|
459
|
+
metadata=metadata,
|
|
458
460
|
run_name=run_name,
|
|
459
461
|
extra_headers=extra_headers,
|
|
460
462
|
extra_query=extra_query,
|
|
@@ -842,6 +844,7 @@ class AsyncScenariosResource(AsyncAPIResource):
|
|
|
842
844
|
self,
|
|
843
845
|
scenario_id: str,
|
|
844
846
|
benchmark_run_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
847
|
+
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
845
848
|
run_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
846
849
|
polling_config: PollingConfig | None = None,
|
|
847
850
|
) -> ScenarioRunView:
|
|
@@ -863,6 +866,7 @@ class AsyncScenariosResource(AsyncAPIResource):
|
|
|
863
866
|
run = await self.start_run(
|
|
864
867
|
scenario_id=scenario_id,
|
|
865
868
|
benchmark_run_id=benchmark_run_id,
|
|
869
|
+
metadata=metadata,
|
|
866
870
|
run_name=run_name,
|
|
867
871
|
)
|
|
868
872
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
from .._models import BaseModel
|
|
5
|
+
|
|
6
|
+
__all__ = ["ScoringFunction"]
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ScoringFunction(BaseModel):
|
|
10
|
+
name: str
|
|
11
|
+
"""Name of scoring function. Names must only contain [a-zA-Z0-9_-]."""
|
|
12
|
+
|
|
13
|
+
scoring_function: ScoringFunction
|
|
14
|
+
"""The scoring function to use for evaluating this scenario.
|
|
15
|
+
|
|
16
|
+
The type field determines which built-in function to use.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
weight: float
|
|
20
|
+
"""Weight to apply to scoring function score.
|
|
21
|
+
|
|
22
|
+
Weights of all scoring functions should sum to 1.0.
|
|
23
|
+
"""
|