runloop_api_client 0.69.0__tar.gz → 1.0.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-1.0.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/CHANGELOG.md +30 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/PKG-INFO +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/README-SDK.md +18 -18
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/pyproject.toml +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/blueprints.py +0 -28
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/devboxes.py +4 -4
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/scenarios.py +22 -10
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/__init__.py +12 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/_types.py +29 -14
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_.py +102 -18
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_blueprint.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_devbox.py +151 -16
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_execution.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_execution_result.py +1 -1
- runloop_api_client-1.0.0/src/runloop_api_client/sdk/async_scorer.py +77 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_snapshot.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_storage_object.py +2 -2
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/blueprint.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/devbox.py +159 -24
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/execution.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/execution_result.py +1 -1
- runloop_api_client-1.0.0/src/runloop_api_client/sdk/scorer.py +77 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/snapshot.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/storage_object.py +2 -2
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/sync.py +102 -18
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_build_parameters.py +1 -16
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_create_params.py +1 -16
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_preview_params.py +1 -16
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_create_params.py +2 -2
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execute_async_params.py +11 -9
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/launch_parameters.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/mount.py +5 -6
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/run_profile.py +5 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/mount.py +5 -6
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/run_profile.py +5 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_benchmarks.py +14 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_blueprints.py +0 -24
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_scenarios.py +14 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_core.py +6 -6
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_interfaces.py +3 -3
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_streaming.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/conftest.py +16 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_core.py +6 -6
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_interfaces.py +6 -6
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_streaming.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_blueprint.py +4 -4
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_execution_result.py +2 -2
- runloop_api_client-0.69.0/tests/sdk/test_async_clients.py → runloop_api_client-1.0.0/tests/sdk/test_async_ops.py +319 -81
- runloop_api_client-1.0.0/tests/sdk/test_async_scorer.py +69 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_snapshot.py +5 -5
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_storage_object.py +5 -5
- runloop_api_client-0.69.0/tests/sdk/test_clients.py → runloop_api_client-1.0.0/tests/sdk/test_ops.py +293 -77
- runloop_api_client-1.0.0/tests/sdk/test_scorer.py +71 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_blueprint.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_devbox.py +329 -11
- runloop_api_client-1.0.0/tests/smoketests/sdk/test_async_scorer.py +122 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_storage_object.py +15 -15
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_blueprint.py +1 -1
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_devbox.py +322 -11
- runloop_api_client-1.0.0/tests/smoketests/sdk/test_scorer.py +122 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_storage_object.py +15 -15
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/uv.lock +1 -1
- runloop_api_client-0.69.0/.release-please-manifest.json +0 -3
- runloop_api_client-0.69.0/src/runloop_api_client/sdk/protocols.py +0 -201
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/.gitignore +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/LICENSE +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/README.md +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/SECURITY.md +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/api.md +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/examples/.keep +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/release-please-config.json +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/requirements-dev.lock +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_compat.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_validation.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/agents.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/objects.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_download_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/agent_mount_parameters.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/object_mount_parameters.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/object_mount_parameters.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_agents.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_devboxes.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_objects.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/conftest.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/conftest.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_execution.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_execution.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_execution_result.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_helpers.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/README.md +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/conftest.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/README.md +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/__init__.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/conftest.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_sdk.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_blueprints.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_devboxes.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_executions.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_snapshots.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/utils.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_polling.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0 (2025-12-02)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.69.0...v1.0.0](https://github.com/runloopai/api-client-python/compare/v0.69.0...v1.0.0)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* **devbox:** made command positional arg in exec and exec_async ([#695](https://github.com/runloopai/api-client-python/issues/695))
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **blueprints:** Add build context to the OpenAPI spec ([#6494](https://github.com/runloopai/api-client-python/issues/6494)) ([d202b94](https://github.com/runloopai/api-client-python/commit/d202b942c07614ca954a8bbe3a9a6302e9a04216))
|
|
14
|
+
* **devbox:** added devbox.shell(shellName) command and stateful shell class to SDK ([#696](https://github.com/runloopai/api-client-python/issues/696)) ([c1e8f09](https://github.com/runloopai/api-client-python/commit/c1e8f0965a419ff53d830ba3c43a1c9a29dae5c7))
|
|
15
|
+
* **devbox:** made command positional arg in exec and exec_async ([#695](https://github.com/runloopai/api-client-python/issues/695)) ([6cc8c2f](https://github.com/runloopai/api-client-python/commit/6cc8c2fd4f904e8cc4386d81558157ca6fb69bfa))
|
|
16
|
+
* **sdk:** added scorer classes to sdk ([#698](https://github.com/runloopai/api-client-python/issues/698)) ([85f798f](https://github.com/runloopai/api-client-python/commit/85f798f2d8a7727b783e01a260ff0a52bdf01d78))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **api:** don't ignore devbox keep_alive, suspend and resume in api ([fe3589f](https://github.com/runloopai/api-client-python/commit/fe3589f5fbb36a5b79f1d4a25e86f88676556fdb))
|
|
22
|
+
* **devbox:** launch parameter typo ([1c9c346](https://github.com/runloopai/api-client-python/commit/1c9c346e475b64fc389928fee0f7140e532c4f9c))
|
|
23
|
+
* **scenarios:** update parameters for manually maintained start_run_and_await_env_ready methods ([#692](https://github.com/runloopai/api-client-python/issues/692)) ([8000495](https://github.com/runloopai/api-client-python/commit/8000495f70b2e6f4f12742fb8a6d641dbbc088ca))
|
|
24
|
+
* **scorer:** fixed RL_TEST_CONTEXT to RL_SCORER_CONTEXT ([df43a42](https://github.com/runloopai/api-client-python/commit/df43a42a45b9ce67aba27835a41c9a0ebfc6a407))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Chores
|
|
28
|
+
|
|
29
|
+
* **blueprints:** Add build context examples ([#694](https://github.com/runloopai/api-client-python/issues/694)) ([6e63928](https://github.com/runloopai/api-client-python/commit/6e6392864b3cde20dfea5d173fed9a156b960ccd))
|
|
30
|
+
* hide build context APIs ([159a38f](https://github.com/runloopai/api-client-python/commit/159a38f0980c00430a1b949541076b0d63df2df2))
|
|
31
|
+
* **mounts:** Update documentation for deprecated fields to direct the user to the replacement API ([4936844](https://github.com/runloopai/api-client-python/commit/4936844989ec7a0d37c835dd37b8007e8caba944))
|
|
32
|
+
|
|
3
33
|
## 0.69.0 (2025-11-21)
|
|
4
34
|
|
|
5
35
|
Full Changelog: [v0.68.0...v0.69.0](https://github.com/runloopai/api-client-python/compare/v0.68.0...v0.69.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: The official Python library for the runloop API
|
|
5
5
|
Project-URL: Homepage, https://github.com/runloopai/api-client-python
|
|
6
6
|
Project-URL: Repository, https://github.com/runloopai/api-client-python
|
|
@@ -38,12 +38,12 @@ runloop = RunloopSDK()
|
|
|
38
38
|
|
|
39
39
|
# Create a ready-to-use devbox
|
|
40
40
|
with runloop.devbox.create(name="my-devbox") as devbox:
|
|
41
|
-
result = devbox.cmd.exec(
|
|
41
|
+
result = devbox.cmd.exec("echo 'Hello from Runloop!'")
|
|
42
42
|
print(result.stdout())
|
|
43
43
|
|
|
44
44
|
# Stream stdout in real time
|
|
45
45
|
devbox.cmd.exec(
|
|
46
|
-
|
|
46
|
+
"ls -la",
|
|
47
47
|
stdout=lambda line: print("stdout:", line),
|
|
48
48
|
)
|
|
49
49
|
|
|
@@ -68,13 +68,13 @@ from runloop_api_client import AsyncRunloopSDK
|
|
|
68
68
|
async def main():
|
|
69
69
|
runloop = AsyncRunloopSDK()
|
|
70
70
|
async with await runloop.devbox.create(name="async-devbox") as devbox:
|
|
71
|
-
result = await devbox.cmd.exec(
|
|
71
|
+
result = await devbox.cmd.exec("pwd")
|
|
72
72
|
print(await result.stdout())
|
|
73
73
|
|
|
74
74
|
def capture(line: str) -> None:
|
|
75
75
|
print(">>", line)
|
|
76
76
|
|
|
77
|
-
await devbox.cmd.exec(
|
|
77
|
+
await devbox.cmd.exec("ls", stdout=capture)
|
|
78
78
|
|
|
79
79
|
asyncio.run(main())
|
|
80
80
|
```
|
|
@@ -147,13 +147,13 @@ Execute commands synchronously or asynchronously:
|
|
|
147
147
|
|
|
148
148
|
```python
|
|
149
149
|
# Synchronous command execution (waits for completion)
|
|
150
|
-
result = devbox.cmd.exec(
|
|
150
|
+
result = devbox.cmd.exec("ls -la")
|
|
151
151
|
print("Output:", result.stdout())
|
|
152
152
|
print("Exit code:", result.exit_code)
|
|
153
153
|
print("Success:", result.success)
|
|
154
154
|
|
|
155
155
|
# Asynchronous command execution (returns immediately)
|
|
156
|
-
execution = devbox.cmd.exec_async(
|
|
156
|
+
execution = devbox.cmd.exec_async("npm run dev")
|
|
157
157
|
|
|
158
158
|
# Check execution status
|
|
159
159
|
state = execution.get_state()
|
|
@@ -173,7 +173,7 @@ The `Execution` object provides fine-grained control over asynchronous command e
|
|
|
173
173
|
|
|
174
174
|
```python
|
|
175
175
|
# Start a long-running process
|
|
176
|
-
execution = devbox.cmd.exec_async(
|
|
176
|
+
execution = devbox.cmd.exec_async("python train_model.py")
|
|
177
177
|
|
|
178
178
|
# Get the execution ID
|
|
179
179
|
print("Execution ID:", execution.execution_id)
|
|
@@ -208,10 +208,10 @@ The `ExecutionResult` object contains the output and exit status of a completed
|
|
|
208
208
|
|
|
209
209
|
```python
|
|
210
210
|
# From synchronous execution
|
|
211
|
-
result = devbox.cmd.exec(
|
|
211
|
+
result = devbox.cmd.exec("ls -la /tmp")
|
|
212
212
|
|
|
213
213
|
# Or from asynchronous execution
|
|
214
|
-
execution = devbox.cmd.exec_async(
|
|
214
|
+
execution = devbox.cmd.exec_async("echo 'test'")
|
|
215
215
|
result = execution.result()
|
|
216
216
|
|
|
217
217
|
# Access execution results
|
|
@@ -250,7 +250,7 @@ def handle_output(line: str) -> None:
|
|
|
250
250
|
print("LOG:", line)
|
|
251
251
|
|
|
252
252
|
result = devbox.cmd.exec(
|
|
253
|
-
|
|
253
|
+
"python train.py",
|
|
254
254
|
stdout=handle_output,
|
|
255
255
|
stderr=lambda line: print("ERR:", line),
|
|
256
256
|
output=lambda line: print("ANY:", line),
|
|
@@ -267,7 +267,7 @@ def capture(line: str) -> None:
|
|
|
267
267
|
log_queue.put_nowait(line)
|
|
268
268
|
|
|
269
269
|
await devbox.cmd.exec(
|
|
270
|
-
|
|
270
|
+
"tail -f /var/log/app.log",
|
|
271
271
|
stdout=capture,
|
|
272
272
|
)
|
|
273
273
|
```
|
|
@@ -365,13 +365,13 @@ Devboxes support context managers for automatic cleanup:
|
|
|
365
365
|
```python
|
|
366
366
|
# Synchronous
|
|
367
367
|
with runloop.devbox.create(name="temp-devbox") as devbox:
|
|
368
|
-
result = devbox.cmd.exec(
|
|
368
|
+
result = devbox.cmd.exec("echo 'Hello'")
|
|
369
369
|
print(result.stdout())
|
|
370
370
|
# devbox is automatically shutdown when exiting the context
|
|
371
371
|
|
|
372
372
|
# Asynchronous
|
|
373
373
|
async with await runloop.devbox.create(name="temp-devbox") as devbox:
|
|
374
|
-
result = await devbox.cmd.exec(
|
|
374
|
+
result = await devbox.cmd.exec("echo 'Hello'")
|
|
375
375
|
print(await result.stdout())
|
|
376
376
|
# devbox is automatically shutdown when exiting the context
|
|
377
377
|
```
|
|
@@ -586,7 +586,7 @@ devbox = runloop.devbox.create(
|
|
|
586
586
|
)
|
|
587
587
|
|
|
588
588
|
# The storage object is now accessible at /home/user/data.txt in the devbox
|
|
589
|
-
result = devbox.cmd.exec(
|
|
589
|
+
result = devbox.cmd.exec("cat /home/user/data.txt")
|
|
590
590
|
print(result.stdout()) # "Hello, World!"
|
|
591
591
|
|
|
592
592
|
# Mount archived objects (tar, tgz, gzip) - they get extracted to a directory
|
|
@@ -607,7 +607,7 @@ devbox_with_archive = runloop.devbox.create(
|
|
|
607
607
|
)
|
|
608
608
|
|
|
609
609
|
# Access extracted archive contents
|
|
610
|
-
result = devbox_with_archive.cmd.exec(
|
|
610
|
+
result = devbox_with_archive.cmd.exec("ls -la /home/user/project/")
|
|
611
611
|
print(result.stdout())
|
|
612
612
|
```
|
|
613
613
|
|
|
@@ -634,7 +634,7 @@ runloop = RunloopSDK()
|
|
|
634
634
|
|
|
635
635
|
try:
|
|
636
636
|
devbox = runloop.devbox.create(name="example-devbox")
|
|
637
|
-
result = devbox.cmd.exec(
|
|
637
|
+
result = devbox.cmd.exec("invalid-command")
|
|
638
638
|
except runloop_api_client.APIConnectionError as e:
|
|
639
639
|
print("The server could not be reached")
|
|
640
640
|
print(e.__cause__) # an underlying Exception, likely raised within httpx.
|
|
@@ -694,14 +694,14 @@ async def main():
|
|
|
694
694
|
|
|
695
695
|
# All the same operations, but with await
|
|
696
696
|
async with await runloop.devbox.create(name="async-devbox") as devbox:
|
|
697
|
-
result = await devbox.cmd.exec(
|
|
697
|
+
result = await devbox.cmd.exec("pwd")
|
|
698
698
|
print(await result.stdout())
|
|
699
699
|
|
|
700
700
|
# Streaming (note: callbacks must be synchronous)
|
|
701
701
|
def capture(line: str) -> None:
|
|
702
702
|
print(">>", line)
|
|
703
703
|
|
|
704
|
-
await devbox.cmd.exec(
|
|
704
|
+
await devbox.cmd.exec("ls", stdout=capture)
|
|
705
705
|
|
|
706
706
|
# Async file operations
|
|
707
707
|
await devbox.file.write(path="/tmp/test.txt", contents="Hello")
|
|
@@ -136,7 +136,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
136
136
|
file_mounts: Optional[Dict[str, str]] | Omit = omit,
|
|
137
137
|
launch_parameters: Optional[LaunchParameters] | Omit = omit,
|
|
138
138
|
metadata: Optional[Dict[str, str]] | Omit = omit,
|
|
139
|
-
named_build_contexts: Optional[Dict[str, blueprint_create_params.NamedBuildContexts]] | Omit = omit,
|
|
140
139
|
secrets: Optional[Dict[str, str]] | Omit = omit,
|
|
141
140
|
services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
|
|
142
141
|
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
@@ -180,11 +179,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
180
179
|
|
|
181
180
|
metadata: (Optional) User defined metadata for the Blueprint.
|
|
182
181
|
|
|
183
|
-
named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
|
|
184
|
-
the keys are the name used when referencing the contexts in a Dockerfile. See
|
|
185
|
-
Docker buildx additional contexts for details:
|
|
186
|
-
https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
|
|
187
|
-
|
|
188
182
|
secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
|
|
189
183
|
will be available to commands during the build. Secrets are NOT stored in the
|
|
190
184
|
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
|
|
@@ -224,7 +218,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
224
218
|
"file_mounts": file_mounts,
|
|
225
219
|
"launch_parameters": launch_parameters,
|
|
226
220
|
"metadata": metadata,
|
|
227
|
-
"named_build_contexts": named_build_contexts,
|
|
228
221
|
"secrets": secrets,
|
|
229
222
|
"services": services,
|
|
230
223
|
"system_setup_commands": system_setup_commands,
|
|
@@ -658,7 +651,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
658
651
|
file_mounts: Optional[Dict[str, str]] | Omit = omit,
|
|
659
652
|
launch_parameters: Optional[LaunchParameters] | Omit = omit,
|
|
660
653
|
metadata: Optional[Dict[str, str]] | Omit = omit,
|
|
661
|
-
named_build_contexts: Optional[Dict[str, blueprint_preview_params.NamedBuildContexts]] | Omit = omit,
|
|
662
654
|
secrets: Optional[Dict[str, str]] | Omit = omit,
|
|
663
655
|
services: Optional[Iterable[blueprint_preview_params.Service]] | Omit = omit,
|
|
664
656
|
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
@@ -700,11 +692,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
700
692
|
|
|
701
693
|
metadata: (Optional) User defined metadata for the Blueprint.
|
|
702
694
|
|
|
703
|
-
named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
|
|
704
|
-
the keys are the name used when referencing the contexts in a Dockerfile. See
|
|
705
|
-
Docker buildx additional contexts for details:
|
|
706
|
-
https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
|
|
707
|
-
|
|
708
695
|
secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
|
|
709
696
|
will be available to commands during the build. Secrets are NOT stored in the
|
|
710
697
|
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
|
|
@@ -740,7 +727,6 @@ class BlueprintsResource(SyncAPIResource):
|
|
|
740
727
|
"file_mounts": file_mounts,
|
|
741
728
|
"launch_parameters": launch_parameters,
|
|
742
729
|
"metadata": metadata,
|
|
743
|
-
"named_build_contexts": named_build_contexts,
|
|
744
730
|
"secrets": secrets,
|
|
745
731
|
"services": services,
|
|
746
732
|
"system_setup_commands": system_setup_commands,
|
|
@@ -791,7 +777,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
791
777
|
file_mounts: Optional[Dict[str, str]] | Omit = omit,
|
|
792
778
|
launch_parameters: Optional[LaunchParameters] | Omit = omit,
|
|
793
779
|
metadata: Optional[Dict[str, str]] | Omit = omit,
|
|
794
|
-
named_build_contexts: Optional[Dict[str, blueprint_create_params.NamedBuildContexts]] | Omit = omit,
|
|
795
780
|
secrets: Optional[Dict[str, str]] | Omit = omit,
|
|
796
781
|
services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
|
|
797
782
|
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
@@ -835,11 +820,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
835
820
|
|
|
836
821
|
metadata: (Optional) User defined metadata for the Blueprint.
|
|
837
822
|
|
|
838
|
-
named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
|
|
839
|
-
the keys are the name used when referencing the contexts in a Dockerfile. See
|
|
840
|
-
Docker buildx additional contexts for details:
|
|
841
|
-
https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
|
|
842
|
-
|
|
843
823
|
secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
|
|
844
824
|
will be available to commands during the build. Secrets are NOT stored in the
|
|
845
825
|
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
|
|
@@ -879,7 +859,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
879
859
|
"file_mounts": file_mounts,
|
|
880
860
|
"launch_parameters": launch_parameters,
|
|
881
861
|
"metadata": metadata,
|
|
882
|
-
"named_build_contexts": named_build_contexts,
|
|
883
862
|
"secrets": secrets,
|
|
884
863
|
"services": services,
|
|
885
864
|
"system_setup_commands": system_setup_commands,
|
|
@@ -1313,7 +1292,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
1313
1292
|
file_mounts: Optional[Dict[str, str]] | Omit = omit,
|
|
1314
1293
|
launch_parameters: Optional[LaunchParameters] | Omit = omit,
|
|
1315
1294
|
metadata: Optional[Dict[str, str]] | Omit = omit,
|
|
1316
|
-
named_build_contexts: Optional[Dict[str, blueprint_preview_params.NamedBuildContexts]] | Omit = omit,
|
|
1317
1295
|
secrets: Optional[Dict[str, str]] | Omit = omit,
|
|
1318
1296
|
services: Optional[Iterable[blueprint_preview_params.Service]] | Omit = omit,
|
|
1319
1297
|
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
@@ -1355,11 +1333,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
1355
1333
|
|
|
1356
1334
|
metadata: (Optional) User defined metadata for the Blueprint.
|
|
1357
1335
|
|
|
1358
|
-
named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
|
|
1359
|
-
the keys are the name used when referencing the contexts in a Dockerfile. See
|
|
1360
|
-
Docker buildx additional contexts for details:
|
|
1361
|
-
https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
|
|
1362
|
-
|
|
1363
1336
|
secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
|
|
1364
1337
|
will be available to commands during the build. Secrets are NOT stored in the
|
|
1365
1338
|
blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
|
|
@@ -1395,7 +1368,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
|
|
|
1395
1368
|
"file_mounts": file_mounts,
|
|
1396
1369
|
"launch_parameters": launch_parameters,
|
|
1397
1370
|
"metadata": metadata,
|
|
1398
|
-
"named_build_contexts": named_build_contexts,
|
|
1399
1371
|
"secrets": secrets,
|
|
1400
1372
|
"services": services,
|
|
1401
1373
|
"system_setup_commands": system_setup_commands,
|
|
@@ -217,7 +217,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
217
217
|
successfully built Blueprint with the given name. Only one of (Snapshot ID,
|
|
218
218
|
Blueprint ID, Blueprint name) should be specified.
|
|
219
219
|
|
|
220
|
-
code_mounts: A list of code mounts to be included in the Devbox.
|
|
220
|
+
code_mounts: A list of code mounts to be included in the Devbox. Use mounts instead.
|
|
221
221
|
|
|
222
222
|
entrypoint: (Optional) When specified, the Devbox will run this script as its main
|
|
223
223
|
executable. The devbox lifecycle will be bound to entrypoint, shutting down when
|
|
@@ -225,7 +225,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
225
225
|
|
|
226
226
|
environment_variables: (Optional) Environment variables used to configure your Devbox.
|
|
227
227
|
|
|
228
|
-
file_mounts:
|
|
228
|
+
file_mounts: Map of paths and file contents to write before setup. Use mounts instead.
|
|
229
229
|
|
|
230
230
|
launch_parameters: Parameters to configure the resources and launch time behavior of the Devbox.
|
|
231
231
|
|
|
@@ -1755,7 +1755,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1755
1755
|
successfully built Blueprint with the given name. Only one of (Snapshot ID,
|
|
1756
1756
|
Blueprint ID, Blueprint name) should be specified.
|
|
1757
1757
|
|
|
1758
|
-
code_mounts: A list of code mounts to be included in the Devbox.
|
|
1758
|
+
code_mounts: A list of code mounts to be included in the Devbox. Use mounts instead.
|
|
1759
1759
|
|
|
1760
1760
|
entrypoint: (Optional) When specified, the Devbox will run this script as its main
|
|
1761
1761
|
executable. The devbox lifecycle will be bound to entrypoint, shutting down when
|
|
@@ -1763,7 +1763,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1763
1763
|
|
|
1764
1764
|
environment_variables: (Optional) Environment variables used to configure your Devbox.
|
|
1765
1765
|
|
|
1766
|
-
file_mounts:
|
|
1766
|
+
file_mounts: Map of paths and file contents to write before setup. Use mounts instead.
|
|
1767
1767
|
|
|
1768
1768
|
launch_parameters: Parameters to configure the resources and launch time behavior of the Devbox.
|
|
1769
1769
|
|
|
@@ -30,7 +30,7 @@ from .scorers import (
|
|
|
30
30
|
ScorersResourceWithStreamingResponse,
|
|
31
31
|
AsyncScorersResourceWithStreamingResponse,
|
|
32
32
|
)
|
|
33
|
-
from ..._types import
|
|
33
|
+
from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
|
|
34
34
|
from ..._utils import maybe_transform, async_maybe_transform
|
|
35
35
|
from ..._compat import cached_property
|
|
36
36
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -457,17 +457,17 @@ class ScenariosResource(SyncAPIResource):
|
|
|
457
457
|
self,
|
|
458
458
|
*,
|
|
459
459
|
scenario_id: str,
|
|
460
|
-
benchmark_run_id: Optional[str] |
|
|
461
|
-
metadata: Optional[Dict[str, str]] |
|
|
462
|
-
run_name: Optional[str] |
|
|
463
|
-
run_profile: Optional[scenario_start_run_params.RunProfile] |
|
|
460
|
+
benchmark_run_id: Optional[str] | Omit = omit,
|
|
461
|
+
metadata: Optional[Dict[str, str]] | Omit = omit,
|
|
462
|
+
run_name: Optional[str] | Omit = omit,
|
|
463
|
+
run_profile: Optional[scenario_start_run_params.RunProfile] | Omit = omit,
|
|
464
464
|
polling_config: PollingConfig | None = None,
|
|
465
465
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
466
466
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
467
467
|
extra_headers: Headers | None = None,
|
|
468
468
|
extra_query: Query | None = None,
|
|
469
469
|
extra_body: Body | None = None,
|
|
470
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
470
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
471
471
|
idempotency_key: str | None = None,
|
|
472
472
|
) -> ScenarioRunView:
|
|
473
473
|
"""Start a new ScenarioRun and wait for its environment to be ready.
|
|
@@ -913,11 +913,18 @@ class AsyncScenariosResource(AsyncAPIResource):
|
|
|
913
913
|
async def start_run_and_await_env_ready(
|
|
914
914
|
self,
|
|
915
915
|
scenario_id: str,
|
|
916
|
-
benchmark_run_id: Optional[str] |
|
|
917
|
-
metadata: Optional[Dict[str, str]] |
|
|
918
|
-
run_name: Optional[str] |
|
|
919
|
-
run_profile: Optional[scenario_start_run_params.RunProfile] |
|
|
916
|
+
benchmark_run_id: Optional[str] | Omit = omit,
|
|
917
|
+
metadata: Optional[Dict[str, str]] | Omit = omit,
|
|
918
|
+
run_name: Optional[str] | Omit = omit,
|
|
919
|
+
run_profile: Optional[scenario_start_run_params.RunProfile] | Omit = omit,
|
|
920
920
|
polling_config: PollingConfig | None = None,
|
|
921
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
922
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
923
|
+
extra_headers: Headers | None = None,
|
|
924
|
+
extra_query: Query | None = None,
|
|
925
|
+
extra_body: Body | None = None,
|
|
926
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
927
|
+
idempotency_key: str | None = None,
|
|
921
928
|
) -> ScenarioRunView:
|
|
922
929
|
"""Start a new ScenarioRun and wait for its environment to be ready.
|
|
923
930
|
|
|
@@ -941,6 +948,11 @@ class AsyncScenariosResource(AsyncAPIResource):
|
|
|
941
948
|
metadata=metadata,
|
|
942
949
|
run_name=run_name,
|
|
943
950
|
run_profile=run_profile,
|
|
951
|
+
extra_headers=extra_headers,
|
|
952
|
+
extra_query=extra_query,
|
|
953
|
+
extra_body=extra_body,
|
|
954
|
+
timeout=timeout,
|
|
955
|
+
idempotency_key=idempotency_key,
|
|
944
956
|
)
|
|
945
957
|
|
|
946
958
|
await self._client.devboxes.await_running(
|
{runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/__init__.py
RENAMED
|
@@ -5,19 +5,22 @@ Provides both sync (`RunloopSDK`) and async (`AsyncRunloopSDK`) interfaces.
|
|
|
5
5
|
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
|
-
from .sync import DevboxOps, RunloopSDK, SnapshotOps, BlueprintOps, StorageObjectOps
|
|
8
|
+
from .sync import DevboxOps, ScorerOps, RunloopSDK, SnapshotOps, BlueprintOps, StorageObjectOps
|
|
9
9
|
from .async_ import (
|
|
10
10
|
AsyncDevboxOps,
|
|
11
|
+
AsyncScorerOps,
|
|
11
12
|
AsyncRunloopSDK,
|
|
12
13
|
AsyncSnapshotOps,
|
|
13
14
|
AsyncBlueprintOps,
|
|
14
15
|
AsyncStorageObjectOps,
|
|
15
16
|
)
|
|
16
|
-
from .devbox import Devbox
|
|
17
|
+
from .devbox import Devbox, NamedShell
|
|
18
|
+
from .scorer import Scorer
|
|
17
19
|
from .snapshot import Snapshot
|
|
18
20
|
from .blueprint import Blueprint
|
|
19
21
|
from .execution import Execution
|
|
20
|
-
from .async_devbox import AsyncDevbox
|
|
22
|
+
from .async_devbox import AsyncDevbox, AsyncNamedShell
|
|
23
|
+
from .async_scorer import AsyncScorer
|
|
21
24
|
from .async_snapshot import AsyncSnapshot
|
|
22
25
|
from .storage_object import StorageObject
|
|
23
26
|
from .async_blueprint import AsyncBlueprint
|
|
@@ -35,6 +38,8 @@ __all__ = [
|
|
|
35
38
|
"AsyncDevboxOps",
|
|
36
39
|
"BlueprintOps",
|
|
37
40
|
"AsyncBlueprintOps",
|
|
41
|
+
"ScorerOps",
|
|
42
|
+
"AsyncScorerOps",
|
|
38
43
|
"SnapshotOps",
|
|
39
44
|
"AsyncSnapshotOps",
|
|
40
45
|
"StorageObjectOps",
|
|
@@ -48,8 +53,12 @@ __all__ = [
|
|
|
48
53
|
"AsyncExecutionResult",
|
|
49
54
|
"Blueprint",
|
|
50
55
|
"AsyncBlueprint",
|
|
56
|
+
"Scorer",
|
|
57
|
+
"AsyncScorer",
|
|
51
58
|
"Snapshot",
|
|
52
59
|
"AsyncSnapshot",
|
|
53
60
|
"StorageObject",
|
|
54
61
|
"AsyncStorageObject",
|
|
62
|
+
"NamedShell",
|
|
63
|
+
"AsyncNamedShell",
|
|
55
64
|
]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from typing import Union, Callable, Optional
|
|
2
2
|
from typing_extensions import TypedDict
|
|
3
3
|
|
|
4
|
-
from runloop_api_client.types.devboxes import DiskSnapshotUpdateParams
|
|
5
|
-
|
|
6
4
|
from .._types import Body, Query, Headers, Timeout, NotGiven
|
|
7
5
|
from ..lib.polling import PollingConfig
|
|
6
|
+
from ..types.devboxes import DiskSnapshotListParams, DiskSnapshotUpdateParams
|
|
7
|
+
from ..types.scenarios import ScorerListParams, ScorerCreateParams, ScorerUpdateParams, ScorerValidateParams
|
|
8
8
|
from ..types.devbox_list_params import DevboxListParams
|
|
9
9
|
from ..types.object_list_params import ObjectListParams
|
|
10
10
|
from ..types.devbox_create_params import DevboxCreateParams, DevboxBaseCreateParams
|
|
@@ -15,12 +15,11 @@ from ..types.blueprint_create_params import BlueprintCreateParams
|
|
|
15
15
|
from ..types.devbox_upload_file_params import DevboxUploadFileParams
|
|
16
16
|
from ..types.devbox_create_tunnel_params import DevboxCreateTunnelParams
|
|
17
17
|
from ..types.devbox_download_file_params import DevboxDownloadFileParams
|
|
18
|
-
from ..types.devbox_execute_async_params import
|
|
18
|
+
from ..types.devbox_execute_async_params import DevboxNiceExecuteAsyncParams
|
|
19
19
|
from ..types.devbox_remove_tunnel_params import DevboxRemoveTunnelParams
|
|
20
20
|
from ..types.devbox_snapshot_disk_params import DevboxSnapshotDiskParams
|
|
21
21
|
from ..types.devbox_read_file_contents_params import DevboxReadFileContentsParams
|
|
22
22
|
from ..types.devbox_write_file_contents_params import DevboxWriteFileContentsParams
|
|
23
|
-
from ..types.devboxes.disk_snapshot_list_params import DiskSnapshotListParams
|
|
24
23
|
|
|
25
24
|
LogCallback = Callable[[str], None]
|
|
26
25
|
|
|
@@ -36,7 +35,7 @@ class ExecuteStreamingCallbacks(TypedDict, total=False):
|
|
|
36
35
|
"""Callback invoked for all log lines (both stdout and stderr)"""
|
|
37
36
|
|
|
38
37
|
|
|
39
|
-
class
|
|
38
|
+
class BaseRequestOptions(TypedDict, total=False):
|
|
40
39
|
extra_headers: Optional[Headers]
|
|
41
40
|
"""Send extra headers"""
|
|
42
41
|
|
|
@@ -50,12 +49,12 @@ class RequestOptions(TypedDict, total=False):
|
|
|
50
49
|
"""Override the client-level default timeout for this request, in seconds"""
|
|
51
50
|
|
|
52
51
|
|
|
53
|
-
class LongRequestOptions(
|
|
52
|
+
class LongRequestOptions(BaseRequestOptions, total=False):
|
|
54
53
|
idempotency_key: Optional[str]
|
|
55
54
|
"""Specify a custom idempotency key for this request"""
|
|
56
55
|
|
|
57
56
|
|
|
58
|
-
class PollingRequestOptions(
|
|
57
|
+
class PollingRequestOptions(BaseRequestOptions, total=False):
|
|
59
58
|
polling_config: Optional[PollingConfig]
|
|
60
59
|
"""Configuration for polling behavior"""
|
|
61
60
|
|
|
@@ -72,15 +71,15 @@ class SDKDevboxCreateFromImageParams(DevboxBaseCreateParams, LongPollingRequestO
|
|
|
72
71
|
pass
|
|
73
72
|
|
|
74
73
|
|
|
75
|
-
class SDKDevboxExecuteParams(
|
|
74
|
+
class SDKDevboxExecuteParams(DevboxNiceExecuteAsyncParams, ExecuteStreamingCallbacks, LongPollingRequestOptions):
|
|
76
75
|
pass
|
|
77
76
|
|
|
78
77
|
|
|
79
|
-
class SDKDevboxExecuteAsyncParams(
|
|
78
|
+
class SDKDevboxExecuteAsyncParams(DevboxNiceExecuteAsyncParams, ExecuteStreamingCallbacks, LongRequestOptions):
|
|
80
79
|
pass
|
|
81
80
|
|
|
82
81
|
|
|
83
|
-
class SDKDevboxListParams(DevboxListParams,
|
|
82
|
+
class SDKDevboxListParams(DevboxListParams, BaseRequestOptions):
|
|
84
83
|
pass
|
|
85
84
|
|
|
86
85
|
|
|
@@ -116,7 +115,7 @@ class SDKDevboxSnapshotDiskParams(DevboxSnapshotDiskParams, LongPollingRequestOp
|
|
|
116
115
|
pass
|
|
117
116
|
|
|
118
117
|
|
|
119
|
-
class SDKDiskSnapshotListParams(DiskSnapshotListParams,
|
|
118
|
+
class SDKDiskSnapshotListParams(DiskSnapshotListParams, BaseRequestOptions):
|
|
120
119
|
pass
|
|
121
120
|
|
|
122
121
|
|
|
@@ -128,11 +127,11 @@ class SDKBlueprintCreateParams(BlueprintCreateParams, LongPollingRequestOptions)
|
|
|
128
127
|
pass
|
|
129
128
|
|
|
130
129
|
|
|
131
|
-
class SDKBlueprintListParams(BlueprintListParams,
|
|
130
|
+
class SDKBlueprintListParams(BlueprintListParams, BaseRequestOptions):
|
|
132
131
|
pass
|
|
133
132
|
|
|
134
133
|
|
|
135
|
-
class SDKObjectListParams(ObjectListParams,
|
|
134
|
+
class SDKObjectListParams(ObjectListParams, BaseRequestOptions):
|
|
136
135
|
pass
|
|
137
136
|
|
|
138
137
|
|
|
@@ -140,5 +139,21 @@ class SDKObjectCreateParams(ObjectCreateParams, LongRequestOptions):
|
|
|
140
139
|
pass
|
|
141
140
|
|
|
142
141
|
|
|
143
|
-
class SDKObjectDownloadParams(ObjectDownloadParams,
|
|
142
|
+
class SDKObjectDownloadParams(ObjectDownloadParams, BaseRequestOptions):
|
|
143
|
+
pass
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
class SDKScorerCreateParams(ScorerCreateParams, LongRequestOptions):
|
|
147
|
+
pass
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
class SDKScorerListParams(ScorerListParams, BaseRequestOptions):
|
|
151
|
+
pass
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class SDKScorerUpdateParams(ScorerUpdateParams, LongRequestOptions):
|
|
155
|
+
pass
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
class SDKScorerValidateParams(ScorerValidateParams, LongRequestOptions):
|
|
144
159
|
pass
|