runloop-api-client 0.36.0__tar.gz → 0.38.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.38.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/CHANGELOG.md +23 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/CONTRIBUTING.md +1 -2
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/PKG-INFO +2 -18
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/README.md +1 -17
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/api.md +1 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/pyproject.toml +1 -1
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_base_client.py +6 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_models.py +2 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_types.py +2 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/benchmarks/runs.py +126 -1
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmarks/__init__.py +1 -0
- runloop_api_client-0.38.0/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +18 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/benchmarks/test_runs.py +97 -1
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_client.py +54 -0
- runloop_api_client-0.36.0/.release-please-manifest.json +0 -3
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/.gitignore +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/LICENSE +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/SECURITY.md +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/examples/.keep +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/mypy.ini +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/noxfile.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/release-please-config.json +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/requirements.lock +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/test_devboxes.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/test_scenarios.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/utils.py +0 -0
- {runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/uv.lock +0 -0
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.38.0 (2025-06-04)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.37.0...v0.38.0](https://github.com/runloopai/api-client-python/compare/v0.37.0...v0.38.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([ecb87bd](https://github.com/runloopai/api-client-python/commit/ecb87bdf471fffd90e742ff3021859eb3e94db8c))
|
|
10
|
+
|
|
11
|
+
## 0.37.0 (2025-06-04)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.36.0...v0.37.0](https://github.com/runloopai/api-client-python/compare/v0.36.0...v0.37.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([a167d0b](https://github.com/runloopai/api-client-python/commit/a167d0b2dbab59cb4ffbb029ea6dae22d0d7c2f4))
|
|
18
|
+
* **client:** add follow_redirects request option ([c29d24c](https://github.com/runloopai/api-client-python/commit/c29d24c5483ee2ca7e4d53dfdf8d40278f04f1fe))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Chores
|
|
22
|
+
|
|
23
|
+
* **docs:** remove reference to rye shell ([af51a95](https://github.com/runloopai/api-client-python/commit/af51a958afb08cc728959b154c52d0ca31f4206c))
|
|
24
|
+
* **docs:** remove unnecessary param examples ([a29553d](https://github.com/runloopai/api-client-python/commit/a29553d048fa85207e28e5b3dbc4ad9ea326ad86))
|
|
25
|
+
|
|
3
26
|
## 0.36.0 (2025-06-02)
|
|
4
27
|
|
|
5
28
|
Full Changelog: [v0.35.0...v0.36.0](https://github.com/runloopai/api-client-python/compare/v0.35.0...v0.36.0)
|
|
@@ -17,8 +17,7 @@ $ rye sync --all-features
|
|
|
17
17
|
You can then run scripts using `rye run python script.py` or by activating the virtual environment:
|
|
18
18
|
|
|
19
19
|
```sh
|
|
20
|
-
|
|
21
|
-
# or manually activate - https://docs.python.org/3/library/venv.html#how-venvs-work
|
|
20
|
+
# Activate the virtual environment - https://docs.python.org/3/library/venv.html#how-venvs-work
|
|
22
21
|
$ source .venv/bin/activate
|
|
23
22
|
|
|
24
23
|
# now you can omit the `rye run` prefix
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.38.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
|
|
@@ -177,23 +177,7 @@ from runloop_api_client import Runloop
|
|
|
177
177
|
client = Runloop()
|
|
178
178
|
|
|
179
179
|
devbox_view = client.devboxes.create(
|
|
180
|
-
launch_parameters={
|
|
181
|
-
"after_idle": {
|
|
182
|
-
"idle_time_seconds": 0,
|
|
183
|
-
"on_idle": "shutdown",
|
|
184
|
-
},
|
|
185
|
-
"architecture": "x86_64",
|
|
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": "X_SMALL",
|
|
192
|
-
"user_parameters": {
|
|
193
|
-
"uid": 0,
|
|
194
|
-
"username": "username",
|
|
195
|
-
},
|
|
196
|
-
},
|
|
180
|
+
launch_parameters={},
|
|
197
181
|
)
|
|
198
182
|
print(devbox_view.launch_parameters)
|
|
199
183
|
```
|
|
@@ -146,23 +146,7 @@ from runloop_api_client import Runloop
|
|
|
146
146
|
client = Runloop()
|
|
147
147
|
|
|
148
148
|
devbox_view = client.devboxes.create(
|
|
149
|
-
launch_parameters={
|
|
150
|
-
"after_idle": {
|
|
151
|
-
"idle_time_seconds": 0,
|
|
152
|
-
"on_idle": "shutdown",
|
|
153
|
-
},
|
|
154
|
-
"architecture": "x86_64",
|
|
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": "X_SMALL",
|
|
161
|
-
"user_parameters": {
|
|
162
|
-
"uid": 0,
|
|
163
|
-
"username": "username",
|
|
164
|
-
},
|
|
165
|
-
},
|
|
149
|
+
launch_parameters={},
|
|
166
150
|
)
|
|
167
151
|
print(devbox_view.launch_parameters)
|
|
168
152
|
```
|
|
@@ -35,6 +35,7 @@ Methods:
|
|
|
35
35
|
- <code title="get /v1/benchmarks/runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmarks/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
|
|
36
36
|
- <code title="post /v1/benchmarks/runs/{id}/cancel">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
37
37
|
- <code title="post /v1/benchmarks/runs/{id}/complete">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
38
|
+
- <code title="get /v1/benchmarks/runs/{id}/scenario_runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list_scenario_runs</a>(id, \*\*<a href="src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
|
|
38
39
|
|
|
39
40
|
# Blueprints
|
|
40
41
|
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_base_client.py
RENAMED
|
@@ -960,6 +960,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
960
960
|
if self.custom_auth is not None:
|
|
961
961
|
kwargs["auth"] = self.custom_auth
|
|
962
962
|
|
|
963
|
+
if options.follow_redirects is not None:
|
|
964
|
+
kwargs["follow_redirects"] = options.follow_redirects
|
|
965
|
+
|
|
963
966
|
log.debug("Sending HTTP Request: %s %s", request.method, request.url)
|
|
964
967
|
|
|
965
968
|
response = None
|
|
@@ -1460,6 +1463,9 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1460
1463
|
if self.custom_auth is not None:
|
|
1461
1464
|
kwargs["auth"] = self.custom_auth
|
|
1462
1465
|
|
|
1466
|
+
if options.follow_redirects is not None:
|
|
1467
|
+
kwargs["follow_redirects"] = options.follow_redirects
|
|
1468
|
+
|
|
1463
1469
|
log.debug("Sending HTTP Request: %s %s", request.method, request.url)
|
|
1464
1470
|
|
|
1465
1471
|
response = None
|
|
@@ -737,6 +737,7 @@ class FinalRequestOptionsInput(TypedDict, total=False):
|
|
|
737
737
|
idempotency_key: str
|
|
738
738
|
json_data: Body
|
|
739
739
|
extra_json: AnyMapping
|
|
740
|
+
follow_redirects: bool
|
|
740
741
|
|
|
741
742
|
|
|
742
743
|
@final
|
|
@@ -750,6 +751,7 @@ class FinalRequestOptions(pydantic.BaseModel):
|
|
|
750
751
|
files: Union[HttpxRequestFiles, None] = None
|
|
751
752
|
idempotency_key: Union[str, None] = None
|
|
752
753
|
post_parser: Union[Callable[[Any], Any], NotGiven] = NotGiven()
|
|
754
|
+
follow_redirects: Union[bool, None] = None
|
|
753
755
|
|
|
754
756
|
# It should be noted that we cannot use `json` here as that would override
|
|
755
757
|
# a BaseModel method in an incompatible fashion.
|
|
@@ -100,6 +100,7 @@ class RequestOptions(TypedDict, total=False):
|
|
|
100
100
|
params: Query
|
|
101
101
|
extra_json: AnyMapping
|
|
102
102
|
idempotency_key: str
|
|
103
|
+
follow_redirects: bool
|
|
103
104
|
|
|
104
105
|
|
|
105
106
|
# Sentinel class used until PEP 0661 is accepted
|
|
@@ -215,3 +216,4 @@ class _GenericAlias(Protocol):
|
|
|
215
216
|
|
|
216
217
|
class HttpxSendArgs(TypedDict, total=False):
|
|
217
218
|
auth: httpx.Auth
|
|
219
|
+
follow_redirects: bool
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
5
7
|
import httpx
|
|
6
8
|
|
|
7
9
|
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
@@ -16,7 +18,8 @@ from ..._response import (
|
|
|
16
18
|
)
|
|
17
19
|
from ...pagination import SyncBenchmarkRunsCursorIDPage, AsyncBenchmarkRunsCursorIDPage
|
|
18
20
|
from ..._base_client import AsyncPaginator, make_request_options
|
|
19
|
-
from ...types.benchmarks import run_list_params
|
|
21
|
+
from ...types.benchmarks import run_list_params, run_list_scenario_runs_params
|
|
22
|
+
from ...types.scenario_run_view import ScenarioRunView
|
|
20
23
|
from ...types.benchmark_run_view import BenchmarkRunView
|
|
21
24
|
|
|
22
25
|
__all__ = ["RunsResource", "AsyncRunsResource"]
|
|
@@ -206,6 +209,61 @@ class RunsResource(SyncAPIResource):
|
|
|
206
209
|
cast_to=BenchmarkRunView,
|
|
207
210
|
)
|
|
208
211
|
|
|
212
|
+
def list_scenario_runs(
|
|
213
|
+
self,
|
|
214
|
+
id: str,
|
|
215
|
+
*,
|
|
216
|
+
limit: int | NotGiven = NOT_GIVEN,
|
|
217
|
+
starting_after: str | NotGiven = NOT_GIVEN,
|
|
218
|
+
state: Literal["running", "scoring", "scored", "completed", "canceled", "timeout", "failed"]
|
|
219
|
+
| NotGiven = NOT_GIVEN,
|
|
220
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
221
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
222
|
+
extra_headers: Headers | None = None,
|
|
223
|
+
extra_query: Query | None = None,
|
|
224
|
+
extra_body: Body | None = None,
|
|
225
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
226
|
+
) -> SyncBenchmarkRunsCursorIDPage[ScenarioRunView]:
|
|
227
|
+
"""
|
|
228
|
+
List started scenario runs for a benchmark run.
|
|
229
|
+
|
|
230
|
+
Args:
|
|
231
|
+
limit: The limit of items to return. Default is 20.
|
|
232
|
+
|
|
233
|
+
starting_after: Load the next page of data starting after the item with the given ID.
|
|
234
|
+
|
|
235
|
+
state: Filter by Scenario Run state
|
|
236
|
+
|
|
237
|
+
extra_headers: Send extra headers
|
|
238
|
+
|
|
239
|
+
extra_query: Add additional query parameters to the request
|
|
240
|
+
|
|
241
|
+
extra_body: Add additional JSON properties to the request
|
|
242
|
+
|
|
243
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
244
|
+
"""
|
|
245
|
+
if not id:
|
|
246
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
247
|
+
return self._get_api_list(
|
|
248
|
+
f"/v1/benchmarks/runs/{id}/scenario_runs",
|
|
249
|
+
page=SyncBenchmarkRunsCursorIDPage[ScenarioRunView],
|
|
250
|
+
options=make_request_options(
|
|
251
|
+
extra_headers=extra_headers,
|
|
252
|
+
extra_query=extra_query,
|
|
253
|
+
extra_body=extra_body,
|
|
254
|
+
timeout=timeout,
|
|
255
|
+
query=maybe_transform(
|
|
256
|
+
{
|
|
257
|
+
"limit": limit,
|
|
258
|
+
"starting_after": starting_after,
|
|
259
|
+
"state": state,
|
|
260
|
+
},
|
|
261
|
+
run_list_scenario_runs_params.RunListScenarioRunsParams,
|
|
262
|
+
),
|
|
263
|
+
),
|
|
264
|
+
model=ScenarioRunView,
|
|
265
|
+
)
|
|
266
|
+
|
|
209
267
|
|
|
210
268
|
class AsyncRunsResource(AsyncAPIResource):
|
|
211
269
|
@cached_property
|
|
@@ -391,6 +449,61 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
391
449
|
cast_to=BenchmarkRunView,
|
|
392
450
|
)
|
|
393
451
|
|
|
452
|
+
def list_scenario_runs(
|
|
453
|
+
self,
|
|
454
|
+
id: str,
|
|
455
|
+
*,
|
|
456
|
+
limit: int | NotGiven = NOT_GIVEN,
|
|
457
|
+
starting_after: str | NotGiven = NOT_GIVEN,
|
|
458
|
+
state: Literal["running", "scoring", "scored", "completed", "canceled", "timeout", "failed"]
|
|
459
|
+
| NotGiven = NOT_GIVEN,
|
|
460
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
461
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
462
|
+
extra_headers: Headers | None = None,
|
|
463
|
+
extra_query: Query | None = None,
|
|
464
|
+
extra_body: Body | None = None,
|
|
465
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
466
|
+
) -> AsyncPaginator[ScenarioRunView, AsyncBenchmarkRunsCursorIDPage[ScenarioRunView]]:
|
|
467
|
+
"""
|
|
468
|
+
List started scenario runs for a benchmark run.
|
|
469
|
+
|
|
470
|
+
Args:
|
|
471
|
+
limit: The limit of items to return. Default is 20.
|
|
472
|
+
|
|
473
|
+
starting_after: Load the next page of data starting after the item with the given ID.
|
|
474
|
+
|
|
475
|
+
state: Filter by Scenario Run state
|
|
476
|
+
|
|
477
|
+
extra_headers: Send extra headers
|
|
478
|
+
|
|
479
|
+
extra_query: Add additional query parameters to the request
|
|
480
|
+
|
|
481
|
+
extra_body: Add additional JSON properties to the request
|
|
482
|
+
|
|
483
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
484
|
+
"""
|
|
485
|
+
if not id:
|
|
486
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
487
|
+
return self._get_api_list(
|
|
488
|
+
f"/v1/benchmarks/runs/{id}/scenario_runs",
|
|
489
|
+
page=AsyncBenchmarkRunsCursorIDPage[ScenarioRunView],
|
|
490
|
+
options=make_request_options(
|
|
491
|
+
extra_headers=extra_headers,
|
|
492
|
+
extra_query=extra_query,
|
|
493
|
+
extra_body=extra_body,
|
|
494
|
+
timeout=timeout,
|
|
495
|
+
query=maybe_transform(
|
|
496
|
+
{
|
|
497
|
+
"limit": limit,
|
|
498
|
+
"starting_after": starting_after,
|
|
499
|
+
"state": state,
|
|
500
|
+
},
|
|
501
|
+
run_list_scenario_runs_params.RunListScenarioRunsParams,
|
|
502
|
+
),
|
|
503
|
+
),
|
|
504
|
+
model=ScenarioRunView,
|
|
505
|
+
)
|
|
506
|
+
|
|
394
507
|
|
|
395
508
|
class RunsResourceWithRawResponse:
|
|
396
509
|
def __init__(self, runs: RunsResource) -> None:
|
|
@@ -408,6 +521,9 @@ class RunsResourceWithRawResponse:
|
|
|
408
521
|
self.complete = to_raw_response_wrapper(
|
|
409
522
|
runs.complete,
|
|
410
523
|
)
|
|
524
|
+
self.list_scenario_runs = to_raw_response_wrapper(
|
|
525
|
+
runs.list_scenario_runs,
|
|
526
|
+
)
|
|
411
527
|
|
|
412
528
|
|
|
413
529
|
class AsyncRunsResourceWithRawResponse:
|
|
@@ -426,6 +542,9 @@ class AsyncRunsResourceWithRawResponse:
|
|
|
426
542
|
self.complete = async_to_raw_response_wrapper(
|
|
427
543
|
runs.complete,
|
|
428
544
|
)
|
|
545
|
+
self.list_scenario_runs = async_to_raw_response_wrapper(
|
|
546
|
+
runs.list_scenario_runs,
|
|
547
|
+
)
|
|
429
548
|
|
|
430
549
|
|
|
431
550
|
class RunsResourceWithStreamingResponse:
|
|
@@ -444,6 +563,9 @@ class RunsResourceWithStreamingResponse:
|
|
|
444
563
|
self.complete = to_streamed_response_wrapper(
|
|
445
564
|
runs.complete,
|
|
446
565
|
)
|
|
566
|
+
self.list_scenario_runs = to_streamed_response_wrapper(
|
|
567
|
+
runs.list_scenario_runs,
|
|
568
|
+
)
|
|
447
569
|
|
|
448
570
|
|
|
449
571
|
class AsyncRunsResourceWithStreamingResponse:
|
|
@@ -462,3 +584,6 @@ class AsyncRunsResourceWithStreamingResponse:
|
|
|
462
584
|
self.complete = async_to_streamed_response_wrapper(
|
|
463
585
|
runs.complete,
|
|
464
586
|
)
|
|
587
|
+
self.list_scenario_runs = async_to_streamed_response_wrapper(
|
|
588
|
+
runs.list_scenario_runs,
|
|
589
|
+
)
|
runloop_api_client-0.38.0/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Literal, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["RunListScenarioRunsParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class RunListScenarioRunsParams(TypedDict, total=False):
|
|
11
|
+
limit: int
|
|
12
|
+
"""The limit of items to return. Default is 20."""
|
|
13
|
+
|
|
14
|
+
starting_after: str
|
|
15
|
+
"""Load the next page of data starting after the item with the given ID."""
|
|
16
|
+
|
|
17
|
+
state: Literal["running", "scoring", "scored", "completed", "canceled", "timeout", "failed"]
|
|
18
|
+
"""Filter by Scenario Run state"""
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/tests/api_resources/benchmarks/test_runs.py
RENAMED
|
@@ -9,7 +9,7 @@ import pytest
|
|
|
9
9
|
|
|
10
10
|
from tests.utils import assert_matches_type
|
|
11
11
|
from runloop_api_client import Runloop, AsyncRunloop
|
|
12
|
-
from runloop_api_client.types import BenchmarkRunView
|
|
12
|
+
from runloop_api_client.types import ScenarioRunView, BenchmarkRunView
|
|
13
13
|
from runloop_api_client.pagination import SyncBenchmarkRunsCursorIDPage, AsyncBenchmarkRunsCursorIDPage
|
|
14
14
|
|
|
15
15
|
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
|
|
@@ -166,6 +166,54 @@ class TestRuns:
|
|
|
166
166
|
"",
|
|
167
167
|
)
|
|
168
168
|
|
|
169
|
+
@parametrize
|
|
170
|
+
def test_method_list_scenario_runs(self, client: Runloop) -> None:
|
|
171
|
+
run = client.benchmarks.runs.list_scenario_runs(
|
|
172
|
+
id="id",
|
|
173
|
+
)
|
|
174
|
+
assert_matches_type(SyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
175
|
+
|
|
176
|
+
@parametrize
|
|
177
|
+
def test_method_list_scenario_runs_with_all_params(self, client: Runloop) -> None:
|
|
178
|
+
run = client.benchmarks.runs.list_scenario_runs(
|
|
179
|
+
id="id",
|
|
180
|
+
limit=0,
|
|
181
|
+
starting_after="starting_after",
|
|
182
|
+
state="running",
|
|
183
|
+
)
|
|
184
|
+
assert_matches_type(SyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
185
|
+
|
|
186
|
+
@parametrize
|
|
187
|
+
def test_raw_response_list_scenario_runs(self, client: Runloop) -> None:
|
|
188
|
+
response = client.benchmarks.runs.with_raw_response.list_scenario_runs(
|
|
189
|
+
id="id",
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
assert response.is_closed is True
|
|
193
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
194
|
+
run = response.parse()
|
|
195
|
+
assert_matches_type(SyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
196
|
+
|
|
197
|
+
@parametrize
|
|
198
|
+
def test_streaming_response_list_scenario_runs(self, client: Runloop) -> None:
|
|
199
|
+
with client.benchmarks.runs.with_streaming_response.list_scenario_runs(
|
|
200
|
+
id="id",
|
|
201
|
+
) as response:
|
|
202
|
+
assert not response.is_closed
|
|
203
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
204
|
+
|
|
205
|
+
run = response.parse()
|
|
206
|
+
assert_matches_type(SyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
207
|
+
|
|
208
|
+
assert cast(Any, response.is_closed) is True
|
|
209
|
+
|
|
210
|
+
@parametrize
|
|
211
|
+
def test_path_params_list_scenario_runs(self, client: Runloop) -> None:
|
|
212
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
|
|
213
|
+
client.benchmarks.runs.with_raw_response.list_scenario_runs(
|
|
214
|
+
id="",
|
|
215
|
+
)
|
|
216
|
+
|
|
169
217
|
|
|
170
218
|
class TestAsyncRuns:
|
|
171
219
|
parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
|
|
@@ -317,3 +365,51 @@ class TestAsyncRuns:
|
|
|
317
365
|
await async_client.benchmarks.runs.with_raw_response.complete(
|
|
318
366
|
"",
|
|
319
367
|
)
|
|
368
|
+
|
|
369
|
+
@parametrize
|
|
370
|
+
async def test_method_list_scenario_runs(self, async_client: AsyncRunloop) -> None:
|
|
371
|
+
run = await async_client.benchmarks.runs.list_scenario_runs(
|
|
372
|
+
id="id",
|
|
373
|
+
)
|
|
374
|
+
assert_matches_type(AsyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
375
|
+
|
|
376
|
+
@parametrize
|
|
377
|
+
async def test_method_list_scenario_runs_with_all_params(self, async_client: AsyncRunloop) -> None:
|
|
378
|
+
run = await async_client.benchmarks.runs.list_scenario_runs(
|
|
379
|
+
id="id",
|
|
380
|
+
limit=0,
|
|
381
|
+
starting_after="starting_after",
|
|
382
|
+
state="running",
|
|
383
|
+
)
|
|
384
|
+
assert_matches_type(AsyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
385
|
+
|
|
386
|
+
@parametrize
|
|
387
|
+
async def test_raw_response_list_scenario_runs(self, async_client: AsyncRunloop) -> None:
|
|
388
|
+
response = await async_client.benchmarks.runs.with_raw_response.list_scenario_runs(
|
|
389
|
+
id="id",
|
|
390
|
+
)
|
|
391
|
+
|
|
392
|
+
assert response.is_closed is True
|
|
393
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
394
|
+
run = await response.parse()
|
|
395
|
+
assert_matches_type(AsyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
396
|
+
|
|
397
|
+
@parametrize
|
|
398
|
+
async def test_streaming_response_list_scenario_runs(self, async_client: AsyncRunloop) -> None:
|
|
399
|
+
async with async_client.benchmarks.runs.with_streaming_response.list_scenario_runs(
|
|
400
|
+
id="id",
|
|
401
|
+
) as response:
|
|
402
|
+
assert not response.is_closed
|
|
403
|
+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
404
|
+
|
|
405
|
+
run = await response.parse()
|
|
406
|
+
assert_matches_type(AsyncBenchmarkRunsCursorIDPage[ScenarioRunView], run, path=["response"])
|
|
407
|
+
|
|
408
|
+
assert cast(Any, response.is_closed) is True
|
|
409
|
+
|
|
410
|
+
@parametrize
|
|
411
|
+
async def test_path_params_list_scenario_runs(self, async_client: AsyncRunloop) -> None:
|
|
412
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
|
|
413
|
+
await async_client.benchmarks.runs.with_raw_response.list_scenario_runs(
|
|
414
|
+
id="",
|
|
415
|
+
)
|
|
@@ -873,6 +873,33 @@ class TestRunloop:
|
|
|
873
873
|
|
|
874
874
|
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
|
|
875
875
|
|
|
876
|
+
@pytest.mark.respx(base_url=base_url)
|
|
877
|
+
def test_follow_redirects(self, respx_mock: MockRouter) -> None:
|
|
878
|
+
# Test that the default follow_redirects=True allows following redirects
|
|
879
|
+
respx_mock.post("/redirect").mock(
|
|
880
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
|
881
|
+
)
|
|
882
|
+
respx_mock.get("/redirected").mock(return_value=httpx.Response(200, json={"status": "ok"}))
|
|
883
|
+
|
|
884
|
+
response = self.client.post("/redirect", body={"key": "value"}, cast_to=httpx.Response)
|
|
885
|
+
assert response.status_code == 200
|
|
886
|
+
assert response.json() == {"status": "ok"}
|
|
887
|
+
|
|
888
|
+
@pytest.mark.respx(base_url=base_url)
|
|
889
|
+
def test_follow_redirects_disabled(self, respx_mock: MockRouter) -> None:
|
|
890
|
+
# Test that follow_redirects=False prevents following redirects
|
|
891
|
+
respx_mock.post("/redirect").mock(
|
|
892
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
|
893
|
+
)
|
|
894
|
+
|
|
895
|
+
with pytest.raises(APIStatusError) as exc_info:
|
|
896
|
+
self.client.post(
|
|
897
|
+
"/redirect", body={"key": "value"}, options={"follow_redirects": False}, cast_to=httpx.Response
|
|
898
|
+
)
|
|
899
|
+
|
|
900
|
+
assert exc_info.value.response.status_code == 302
|
|
901
|
+
assert exc_info.value.response.headers["Location"] == f"{base_url}/redirected"
|
|
902
|
+
|
|
876
903
|
|
|
877
904
|
class TestAsyncRunloop:
|
|
878
905
|
client = AsyncRunloop(base_url=base_url, bearer_token=bearer_token, _strict_response_validation=True)
|
|
@@ -1741,3 +1768,30 @@ class TestAsyncRunloop:
|
|
|
1741
1768
|
raise AssertionError("calling get_platform using asyncify resulted in a hung process")
|
|
1742
1769
|
|
|
1743
1770
|
time.sleep(0.1)
|
|
1771
|
+
|
|
1772
|
+
@pytest.mark.respx(base_url=base_url)
|
|
1773
|
+
async def test_follow_redirects(self, respx_mock: MockRouter) -> None:
|
|
1774
|
+
# Test that the default follow_redirects=True allows following redirects
|
|
1775
|
+
respx_mock.post("/redirect").mock(
|
|
1776
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
|
1777
|
+
)
|
|
1778
|
+
respx_mock.get("/redirected").mock(return_value=httpx.Response(200, json={"status": "ok"}))
|
|
1779
|
+
|
|
1780
|
+
response = await self.client.post("/redirect", body={"key": "value"}, cast_to=httpx.Response)
|
|
1781
|
+
assert response.status_code == 200
|
|
1782
|
+
assert response.json() == {"status": "ok"}
|
|
1783
|
+
|
|
1784
|
+
@pytest.mark.respx(base_url=base_url)
|
|
1785
|
+
async def test_follow_redirects_disabled(self, respx_mock: MockRouter) -> None:
|
|
1786
|
+
# Test that follow_redirects=False prevents following redirects
|
|
1787
|
+
respx_mock.post("/redirect").mock(
|
|
1788
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
|
1789
|
+
)
|
|
1790
|
+
|
|
1791
|
+
with pytest.raises(APIStatusError) as exc_info:
|
|
1792
|
+
await self.client.post(
|
|
1793
|
+
"/redirect", body={"key": "value"}, options={"follow_redirects": False}, cast_to=httpx.Response
|
|
1794
|
+
)
|
|
1795
|
+
|
|
1796
|
+
assert exc_info.value.response.status_code == 302
|
|
1797
|
+
assert exc_info.value.response.headers["Location"] == f"{base_url}/redirected"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_constants.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_streaming.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/__init__.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_logs.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_proxy.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_reflection.py
RENAMED
|
File without changes
|
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_streams.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_sync.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_transform.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_typing.py
RENAMED
|
File without changes
|
{runloop_api_client-0.36.0 → runloop_api_client-0.38.0}/src/runloop_api_client/_utils/_utils.py
RENAMED
|
File without changes
|
|
File without changes
|