runloop-api-client 0.24.0__tar.gz → 0.26.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.26.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/CHANGELOG.md +42 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/PKG-INFO +21 -2
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/README.md +20 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/SECURITY.md +2 -2
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/api.md +1 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/pyproject.toml +1 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_base_client.py +9 -98
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_client.py +2 -2
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_files.py +1 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/scenarios.py +162 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/__init__.py +1 -0
- runloop_api_client-0.26.0/src/runloop_api_client/types/scenario_update_params.py +36 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_function.py +1 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_function_param.py +1 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_scenarios.py +246 -0
- runloop_api_client-0.26.0/uv.lock +295 -0
- runloop_api_client-0.24.0/.release-please-manifest.json +0 -3
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/.gitignore +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/LICENSE +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/examples/.keep +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/mypy.ini +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/noxfile.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/release-please-config.json +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/requirements.lock +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/blueprints.py +2 -2
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/devboxes.py +1 -1
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_devboxes.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.26.0 (2025-03-04)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.25.0...v0.26.0](https://github.com/runloopai/api-client-python/compare/v0.25.0...v0.26.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* cp ([4675ff3](https://github.com/runloopai/api-client-python/commit/4675ff37c7bfbce34db1a2b1a2b95bfc90407c57))
|
|
10
|
+
* cp ([a0e7c26](https://github.com/runloopai/api-client-python/commit/a0e7c26d92b1f846e8e27ad80b4bcc3eec9a6b4c))
|
|
11
|
+
* cp ([2ed5f7a](https://github.com/runloopai/api-client-python/commit/2ed5f7a944582d29a5284ddc7ff455832dede033))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Chores
|
|
15
|
+
|
|
16
|
+
* **docs:** update client docstring ([#559](https://github.com/runloopai/api-client-python/issues/559)) ([aae64ef](https://github.com/runloopai/api-client-python/commit/aae64ef8fa7a03db23695b7dae48dba6d7b1d1e3))
|
|
17
|
+
* **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))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Documentation
|
|
21
|
+
|
|
22
|
+
* 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))
|
|
23
|
+
|
|
24
|
+
## 0.25.0 (2025-02-26)
|
|
25
|
+
|
|
26
|
+
Full Changelog: [v0.24.0...v0.25.0](https://github.com/runloopai/api-client-python/compare/v0.24.0...v0.25.0)
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **api:** api update ([#555](https://github.com/runloopai/api-client-python/issues/555)) ([7c1d55d](https://github.com/runloopai/api-client-python/commit/7c1d55de7fe3f157a30080ddc7e7f0ea5053304a))
|
|
31
|
+
* **client:** allow passing `NotGiven` for body ([#553](https://github.com/runloopai/api-client-python/issues/553)) ([dc21cae](https://github.com/runloopai/api-client-python/commit/dc21caec97e15ccde2c396c6a2f0fce0f2bad313))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* **client:** mark some request bodies as optional ([dc21cae](https://github.com/runloopai/api-client-python/commit/dc21caec97e15ccde2c396c6a2f0fce0f2bad313))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Chores
|
|
40
|
+
|
|
41
|
+
* **internal:** codegen related update ([#551](https://github.com/runloopai/api-client-python/issues/551)) ([8dd01a1](https://github.com/runloopai/api-client-python/commit/8dd01a1e69d82ccbc4f05b72bd980d16cb93e5e5))
|
|
42
|
+
* **internal:** fix devcontainers setup ([#554](https://github.com/runloopai/api-client-python/issues/554)) ([9260eb4](https://github.com/runloopai/api-client-python/commit/9260eb4443fc50ecb07e99af2307896e32027158))
|
|
43
|
+
* **internal:** properly set __pydantic_private__ ([#556](https://github.com/runloopai/api-client-python/issues/556)) ([4496830](https://github.com/runloopai/api-client-python/commit/449683002d1fb31b01c4d167973058684b7ee654))
|
|
44
|
+
|
|
3
45
|
## 0.24.0 (2025-02-19)
|
|
4
46
|
|
|
5
47
|
Full Changelog: [v0.23.0...v0.24.0](https://github.com/runloopai/api-client-python/compare/v0.23.0...v0.24.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.26.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
|
|
@@ -38,7 +38,7 @@ The Runloop Python library provides convenient access to the Runloop REST API fr
|
|
|
38
38
|
application. The library includes type definitions for all request params and response fields,
|
|
39
39
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
|
40
40
|
|
|
41
|
-
It is generated with [Stainless](https://www.
|
|
41
|
+
It is generated with [Stainless](https://www.stainless.com/).
|
|
42
42
|
|
|
43
43
|
## Documentation
|
|
44
44
|
|
|
@@ -168,6 +168,25 @@ for devbox in first_page.devboxes:
|
|
|
168
168
|
# Remove `await` for non-async usage.
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
+
## File uploads
|
|
172
|
+
|
|
173
|
+
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)`.
|
|
174
|
+
|
|
175
|
+
```python
|
|
176
|
+
from pathlib import Path
|
|
177
|
+
from runloop_api_client import Runloop
|
|
178
|
+
|
|
179
|
+
client = Runloop()
|
|
180
|
+
|
|
181
|
+
client.devboxes.upload_file(
|
|
182
|
+
id="id",
|
|
183
|
+
path="path",
|
|
184
|
+
file=Path("/path/to/file"),
|
|
185
|
+
)
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
|
|
189
|
+
|
|
171
190
|
## Handling errors
|
|
172
191
|
|
|
173
192
|
When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `runloop_api_client.APIConnectionError` is raised.
|
|
@@ -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,25 @@ for devbox in first_page.devboxes:
|
|
|
136
136
|
# Remove `await` for non-async usage.
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
+
## File uploads
|
|
140
|
+
|
|
141
|
+
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)`.
|
|
142
|
+
|
|
143
|
+
```python
|
|
144
|
+
from pathlib import Path
|
|
145
|
+
from runloop_api_client import Runloop
|
|
146
|
+
|
|
147
|
+
client = Runloop()
|
|
148
|
+
|
|
149
|
+
client.devboxes.upload_file(
|
|
150
|
+
id="id",
|
|
151
|
+
path="path",
|
|
152
|
+
file=Path("/path/to/file"),
|
|
153
|
+
)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
|
|
157
|
+
|
|
139
158
|
## Handling errors
|
|
140
159
|
|
|
141
160
|
When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `runloop_api_client.APIConnectionError` is raised.
|
|
@@ -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
|
|
|
@@ -278,6 +278,7 @@ Methods:
|
|
|
278
278
|
|
|
279
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/scenario_view.py">ScenarioView</a></code>
|
|
280
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/scenario_view.py">ScenarioView</a></code>
|
|
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/scenario_view.py">ScenarioView</a></code>
|
|
281
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/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
|
|
282
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/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
|
|
283
284
|
- <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>
|
{runloop_api_client-0.24.0 → runloop_api_client-0.26.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,19 +50,16 @@ 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,
|
|
64
60
|
)
|
|
65
61
|
from ._utils import is_dict, is_list, asyncify, is_given, lru_cache, is_mapping
|
|
66
|
-
from ._compat import model_copy, model_dump
|
|
62
|
+
from ._compat import PYDANTIC_V2, model_copy, model_dump
|
|
67
63
|
from ._models import GenericModel, FinalRequestOptions, validate_type, construct_type
|
|
68
64
|
from ._response import (
|
|
69
65
|
APIResponse,
|
|
@@ -207,6 +203,9 @@ class BaseSyncPage(BasePage[_T], Generic[_T]):
|
|
|
207
203
|
model: Type[_T],
|
|
208
204
|
options: FinalRequestOptions,
|
|
209
205
|
) -> None:
|
|
206
|
+
if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
|
|
207
|
+
self.__pydantic_private__ = {}
|
|
208
|
+
|
|
210
209
|
self._model = model
|
|
211
210
|
self._client = client
|
|
212
211
|
self._options = options
|
|
@@ -292,6 +291,9 @@ class BaseAsyncPage(BasePage[_T], Generic[_T]):
|
|
|
292
291
|
client: AsyncAPIClient,
|
|
293
292
|
options: FinalRequestOptions,
|
|
294
293
|
) -> None:
|
|
294
|
+
if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
|
|
295
|
+
self.__pydantic_private__ = {}
|
|
296
|
+
|
|
295
297
|
self._model = model
|
|
296
298
|
self._client = client
|
|
297
299
|
self._options = options
|
|
@@ -331,9 +333,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
331
333
|
_base_url: URL
|
|
332
334
|
max_retries: int
|
|
333
335
|
timeout: Union[float, Timeout, None]
|
|
334
|
-
_limits: httpx.Limits
|
|
335
|
-
_proxies: ProxiesTypes | None
|
|
336
|
-
_transport: Transport | AsyncTransport | None
|
|
337
336
|
_strict_response_validation: bool
|
|
338
337
|
_idempotency_header: str | None
|
|
339
338
|
_default_stream_cls: type[_DefaultStreamT] | None = None
|
|
@@ -346,9 +345,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
346
345
|
_strict_response_validation: bool,
|
|
347
346
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
|
348
347
|
timeout: float | Timeout | None = DEFAULT_TIMEOUT,
|
|
349
|
-
limits: httpx.Limits,
|
|
350
|
-
transport: Transport | AsyncTransport | None,
|
|
351
|
-
proxies: ProxiesTypes | None,
|
|
352
348
|
custom_headers: Mapping[str, str] | None = None,
|
|
353
349
|
custom_query: Mapping[str, object] | None = None,
|
|
354
350
|
) -> None:
|
|
@@ -356,9 +352,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
356
352
|
self._base_url = self._enforce_trailing_slash(URL(base_url))
|
|
357
353
|
self.max_retries = max_retries
|
|
358
354
|
self.timeout = timeout
|
|
359
|
-
self._limits = limits
|
|
360
|
-
self._proxies = proxies
|
|
361
|
-
self._transport = transport
|
|
362
355
|
self._custom_headers = custom_headers or {}
|
|
363
356
|
self._custom_query = custom_query or {}
|
|
364
357
|
self._strict_response_validation = _strict_response_validation
|
|
@@ -518,7 +511,7 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
518
511
|
# so that passing a `TypedDict` doesn't cause an error.
|
|
519
512
|
# https://github.com/microsoft/pyright/issues/3526#event-6715453066
|
|
520
513
|
params=self.qs.stringify(cast(Mapping[str, Any], params)) if params else None,
|
|
521
|
-
json=json_data,
|
|
514
|
+
json=json_data if is_given(json_data) else None,
|
|
522
515
|
files=files,
|
|
523
516
|
**kwargs,
|
|
524
517
|
)
|
|
@@ -794,46 +787,11 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
794
787
|
base_url: str | URL,
|
|
795
788
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
|
796
789
|
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
|
797
|
-
transport: Transport | None = None,
|
|
798
|
-
proxies: ProxiesTypes | None = None,
|
|
799
|
-
limits: Limits | None = None,
|
|
800
790
|
http_client: httpx.Client | None = None,
|
|
801
791
|
custom_headers: Mapping[str, str] | None = None,
|
|
802
792
|
custom_query: Mapping[str, object] | None = None,
|
|
803
793
|
_strict_response_validation: bool,
|
|
804
794
|
) -> None:
|
|
805
|
-
kwargs: dict[str, Any] = {}
|
|
806
|
-
if limits is not None:
|
|
807
|
-
warnings.warn(
|
|
808
|
-
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
|
|
809
|
-
category=DeprecationWarning,
|
|
810
|
-
stacklevel=3,
|
|
811
|
-
)
|
|
812
|
-
if http_client is not None:
|
|
813
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
|
|
814
|
-
else:
|
|
815
|
-
limits = DEFAULT_CONNECTION_LIMITS
|
|
816
|
-
|
|
817
|
-
if transport is not None:
|
|
818
|
-
kwargs["transport"] = transport
|
|
819
|
-
warnings.warn(
|
|
820
|
-
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
|
|
821
|
-
category=DeprecationWarning,
|
|
822
|
-
stacklevel=3,
|
|
823
|
-
)
|
|
824
|
-
if http_client is not None:
|
|
825
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
|
|
826
|
-
|
|
827
|
-
if proxies is not None:
|
|
828
|
-
kwargs["proxies"] = proxies
|
|
829
|
-
warnings.warn(
|
|
830
|
-
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
|
|
831
|
-
category=DeprecationWarning,
|
|
832
|
-
stacklevel=3,
|
|
833
|
-
)
|
|
834
|
-
if http_client is not None:
|
|
835
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
|
|
836
|
-
|
|
837
795
|
if not is_given(timeout):
|
|
838
796
|
# if the user passed in a custom http client with a non-default
|
|
839
797
|
# timeout set then we use that timeout.
|
|
@@ -854,12 +812,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
854
812
|
|
|
855
813
|
super().__init__(
|
|
856
814
|
version=version,
|
|
857
|
-
limits=limits,
|
|
858
815
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
859
816
|
timeout=cast(Timeout, timeout),
|
|
860
|
-
proxies=proxies,
|
|
861
817
|
base_url=base_url,
|
|
862
|
-
transport=transport,
|
|
863
818
|
max_retries=max_retries,
|
|
864
819
|
custom_query=custom_query,
|
|
865
820
|
custom_headers=custom_headers,
|
|
@@ -869,9 +824,6 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
869
824
|
base_url=base_url,
|
|
870
825
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
871
826
|
timeout=cast(Timeout, timeout),
|
|
872
|
-
limits=limits,
|
|
873
|
-
follow_redirects=True,
|
|
874
|
-
**kwargs, # type: ignore
|
|
875
827
|
)
|
|
876
828
|
|
|
877
829
|
def is_closed(self) -> bool:
|
|
@@ -1366,45 +1318,10 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1366
1318
|
_strict_response_validation: bool,
|
|
1367
1319
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
|
1368
1320
|
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
|
1369
|
-
transport: AsyncTransport | None = None,
|
|
1370
|
-
proxies: ProxiesTypes | None = None,
|
|
1371
|
-
limits: Limits | None = None,
|
|
1372
1321
|
http_client: httpx.AsyncClient | None = None,
|
|
1373
1322
|
custom_headers: Mapping[str, str] | None = None,
|
|
1374
1323
|
custom_query: Mapping[str, object] | None = None,
|
|
1375
1324
|
) -> None:
|
|
1376
|
-
kwargs: dict[str, Any] = {}
|
|
1377
|
-
if limits is not None:
|
|
1378
|
-
warnings.warn(
|
|
1379
|
-
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
|
|
1380
|
-
category=DeprecationWarning,
|
|
1381
|
-
stacklevel=3,
|
|
1382
|
-
)
|
|
1383
|
-
if http_client is not None:
|
|
1384
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
|
|
1385
|
-
else:
|
|
1386
|
-
limits = DEFAULT_CONNECTION_LIMITS
|
|
1387
|
-
|
|
1388
|
-
if transport is not None:
|
|
1389
|
-
kwargs["transport"] = transport
|
|
1390
|
-
warnings.warn(
|
|
1391
|
-
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
|
|
1392
|
-
category=DeprecationWarning,
|
|
1393
|
-
stacklevel=3,
|
|
1394
|
-
)
|
|
1395
|
-
if http_client is not None:
|
|
1396
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
|
|
1397
|
-
|
|
1398
|
-
if proxies is not None:
|
|
1399
|
-
kwargs["proxies"] = proxies
|
|
1400
|
-
warnings.warn(
|
|
1401
|
-
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
|
|
1402
|
-
category=DeprecationWarning,
|
|
1403
|
-
stacklevel=3,
|
|
1404
|
-
)
|
|
1405
|
-
if http_client is not None:
|
|
1406
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
|
|
1407
|
-
|
|
1408
1325
|
if not is_given(timeout):
|
|
1409
1326
|
# if the user passed in a custom http client with a non-default
|
|
1410
1327
|
# timeout set then we use that timeout.
|
|
@@ -1426,11 +1343,8 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1426
1343
|
super().__init__(
|
|
1427
1344
|
version=version,
|
|
1428
1345
|
base_url=base_url,
|
|
1429
|
-
limits=limits,
|
|
1430
1346
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
1431
1347
|
timeout=cast(Timeout, timeout),
|
|
1432
|
-
proxies=proxies,
|
|
1433
|
-
transport=transport,
|
|
1434
1348
|
max_retries=max_retries,
|
|
1435
1349
|
custom_query=custom_query,
|
|
1436
1350
|
custom_headers=custom_headers,
|
|
@@ -1440,9 +1354,6 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1440
1354
|
base_url=base_url,
|
|
1441
1355
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
|
1442
1356
|
timeout=cast(Timeout, timeout),
|
|
1443
|
-
limits=limits,
|
|
1444
|
-
follow_redirects=True,
|
|
1445
|
-
**kwargs, # type: ignore
|
|
1446
1357
|
)
|
|
1447
1358
|
|
|
1448
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
|
"""
|
|
@@ -34,7 +34,7 @@ def assert_is_file_content(obj: object, *, key: str | None = None) -> None:
|
|
|
34
34
|
if not is_file_content(obj):
|
|
35
35
|
prefix = f"Expected entry at `{key}`" if key is not None else f"Expected file input `{obj!r}`"
|
|
36
36
|
raise RuntimeError(
|
|
37
|
-
f"{prefix} to be bytes, an io.IOBase instance, PathLike or a tuple but received {type(obj)} instead."
|
|
37
|
+
f"{prefix} to be bytes, an io.IOBase instance, PathLike or a tuple but received {type(obj)} instead. See https://github.com/runloopai/api-client-python/tree/main#file-uploads"
|
|
38
38
|
) from None
|
|
39
39
|
|
|
40
40
|
|