runloop-api-client 0.26.0__tar.gz → 0.28.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.28.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/CHANGELOG.md +34 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/PKG-INFO +30 -4
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/README.md +27 -0
- runloop_api_client-0.28.0/bin/publish-pypi +6 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/pyproject.toml +2 -4
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_models.py +5 -2
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/scenarios/runs.py +8 -4
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_run_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/repository_connection_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_list_view.py +2 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_run_list_view.py +2 -0
- runloop_api_client-0.28.0/src/runloop_api_client/types/scoring_function.py +125 -0
- runloop_api_client-0.28.0/src/runloop_api_client/types/scoring_function_param.py +121 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared/launch_parameters.py +6 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +6 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/scenarios/test_scorers.py +4 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_blueprints.py +8 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_devboxes.py +4 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_scenarios.py +102 -26
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_models.py +32 -0
- runloop_api_client-0.26.0/.release-please-manifest.json +0 -3
- runloop_api_client-0.26.0/bin/publish-pypi +0 -9
- runloop_api_client-0.26.0/src/runloop_api_client/types/scoring_function.py +0 -39
- runloop_api_client-0.26.0/src/runloop_api_client/types/scoring_function_param.py +0 -40
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/.gitignore +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/LICENSE +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/SECURITY.md +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/api.md +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/examples/.keep +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/mypy.ini +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/noxfile.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/release-please-config.json +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/requirements.lock +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/utils.py +0 -0
- {runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/uv.lock +0 -0
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.28.0 (2025-03-21)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.27.0...v0.28.0](https://github.com/runloopai/api-client-python/compare/v0.27.0...v0.28.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([#575](https://github.com/runloopai/api-client-python/issues/575)) ([c6f1ca5](https://github.com/runloopai/api-client-python/commit/c6f1ca5d4101b6c1b62326a1bf4d7bd090461595))
|
|
10
|
+
|
|
11
|
+
## 0.27.0 (2025-03-21)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.26.0...v0.27.0](https://github.com/runloopai/api-client-python/compare/v0.26.0...v0.27.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([#573](https://github.com/runloopai/api-client-python/issues/573)) ([091f833](https://github.com/runloopai/api-client-python/commit/091f833d80096bb0470d505c0a0145648e52819b))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **ci:** ensure pip is always available ([#571](https://github.com/runloopai/api-client-python/issues/571)) ([ddb9362](https://github.com/runloopai/api-client-python/commit/ddb93629704f116cafb2123dc8b302ddff883bb8))
|
|
23
|
+
* **ci:** remove publishing patch ([#572](https://github.com/runloopai/api-client-python/issues/572)) ([c71815a](https://github.com/runloopai/api-client-python/commit/c71815aaaf47e404e1bf3d44c6b26b5ed0b05054))
|
|
24
|
+
* **types:** handle more discriminated union shapes ([#570](https://github.com/runloopai/api-client-python/issues/570)) ([297cfbe](https://github.com/runloopai/api-client-python/commit/297cfbe93bfdcbbafd44a4501d5a81a7fb1651bd))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Chores
|
|
28
|
+
|
|
29
|
+
* **internal:** bump rye to 0.44.0 ([#569](https://github.com/runloopai/api-client-python/issues/569)) ([dd5b79a](https://github.com/runloopai/api-client-python/commit/dd5b79a221fff5b38fdbd655d78254fe7140fd73))
|
|
30
|
+
* **internal:** remove extra empty newlines ([#567](https://github.com/runloopai/api-client-python/issues/567)) ([49f34bd](https://github.com/runloopai/api-client-python/commit/49f34bd0b733f2a10592fff098d379501df3ac86))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Documentation
|
|
34
|
+
|
|
35
|
+
* revise readme docs about nested params ([#564](https://github.com/runloopai/api-client-python/issues/564)) ([a2df5d3](https://github.com/runloopai/api-client-python/commit/a2df5d3c9b32ab941ee83d3f5cac8b874b7bbe28))
|
|
36
|
+
|
|
3
37
|
## 0.26.0 (2025-03-04)
|
|
4
38
|
|
|
5
39
|
Full Changelog: [v0.25.0...v0.26.0](https://github.com/runloopai/api-client-python/compare/v0.25.0...v0.26.0)
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.28.0
|
|
4
4
|
Summary: The official Python library for the runloop API
|
|
5
5
|
Project-URL: Homepage, https://github.com/runloopai/api-client-python
|
|
6
6
|
Project-URL: Repository, https://github.com/runloopai/api-client-python
|
|
7
7
|
Author-email: Runloop <support@runloop.ai>
|
|
8
|
-
License
|
|
9
|
-
License-File: LICENSE
|
|
8
|
+
License: MIT
|
|
10
9
|
Classifier: Intended Audience :: Developers
|
|
11
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
11
|
Classifier: Operating System :: MacOS
|
|
@@ -168,6 +167,33 @@ for devbox in first_page.devboxes:
|
|
|
168
167
|
# Remove `await` for non-async usage.
|
|
169
168
|
```
|
|
170
169
|
|
|
170
|
+
## Nested params
|
|
171
|
+
|
|
172
|
+
Nested parameters are dictionaries, typed using `TypedDict`, for example:
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from runloop_api_client import Runloop
|
|
176
|
+
|
|
177
|
+
client = Runloop()
|
|
178
|
+
|
|
179
|
+
blueprint_view = client.blueprints.create(
|
|
180
|
+
name="name",
|
|
181
|
+
launch_parameters={
|
|
182
|
+
"after_idle": {
|
|
183
|
+
"idle_time_seconds": 0,
|
|
184
|
+
"on_idle": "shutdown",
|
|
185
|
+
},
|
|
186
|
+
"available_ports": [0],
|
|
187
|
+
"custom_cpu_cores": 0,
|
|
188
|
+
"custom_gb_memory": 0,
|
|
189
|
+
"keep_alive_time_seconds": 0,
|
|
190
|
+
"launch_commands": ["string"],
|
|
191
|
+
"resource_size_request": "SMALL",
|
|
192
|
+
},
|
|
193
|
+
)
|
|
194
|
+
print(blueprint_view.launch_parameters)
|
|
195
|
+
```
|
|
196
|
+
|
|
171
197
|
## File uploads
|
|
172
198
|
|
|
173
199
|
Request parameters that correspond to file uploads can be passed as `bytes`, a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
|
|
@@ -136,6 +136,33 @@ for devbox in first_page.devboxes:
|
|
|
136
136
|
# Remove `await` for non-async usage.
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
+
## Nested params
|
|
140
|
+
|
|
141
|
+
Nested parameters are dictionaries, typed using `TypedDict`, for example:
|
|
142
|
+
|
|
143
|
+
```python
|
|
144
|
+
from runloop_api_client import Runloop
|
|
145
|
+
|
|
146
|
+
client = Runloop()
|
|
147
|
+
|
|
148
|
+
blueprint_view = client.blueprints.create(
|
|
149
|
+
name="name",
|
|
150
|
+
launch_parameters={
|
|
151
|
+
"after_idle": {
|
|
152
|
+
"idle_time_seconds": 0,
|
|
153
|
+
"on_idle": "shutdown",
|
|
154
|
+
},
|
|
155
|
+
"available_ports": [0],
|
|
156
|
+
"custom_cpu_cores": 0,
|
|
157
|
+
"custom_gb_memory": 0,
|
|
158
|
+
"keep_alive_time_seconds": 0,
|
|
159
|
+
"launch_commands": ["string"],
|
|
160
|
+
"resource_size_request": "SMALL",
|
|
161
|
+
},
|
|
162
|
+
)
|
|
163
|
+
print(blueprint_view.launch_parameters)
|
|
164
|
+
```
|
|
165
|
+
|
|
139
166
|
## File uploads
|
|
140
167
|
|
|
141
168
|
Request parameters that correspond to file uploads can be passed as `bytes`, a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "runloop_api_client"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.28.0"
|
|
4
4
|
description = "The official Python library for the runloop API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "MIT"
|
|
@@ -38,7 +38,6 @@ Homepage = "https://github.com/runloopai/api-client-python"
|
|
|
38
38
|
Repository = "https://github.com/runloopai/api-client-python"
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
|
|
42
41
|
[tool.rye]
|
|
43
42
|
managed = true
|
|
44
43
|
# version pins are in requirements-dev.lock
|
|
@@ -87,7 +86,7 @@ typecheck = { chain = [
|
|
|
87
86
|
"typecheck:mypy" = "mypy ."
|
|
88
87
|
|
|
89
88
|
[build-system]
|
|
90
|
-
requires = ["hatchling", "hatch-fancy-pypi-readme"]
|
|
89
|
+
requires = ["hatchling==1.26.3", "hatch-fancy-pypi-readme"]
|
|
91
90
|
build-backend = "hatchling.build"
|
|
92
91
|
|
|
93
92
|
[tool.hatch.build]
|
|
@@ -152,7 +151,6 @@ reportImplicitOverride = true
|
|
|
152
151
|
reportImportCycles = false
|
|
153
152
|
reportPrivateUsage = false
|
|
154
153
|
|
|
155
|
-
|
|
156
154
|
[tool.ruff]
|
|
157
155
|
line-length = 120
|
|
158
156
|
output-format = "grouped"
|
|
@@ -65,7 +65,7 @@ from ._compat import (
|
|
|
65
65
|
from ._constants import RAW_RESPONSE_HEADER
|
|
66
66
|
|
|
67
67
|
if TYPE_CHECKING:
|
|
68
|
-
from pydantic_core.core_schema import ModelField, LiteralSchema, ModelFieldsSchema
|
|
68
|
+
from pydantic_core.core_schema import ModelField, ModelSchema, LiteralSchema, ModelFieldsSchema
|
|
69
69
|
|
|
70
70
|
__all__ = ["BaseModel", "GenericModel"]
|
|
71
71
|
|
|
@@ -646,15 +646,18 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
|
|
|
646
646
|
|
|
647
647
|
def _extract_field_schema_pv2(model: type[BaseModel], field_name: str) -> ModelField | None:
|
|
648
648
|
schema = model.__pydantic_core_schema__
|
|
649
|
+
if schema["type"] == "definitions":
|
|
650
|
+
schema = schema["schema"]
|
|
651
|
+
|
|
649
652
|
if schema["type"] != "model":
|
|
650
653
|
return None
|
|
651
654
|
|
|
655
|
+
schema = cast("ModelSchema", schema)
|
|
652
656
|
fields_schema = schema["schema"]
|
|
653
657
|
if fields_schema["type"] != "model-fields":
|
|
654
658
|
return None
|
|
655
659
|
|
|
656
660
|
fields_schema = cast("ModelFieldsSchema", fields_schema)
|
|
657
|
-
|
|
658
661
|
field = fields_schema["fields"].get(field_name)
|
|
659
662
|
if not field:
|
|
660
663
|
return None
|
|
@@ -141,8 +141,10 @@ class RunsResource(SyncAPIResource):
|
|
|
141
141
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
142
142
|
idempotency_key: str | None = None,
|
|
143
143
|
) -> ScenarioRunView:
|
|
144
|
-
"""
|
|
145
|
-
|
|
144
|
+
"""Complete a currently running ScenarioRun.
|
|
145
|
+
|
|
146
|
+
Calling complete will shutdown
|
|
147
|
+
underlying Devbox resource.
|
|
146
148
|
|
|
147
149
|
Args:
|
|
148
150
|
extra_headers: Send extra headers
|
|
@@ -467,8 +469,10 @@ class AsyncRunsResource(AsyncAPIResource):
|
|
|
467
469
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
468
470
|
idempotency_key: str | None = None,
|
|
469
471
|
) -> ScenarioRunView:
|
|
470
|
-
"""
|
|
471
|
-
|
|
472
|
+
"""Complete a currently running ScenarioRun.
|
|
473
|
+
|
|
474
|
+
Calling complete will shutdown
|
|
475
|
+
underlying Devbox resource.
|
|
472
476
|
|
|
473
477
|
Args:
|
|
474
478
|
extra_headers: Send extra headers
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Union, Optional
|
|
4
|
+
from typing_extensions import Literal, Annotated, TypeAlias
|
|
5
|
+
|
|
6
|
+
from .._utils import PropertyInfo
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"ScoringFunction",
|
|
11
|
+
"Scorer",
|
|
12
|
+
"ScorerAstGrepScoringFunction",
|
|
13
|
+
"ScorerBashScriptScoringFunction",
|
|
14
|
+
"ScorerCommandScoringFunction",
|
|
15
|
+
"ScorerCustomScoringFunction",
|
|
16
|
+
"ScorerPythonScriptScoringFunction",
|
|
17
|
+
"ScorerTestBasedScoringFunction",
|
|
18
|
+
"ScorerTestBasedScoringFunctionTestFile",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ScorerAstGrepScoringFunction(BaseModel):
|
|
23
|
+
pattern: str
|
|
24
|
+
"""AST pattern to match."""
|
|
25
|
+
|
|
26
|
+
search_directory: str
|
|
27
|
+
"""The path to search."""
|
|
28
|
+
|
|
29
|
+
type: Literal["ast_grep_scorer"]
|
|
30
|
+
|
|
31
|
+
lang: Optional[str] = None
|
|
32
|
+
"""The language of the pattern."""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ScorerBashScriptScoringFunction(BaseModel):
|
|
36
|
+
type: Literal["bash_script_scorer"]
|
|
37
|
+
|
|
38
|
+
bash_script: Optional[str] = None
|
|
39
|
+
"""
|
|
40
|
+
A single bash script that sets up the environment, scores, and prints the final
|
|
41
|
+
score to standard out. Score should be a float between 0.0 and 1.0, and look
|
|
42
|
+
like "score=[0.0..1.0].
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ScorerCommandScoringFunction(BaseModel):
|
|
47
|
+
type: Literal["command_scorer"]
|
|
48
|
+
|
|
49
|
+
command: Optional[str] = None
|
|
50
|
+
"""The command to execute."""
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class ScorerCustomScoringFunction(BaseModel):
|
|
54
|
+
type: Literal["custom_scorer"]
|
|
55
|
+
|
|
56
|
+
scorer_params: Optional[object] = None
|
|
57
|
+
"""Additional JSON structured context to pass to the scoring function."""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class ScorerPythonScriptScoringFunction(BaseModel):
|
|
61
|
+
python_script: str
|
|
62
|
+
"""Python script to be run.
|
|
63
|
+
|
|
64
|
+
The script should output the score to standard out as a float between 0.0 and
|
|
65
|
+
1.0.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
type: Literal["python_script_scorer"]
|
|
69
|
+
|
|
70
|
+
requirements_contents: Optional[str] = None
|
|
71
|
+
"""Package dependencies to be installed.
|
|
72
|
+
|
|
73
|
+
The requirements should be a valid requirements.txt file.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class ScorerTestBasedScoringFunctionTestFile(BaseModel):
|
|
78
|
+
file_contents: Optional[str] = None
|
|
79
|
+
"""Content of the test file"""
|
|
80
|
+
|
|
81
|
+
file_path: Optional[str] = None
|
|
82
|
+
"""
|
|
83
|
+
Path to write content of the test file, relative to your environment's working
|
|
84
|
+
directory
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class ScorerTestBasedScoringFunction(BaseModel):
|
|
89
|
+
type: Literal["test_based_scorer"]
|
|
90
|
+
|
|
91
|
+
test_command: Optional[str] = None
|
|
92
|
+
"""The command to execute for running the tests"""
|
|
93
|
+
|
|
94
|
+
test_files: Optional[List[ScorerTestBasedScoringFunctionTestFile]] = None
|
|
95
|
+
"""List of test files to create"""
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
Scorer: TypeAlias = Annotated[
|
|
99
|
+
Union[
|
|
100
|
+
ScorerAstGrepScoringFunction,
|
|
101
|
+
ScorerBashScriptScoringFunction,
|
|
102
|
+
ScorerCommandScoringFunction,
|
|
103
|
+
ScorerCustomScoringFunction,
|
|
104
|
+
ScorerPythonScriptScoringFunction,
|
|
105
|
+
ScorerTestBasedScoringFunction,
|
|
106
|
+
],
|
|
107
|
+
PropertyInfo(discriminator="type"),
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class ScoringFunction(BaseModel):
|
|
112
|
+
name: str
|
|
113
|
+
"""Name of scoring function. Names must only contain [a-zA-Z0-9_-]."""
|
|
114
|
+
|
|
115
|
+
scorer: Scorer
|
|
116
|
+
"""The scoring function to use for evaluating this scenario.
|
|
117
|
+
|
|
118
|
+
The type field determines which built-in function to use.
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
weight: float
|
|
122
|
+
"""Weight to apply to scoring function score.
|
|
123
|
+
|
|
124
|
+
Weights of all scoring functions should sum to 1.0.
|
|
125
|
+
"""
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Union, Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"ScoringFunctionParam",
|
|
10
|
+
"Scorer",
|
|
11
|
+
"ScorerAstGrepScoringFunction",
|
|
12
|
+
"ScorerBashScriptScoringFunction",
|
|
13
|
+
"ScorerCommandScoringFunction",
|
|
14
|
+
"ScorerCustomScoringFunction",
|
|
15
|
+
"ScorerPythonScriptScoringFunction",
|
|
16
|
+
"ScorerTestBasedScoringFunction",
|
|
17
|
+
"ScorerTestBasedScoringFunctionTestFile",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ScorerAstGrepScoringFunction(TypedDict, total=False):
|
|
22
|
+
pattern: Required[str]
|
|
23
|
+
"""AST pattern to match."""
|
|
24
|
+
|
|
25
|
+
search_directory: Required[str]
|
|
26
|
+
"""The path to search."""
|
|
27
|
+
|
|
28
|
+
type: Required[Literal["ast_grep_scorer"]]
|
|
29
|
+
|
|
30
|
+
lang: str
|
|
31
|
+
"""The language of the pattern."""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class ScorerBashScriptScoringFunction(TypedDict, total=False):
|
|
35
|
+
type: Required[Literal["bash_script_scorer"]]
|
|
36
|
+
|
|
37
|
+
bash_script: str
|
|
38
|
+
"""
|
|
39
|
+
A single bash script that sets up the environment, scores, and prints the final
|
|
40
|
+
score to standard out. Score should be a float between 0.0 and 1.0, and look
|
|
41
|
+
like "score=[0.0..1.0].
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ScorerCommandScoringFunction(TypedDict, total=False):
|
|
46
|
+
type: Required[Literal["command_scorer"]]
|
|
47
|
+
|
|
48
|
+
command: str
|
|
49
|
+
"""The command to execute."""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class ScorerCustomScoringFunction(TypedDict, total=False):
|
|
53
|
+
type: Required[Literal["custom_scorer"]]
|
|
54
|
+
|
|
55
|
+
scorer_params: Optional[object]
|
|
56
|
+
"""Additional JSON structured context to pass to the scoring function."""
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class ScorerPythonScriptScoringFunction(TypedDict, total=False):
|
|
60
|
+
python_script: Required[str]
|
|
61
|
+
"""Python script to be run.
|
|
62
|
+
|
|
63
|
+
The script should output the score to standard out as a float between 0.0 and
|
|
64
|
+
1.0.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
type: Required[Literal["python_script_scorer"]]
|
|
68
|
+
|
|
69
|
+
requirements_contents: str
|
|
70
|
+
"""Package dependencies to be installed.
|
|
71
|
+
|
|
72
|
+
The requirements should be a valid requirements.txt file.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class ScorerTestBasedScoringFunctionTestFile(TypedDict, total=False):
|
|
77
|
+
file_contents: str
|
|
78
|
+
"""Content of the test file"""
|
|
79
|
+
|
|
80
|
+
file_path: str
|
|
81
|
+
"""
|
|
82
|
+
Path to write content of the test file, relative to your environment's working
|
|
83
|
+
directory
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class ScorerTestBasedScoringFunction(TypedDict, total=False):
|
|
88
|
+
type: Required[Literal["test_based_scorer"]]
|
|
89
|
+
|
|
90
|
+
test_command: str
|
|
91
|
+
"""The command to execute for running the tests"""
|
|
92
|
+
|
|
93
|
+
test_files: Iterable[ScorerTestBasedScoringFunctionTestFile]
|
|
94
|
+
"""List of test files to create"""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Scorer: TypeAlias = Union[
|
|
98
|
+
ScorerAstGrepScoringFunction,
|
|
99
|
+
ScorerBashScriptScoringFunction,
|
|
100
|
+
ScorerCommandScoringFunction,
|
|
101
|
+
ScorerCustomScoringFunction,
|
|
102
|
+
ScorerPythonScriptScoringFunction,
|
|
103
|
+
ScorerTestBasedScoringFunction,
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class ScoringFunctionParam(TypedDict, total=False):
|
|
108
|
+
name: Required[str]
|
|
109
|
+
"""Name of scoring function. Names must only contain [a-zA-Z0-9_-]."""
|
|
110
|
+
|
|
111
|
+
scorer: Required[Scorer]
|
|
112
|
+
"""The scoring function to use for evaluating this scenario.
|
|
113
|
+
|
|
114
|
+
The type field determines which built-in function to use.
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
weight: Required[float]
|
|
118
|
+
"""Weight to apply to scoring function score.
|
|
119
|
+
|
|
120
|
+
Weights of all scoring functions should sum to 1.0.
|
|
121
|
+
"""
|
|
@@ -23,6 +23,12 @@ class LaunchParameters(BaseModel):
|
|
|
23
23
|
'createTunnel' API.
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
+
custom_cpu_cores: Optional[int] = None
|
|
27
|
+
"""custom resource size, number of cpu cores, must be multiple of 2."""
|
|
28
|
+
|
|
29
|
+
custom_gb_memory: Optional[int] = None
|
|
30
|
+
"""custom memory size, number in Gi, must be a multiple of 2."""
|
|
31
|
+
|
|
26
32
|
keep_alive_time_seconds: Optional[int] = None
|
|
27
33
|
"""Time in seconds after which Devbox will automatically shutdown.
|
|
28
34
|
|
|
@@ -24,6 +24,12 @@ class LaunchParameters(TypedDict, total=False):
|
|
|
24
24
|
'createTunnel' API.
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
|
+
custom_cpu_cores: Optional[int]
|
|
28
|
+
"""custom resource size, number of cpu cores, must be multiple of 2."""
|
|
29
|
+
|
|
30
|
+
custom_gb_memory: Optional[int]
|
|
31
|
+
"""custom memory size, number in Gi, must be a multiple of 2."""
|
|
32
|
+
|
|
27
33
|
keep_alive_time_seconds: Optional[int]
|
|
28
34
|
"""Time in seconds after which Devbox will automatically shutdown.
|
|
29
35
|
|
|
@@ -196,6 +196,8 @@ class TestScorers:
|
|
|
196
196
|
"on_idle": "shutdown",
|
|
197
197
|
},
|
|
198
198
|
"available_ports": [0],
|
|
199
|
+
"custom_cpu_cores": 0,
|
|
200
|
+
"custom_gb_memory": 0,
|
|
199
201
|
"keep_alive_time_seconds": 0,
|
|
200
202
|
"launch_commands": ["string"],
|
|
201
203
|
"resource_size_request": "SMALL",
|
|
@@ -417,6 +419,8 @@ class TestAsyncScorers:
|
|
|
417
419
|
"on_idle": "shutdown",
|
|
418
420
|
},
|
|
419
421
|
"available_ports": [0],
|
|
422
|
+
"custom_cpu_cores": 0,
|
|
423
|
+
"custom_gb_memory": 0,
|
|
420
424
|
"keep_alive_time_seconds": 0,
|
|
421
425
|
"launch_commands": ["string"],
|
|
422
426
|
"resource_size_request": "SMALL",
|
{runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_blueprints.py
RENAMED
|
@@ -49,6 +49,8 @@ class TestBlueprints:
|
|
|
49
49
|
"on_idle": "shutdown",
|
|
50
50
|
},
|
|
51
51
|
"available_ports": [0],
|
|
52
|
+
"custom_cpu_cores": 0,
|
|
53
|
+
"custom_gb_memory": 0,
|
|
52
54
|
"keep_alive_time_seconds": 0,
|
|
53
55
|
"launch_commands": ["string"],
|
|
54
56
|
"resource_size_request": "SMALL",
|
|
@@ -218,6 +220,8 @@ class TestBlueprints:
|
|
|
218
220
|
"on_idle": "shutdown",
|
|
219
221
|
},
|
|
220
222
|
"available_ports": [0],
|
|
223
|
+
"custom_cpu_cores": 0,
|
|
224
|
+
"custom_gb_memory": 0,
|
|
221
225
|
"keep_alive_time_seconds": 0,
|
|
222
226
|
"launch_commands": ["string"],
|
|
223
227
|
"resource_size_request": "SMALL",
|
|
@@ -281,6 +285,8 @@ class TestAsyncBlueprints:
|
|
|
281
285
|
"on_idle": "shutdown",
|
|
282
286
|
},
|
|
283
287
|
"available_ports": [0],
|
|
288
|
+
"custom_cpu_cores": 0,
|
|
289
|
+
"custom_gb_memory": 0,
|
|
284
290
|
"keep_alive_time_seconds": 0,
|
|
285
291
|
"launch_commands": ["string"],
|
|
286
292
|
"resource_size_request": "SMALL",
|
|
@@ -450,6 +456,8 @@ class TestAsyncBlueprints:
|
|
|
450
456
|
"on_idle": "shutdown",
|
|
451
457
|
},
|
|
452
458
|
"available_ports": [0],
|
|
459
|
+
"custom_cpu_cores": 0,
|
|
460
|
+
"custom_gb_memory": 0,
|
|
453
461
|
"keep_alive_time_seconds": 0,
|
|
454
462
|
"launch_commands": ["string"],
|
|
455
463
|
"resource_size_request": "SMALL",
|
{runloop_api_client-0.26.0 → runloop_api_client-0.28.0}/tests/api_resources/test_devboxes.py
RENAMED
|
@@ -65,6 +65,8 @@ class TestDevboxes:
|
|
|
65
65
|
"on_idle": "shutdown",
|
|
66
66
|
},
|
|
67
67
|
"available_ports": [0],
|
|
68
|
+
"custom_cpu_cores": 0,
|
|
69
|
+
"custom_gb_memory": 0,
|
|
68
70
|
"keep_alive_time_seconds": 0,
|
|
69
71
|
"launch_commands": ["string"],
|
|
70
72
|
"resource_size_request": "SMALL",
|
|
@@ -938,6 +940,8 @@ class TestAsyncDevboxes:
|
|
|
938
940
|
"on_idle": "shutdown",
|
|
939
941
|
},
|
|
940
942
|
"available_ports": [0],
|
|
943
|
+
"custom_cpu_cores": 0,
|
|
944
|
+
"custom_gb_memory": 0,
|
|
941
945
|
"keep_alive_time_seconds": 0,
|
|
942
946
|
"launch_commands": ["string"],
|
|
943
947
|
"resource_size_request": "SMALL",
|