runloop-api-client 1.31.0__tar.gz → 2.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-2.0.0/.release-please-manifest.json +3 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/CHANGELOG.md +72 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/CONTRIBUTING.md +12 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/PKG-INFO +47 -25
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/README-SDK.md +43 -3
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/README.md +40 -21
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/api.md +5 -125
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/pyproject.toml +17 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/release-please-config.json +7 -2
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_client.py +0 -152
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/pagination.py +0 -375
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/__init__.py +0 -56
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/axons/axons.py +176 -16
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/devboxes/devboxes.py +8 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/devboxes/executions.py +12 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/gateway_configs.py +6 -6
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/mcp_configs.py +4 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/network_policies.py +4 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/secrets.py +315 -21
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/__init__.py +4 -38
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/_types.py +1 -89
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_.py +9 -181
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_execution.py +33 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_secret.py +13 -7
- runloop_api_client-2.0.0/src/runloop_api_client/sdk/async_secret_by_id.py +44 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_storage_object.py +30 -5
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/execution.py +33 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/secret.py +14 -8
- runloop_api_client-2.0.0/src/runloop_api_client/sdk/secret_by_id.py +44 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/storage_object.py +30 -5
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/sync.py +9 -181
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/__init__.py +2 -40
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_create_params.py +4 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_list_params.py +12 -1
- runloop_api_client-2.0.0/src/runloop_api_client/types/axon_update_params.py +16 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_view.py +7 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_create_params.py +15 -3
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +5 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_view.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/gateway_config_create_params.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/gateway_config_update_params.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/gateway_config_view.py +1 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/mcp_config_create_params.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/mcp_config_update_params.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/mcp_config_view.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/network_policy_create_params.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/network_policy_view.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_view.py +7 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/scope_entry_view.py +0 -2
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/scope_entry_view_param.py +0 -2
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/secret_create_params.py +1 -1
- runloop_api_client-2.0.0/src/runloop_api_client/types/secret_update_by_id_params.py +16 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/secret_view.py +1 -4
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/__init__.py +0 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/launch_parameters.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_axons.py +98 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_secrets.py +236 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/conftest.py +2 -89
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/devbox/test_edge_cases.py +2 -2
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_ops.py +17 -264
- runloop_api_client-2.0.0/tests/sdk/test_async_secret.py +47 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_storage_object.py +0 -28
- runloop_api_client-2.0.0/tests/sdk/test_execution_stdin_transport.py +86 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_ops.py +17 -250
- runloop_api_client-2.0.0/tests/sdk/test_secret.py +47 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_storage_object.py +0 -69
- runloop_api_client-2.0.0/tests/sdk/test_storage_upload_transport.py +204 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/README.md +1 -1
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_devbox.py +16 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_sdk.py +0 -2
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_secret.py +42 -47
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_devbox.py +16 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_sdk.py +0 -2
- runloop_api_client-2.0.0/tests/smoketests/sdk/test_secret.py +125 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/uv.lock +1 -1
- runloop_api_client-1.31.0/.release-please-manifest.json +0 -3
- runloop_api_client-1.31.0/src/runloop_api_client/resources/benchmark_jobs.py +0 -412
- runloop_api_client-1.31.0/src/runloop_api_client/resources/benchmark_runs.py +0 -645
- runloop_api_client-1.31.0/src/runloop_api_client/resources/benchmarks.py +0 -1129
- runloop_api_client-1.31.0/src/runloop_api_client/resources/scenarios/__init__.py +0 -47
- runloop_api_client-1.31.0/src/runloop_api_client/resources/scenarios/runs.py +0 -991
- runloop_api_client-1.31.0/src/runloop_api_client/resources/scenarios/scenarios.py +0 -1253
- runloop_api_client-1.31.0/src/runloop_api_client/resources/scenarios/scorers.py +0 -527
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/async_benchmark.py +0 -169
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/async_benchmark_run.py +0 -127
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/async_scenario.py +0 -118
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/async_scenario_builder.py +0 -480
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/async_scenario_run.py +0 -242
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/async_scorer.py +0 -66
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/benchmark.py +0 -167
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/benchmark_run.py +0 -127
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/scenario.py +0 -118
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/scenario_builder.py +0 -480
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/scenario_run.py +0 -242
- runloop_api_client-1.31.0/src/runloop_api_client/sdk/scorer.py +0 -66
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_create_params.py +0 -40
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_definitions_params.py +0 -15
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_job_create_params.py +0 -208
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_job_list_params.py +0 -27
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_job_list_view.py +0 -17
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_job_view.py +0 -335
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_list_params.py +0 -27
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_list_public_params.py +0 -27
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_run_list_params.py +0 -33
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -27
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_run_list_view.py +0 -17
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_run_view.py +0 -58
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_start_run_params.py +0 -29
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_update_params.py +0 -42
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/benchmark_view.py +0 -56
- runloop_api_client-1.31.0/src/runloop_api_client/types/input_context.py +0 -19
- runloop_api_client-1.31.0/src/runloop_api_client/types/input_context_param.py +0 -20
- runloop_api_client-1.31.0/src/runloop_api_client/types/input_context_update_param.py +0 -16
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_create_params.py +0 -59
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_definition_list_view.py +0 -17
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_environment.py +0 -33
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_environment_param.py +0 -35
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_list_params.py +0 -33
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_list_public_params.py +0 -27
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_run_list_view.py +0 -17
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_run_view.py +0 -58
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_start_run_params.py +0 -30
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_update_params.py +0 -55
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenario_view.py +0 -73
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/__init__.py +0 -12
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/run_list_params.py +0 -36
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -24
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -18
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_contract.py +0 -17
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_contract_param.py +0 -19
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_contract_result_view.py +0 -20
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_contract_update_param.py +0 -15
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_function.py +0 -157
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_function_param.py +0 -153
- runloop_api_client-1.31.0/src/runloop_api_client/types/scoring_function_result_view.py +0 -25
- runloop_api_client-1.31.0/src/runloop_api_client/types/shared/run_profile.py +0 -41
- runloop_api_client-1.31.0/src/runloop_api_client/types/shared_params/run_profile.py +0 -42
- runloop_api_client-1.31.0/tests/api_resources/scenarios/__init__.py +0 -1
- runloop_api_client-1.31.0/tests/api_resources/scenarios/test_runs.py +0 -527
- runloop_api_client-1.31.0/tests/api_resources/scenarios/test_scorers.py +0 -336
- runloop_api_client-1.31.0/tests/api_resources/test_benchmark_jobs.py +0 -247
- runloop_api_client-1.31.0/tests/api_resources/test_benchmark_runs.py +0 -432
- runloop_api_client-1.31.0/tests/api_resources/test_benchmarks.py +0 -803
- runloop_api_client-1.31.0/tests/api_resources/test_scenarios.py +0 -1012
- runloop_api_client-1.31.0/tests/sdk/test_async_benchmark.py +0 -130
- runloop_api_client-1.31.0/tests/sdk/test_async_benchmark_run.py +0 -120
- runloop_api_client-1.31.0/tests/sdk/test_async_scenario.py +0 -121
- runloop_api_client-1.31.0/tests/sdk/test_async_scenario_builder.py +0 -292
- runloop_api_client-1.31.0/tests/sdk/test_async_scenario_run.py +0 -162
- runloop_api_client-1.31.0/tests/sdk/test_async_scorer.py +0 -51
- runloop_api_client-1.31.0/tests/sdk/test_benchmark.py +0 -122
- runloop_api_client-1.31.0/tests/sdk/test_benchmark_run.py +0 -114
- runloop_api_client-1.31.0/tests/sdk/test_scenario.py +0 -121
- runloop_api_client-1.31.0/tests/sdk/test_scenario_builder.py +0 -287
- runloop_api_client-1.31.0/tests/sdk/test_scenario_run.py +0 -157
- runloop_api_client-1.31.0/tests/sdk/test_scorer.py +0 -51
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_async_benchmark.py +0 -192
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_async_scenario.py +0 -260
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_async_scorer.py +0 -103
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_benchmark.py +0 -190
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_scenario.py +0 -259
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_scorer.py +0 -103
- runloop_api_client-1.31.0/tests/smoketests/sdk/test_secret.py +0 -145
- runloop_api_client-1.31.0/tests/smoketests/test_scenarios_benchmarks.py +0 -82
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/.gitignore +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/AGENTS.md +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/CLAUDE.md +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/EXAMPLES.md +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/LICENSE +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/SECURITY.md +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/bin/check-release-environment +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/bin/publish-pypi +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/_harness.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/blueprint_with_build_context.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/devbox_snapshot_resume.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/devbox_snapshots.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/devbox_tunnel.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/example_types.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/mcp_github_tools.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/registry.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/examples/secrets_with_devbox.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/requirements-dev.lock +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_compat.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_json.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_path.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/_utils/_validation.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/_ignore.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/context_loader.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/lib/wait_for_status.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/accounts.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/agents.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/apikeys.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/axons/events.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/objects.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/pty.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/resources/restricted_keys.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/agent.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/axon.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/devbox.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/account_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/agent_devbox_counts_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/agent_list_public_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/agent_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/allowed_cidr.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/allowed_cidr_param.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/api_key_created_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/apikey_create_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/axon_event_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/event_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_create_gateway_token_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_create_mcp_token_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_eviction_event_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/gateway_token_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/mcp_token_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_create_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_download_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/object_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/port_rule.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/port_rule_param.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/pty_connect_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/pty_connect_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/pty_control_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/pty_control_result_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/pty_tunnel_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/restricted_key_create_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/restricted_key_created_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/auth_mechanism.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/broker_mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/custom_header.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/lifecycle_configuration.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/lifecycle_hooks.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared/resume_triggers.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/auth_mechanism.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/broker_mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/custom_header.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/lifecycle_configuration.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/lifecycle_hooks.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/shared_params/resume_triggers.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/axons/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/axons/test_events.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/axons/test_sql.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_accounts.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_agents.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_apikeys.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_devboxes.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_gateway_configs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_mcp_configs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_network_policies.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_objects.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_pty.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/api_resources/test_restricted_keys.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/conftest.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/async_devbox/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/async_devbox/conftest.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/async_devbox/test_core.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/devbox/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/devbox/conftest.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/devbox/test_core.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/devbox/test_streaming.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_axon.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_execution.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_execution_result.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_axon.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_execution.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_execution_result.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_helpers.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/conftest.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/examples/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/examples/test_examples.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/README.md +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/__init__.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/conftest.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_axon.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/test_blueprints.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/test_devboxes.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/test_executions.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/test_snapshots.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/smoketests/utils.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_client.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_command_id.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_files.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_h2_bulkhead_integration.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_models.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_polling.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_qs.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_response.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_shared_pool.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_transfer_client.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_transform.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_utils/test_context_loader.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_utils/test_json.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_utils/test_path.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-1.31.0 → runloop_api_client-2.0.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,77 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.0](https://github.com/runloopai/api-client-python/compare/v1.32.0...v2.0.0) (2026-10-08)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* remove benchmark identities and shared provisioning behavior
|
|
9
|
+
* **api:** remove the benchmark and scenario APIs
|
|
10
|
+
* **sdk:** drop InputContextPreview
|
|
11
|
+
* **sdk:** drop custom edits to generated benchmark and scenario files
|
|
12
|
+
* **sdk:** remove hosted benchmark and scenario wrappers
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **api:** remove the benchmark and scenario APIs ([fe3aca1](https://github.com/runloopai/api-client-python/commit/fe3aca1d53f2f5ad3dc48da321bbb0d01c7a03f7))
|
|
17
|
+
* implement Azure storage, runtime secrets, and service lifecycle coverage ([6d46b7b](https://github.com/runloopai/api-client-python/commit/6d46b7b58c770af8fe548cb270530cd083d0f5b4))
|
|
18
|
+
* remove benchmark identities and shared provisioning behavior ([9922030](https://github.com/runloopai/api-client-python/commit/9922030a5057e3b01c656eb1ab708d1cff4d41e8))
|
|
19
|
+
* **sdk:** add sync and async execution stdin helpers ([#15](https://github.com/runloopai/api-client-python/issues/15)) ([3388fd6](https://github.com/runloopai/api-client-python/commit/3388fd659e62a4fa61ac9b120b4047555600175c))
|
|
20
|
+
* **sdk:** remove hosted benchmark and scenario wrappers ([f14c4c2](https://github.com/runloopai/api-client-python/commit/f14c4c2aad5ec0e76a21538fac5fab58d08f1964))
|
|
21
|
+
* **secrets:** add ID endpoints and latest-name updates ([9e3d9bd](https://github.com/runloopai/api-client-python/commit/9e3d9bd2fffb506151ddd4281a307037dd4525b8))
|
|
22
|
+
* **secrets:** add sync and async exact ID handles ([#11](https://github.com/runloopai/api-client-python/issues/11)) ([a930959](https://github.com/runloopai/api-client-python/commit/a9309592d5ede888cd8222c60bc10087d9ff41af))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* **api:** allow CUSTOM_SIZE with 0.5 CPU cores ([4c0df1f](https://github.com/runloopai/api-client-python/commit/4c0df1f95fa7f4d1d10bb72b3ed274333139ef61))
|
|
28
|
+
* **api:** require a body when sending execution stdin ([0b5c51d](https://github.com/runloopai/api-client-python/commit/0b5c51d9037d51e31e8bacbd24943bee1ad69c72))
|
|
29
|
+
* **axon:** keep deleted axons readable and reject writes ([c95f902](https://github.com/runloopai/api-client-python/commit/c95f902f58844cc879c8e2a65d7aea7d6aa9ffdd))
|
|
30
|
+
* **mux:** return client errors for malformed entity ids ([aff1b73](https://github.com/runloopai/api-client-python/commit/aff1b7331d9acac55eab9bb304cb8fcee129d1a0))
|
|
31
|
+
* **mux:** validate scenario custom scorer references ([a3b50f5](https://github.com/runloopai/api-client-python/commit/a3b50f5b6e42753d497686818a72f484b0987811))
|
|
32
|
+
* **release:** keep the Python lockfile version consistent ([#12](https://github.com/runloopai/api-client-python/issues/12)) ([0369ef5](https://github.com/runloopai/api-client-python/commit/0369ef5d0cd1dceb619f1ad5fdf8b6fa460b76c9))
|
|
33
|
+
* require scoped handles in backend workflows ([e666db1](https://github.com/runloopai/api-client-python/commit/e666db1d07eaac7d39bc66368a4cdd9a16b74e19))
|
|
34
|
+
* **sdk:** drop custom edits to generated benchmark and scenario files ([a01ed98](https://github.com/runloopai/api-client-python/commit/a01ed98a7eedc32834528923a246450be3839745))
|
|
35
|
+
* **sdk:** drop InputContextPreview ([ed06423](https://github.com/runloopai/api-client-python/commit/ed064233c4b228b2a30b846414e22a9ca95ac91f))
|
|
36
|
+
* **storage:** preserve signed upload headers and isolate credentials ([#13](https://github.com/runloopai/api-client-python/issues/13)) ([386bd06](https://github.com/runloopai/api-client-python/commit/386bd06fc4dd5738f486a1fd808ef2fb6f3261eb))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Chores
|
|
40
|
+
|
|
41
|
+
* **security:** Improve security docs and tighten JWT audience ([53adee2](https://github.com/runloopai/api-client-python/commit/53adee2578b0040853a9d1a13e8c14b48b9738a8))
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### Documentation
|
|
45
|
+
|
|
46
|
+
* **sdk:** clarify that axon lists include deleted entries ([#14](https://github.com/runloopai/api-client-python/issues/14)) ([b9cdcc7](https://github.com/runloopai/api-client-python/commit/b9cdcc75fe73aa0543a31a0f9c5c1eafe923fdf5))
|
|
47
|
+
|
|
48
|
+
## [1.32.0](https://github.com/runloopai/api-client-python/compare/v1.31.0...v1.32.0) (2026-09-08)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### Features
|
|
52
|
+
|
|
53
|
+
* **axon:** accept user metadata at creation ([d2a4242](https://github.com/runloopai/api-client-python/commit/d2a42420be6a0b355a5511eefedc83044d7f11fe))
|
|
54
|
+
* **axon:** add axon metadata update endpoint ([f66ff15](https://github.com/runloopai/api-client-python/commit/f66ff15436bf522020ebc8dd5b891fd21f0081af))
|
|
55
|
+
* **axon:** filter axon lists by metadata and add metadata discovery endpoints ([a8dc212](https://github.com/runloopai/api-client-python/commit/a8dc212b840327a430d7f98f45172fd110f7a9f6))
|
|
56
|
+
* **stlc:** automate SDK generation ([a33c2a4](https://github.com/runloopai/api-client-python/commit/a33c2a470b6701da37a2c9869d9216d67daa0d2a))
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Bug Fixes
|
|
60
|
+
|
|
61
|
+
* **ci:** authenticate SDK back-sync pushes ([#4](https://github.com/runloopai/api-client-python/issues/4)) ([04cae15](https://github.com/runloopai/api-client-python/commit/04cae15abe12cbf205b1d645592a89c9a530752f))
|
|
62
|
+
* **docs:** deploy documentation for releases ([#835](https://github.com/runloopai/api-client-python/issues/835)) ([68023fb](https://github.com/runloopai/api-client-python/commit/68023fb7c86dd5c9d23360fb8f4e680914d99e52))
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### Chores
|
|
66
|
+
|
|
67
|
+
* **stlc:** run Promote SDKs on a daily schedule ([582ab9d](https://github.com/runloopai/api-client-python/commit/582ab9d957684efadcf585f3632ec58084232bcc))
|
|
68
|
+
* **stlc:** run Promote SDKs on a daily schedule ([63c6ef1](https://github.com/runloopai/api-client-python/commit/63c6ef146a0ec0ea5cf5487f01e4ae51ca0e2b54))
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
### Documentation
|
|
72
|
+
|
|
73
|
+
* **readme:** lead with the sandbox category and add package keywords ([#840](https://github.com/runloopai/api-client-python/issues/840)) ([8353d09](https://github.com/runloopai/api-client-python/commit/8353d097d2ae185cf9082f4c59db468a6fcd15c8))
|
|
74
|
+
|
|
3
75
|
## [1.31.0](https://github.com/runloopai/api-client-python/compare/v1.30.0...v1.31.0) (2026-08-25)
|
|
4
76
|
|
|
5
77
|
|
|
@@ -150,6 +150,18 @@ $ ./scripts/format
|
|
|
150
150
|
|
|
151
151
|
## Publishing and releases
|
|
152
152
|
|
|
153
|
+
The checked-in `uv.lock` must match `pyproject.toml` before dependency installation.
|
|
154
|
+
CI checks this with its pinned uv version (0.10.2). Refresh with that version of
|
|
155
|
+
`uv lock`, without upgrading dependencies, when changing package metadata.
|
|
156
|
+
|
|
157
|
+
Release Please updates the editable root package in `uv.lock` through its TOML
|
|
158
|
+
extra-file updater. The name filter uses `name.value` because the pinned
|
|
159
|
+
Release Please 17.3.0 parser represents TOML strings as tagged values. When upgrading
|
|
160
|
+
the release action, verify a simulated version bump changes only the root package's
|
|
161
|
+
version and that `uv lock --check` still succeeds; never target a positional package
|
|
162
|
+
index or apply a version replacement to all dependencies.
|
|
163
|
+
|
|
164
|
+
|
|
153
165
|
Changes made to this repository via the automated release PR pipeline should publish to PyPI automatically. If
|
|
154
166
|
the changes aren't made through the automated pipeline, you may want to make releases manually.
|
|
155
167
|
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version:
|
|
4
|
-
Summary:
|
|
5
|
-
Project-URL: Homepage, https://
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Official Python SDK for Runloop — secure Linux sandboxes (Devboxes) where AI agents run code, edit files, and expose ports
|
|
5
|
+
Project-URL: Homepage, https://runloop.ai
|
|
6
6
|
Project-URL: Repository, https://github.com/runloopai/api-client-python
|
|
7
|
-
Project-URL: Documentation, https://
|
|
7
|
+
Project-URL: Documentation, https://docs.runloop.ai
|
|
8
|
+
Project-URL: API Reference, https://runloopai.github.io/api-client-python/
|
|
8
9
|
Author-email: Runloop <support@runloop.ai>
|
|
9
10
|
License: MIT
|
|
11
|
+
Keywords: agent-runtime,ai-agents,code-execution,code-interpreter,devbox,llm,microvm,runloop,sandbox
|
|
10
12
|
Classifier: Intended Audience :: Developers
|
|
11
13
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
14
|
Classifier: Operating System :: MacOS
|
|
@@ -20,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
20
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
24
|
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
23
26
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
27
|
Classifier: Typing :: Typed
|
|
25
28
|
Requires-Python: >=3.9
|
|
@@ -35,54 +38,73 @@ Requires-Dist: aiohttp; extra == 'aiohttp'
|
|
|
35
38
|
Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
|
|
36
39
|
Description-Content-Type: text/markdown
|
|
37
40
|
|
|
38
|
-
# Runloop Python
|
|
41
|
+
# Runloop Python SDK — secure sandboxes for AI agents
|
|
39
42
|
|
|
40
43
|
<!-- prettier-ignore -->
|
|
41
44
|
[)](https://pypi.org/project/runloop_api_client/)
|
|
42
45
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
and
|
|
46
|
+
Run AI agents and AI-generated code in **Devboxes**: isolated Linux sandboxes with a shell, a
|
|
47
|
+
filesystem, networking, and optional GPUs. Use this library to create a sandbox, run commands in it,
|
|
48
|
+
read and write files, expose ports over HTTPS, and snapshot the whole machine so you can pause and
|
|
49
|
+
resume it later.
|
|
46
50
|
|
|
47
|
-
|
|
51
|
+
Why teams pick Runloop:
|
|
48
52
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
- **Safe by default.** Every devbox is isolated at both the VM and container level, so untrusted
|
|
54
|
+
agent output never touches your infrastructure.
|
|
55
|
+
- **Built for long-running agents.** Devboxes persist for as long as you need, and snapshots let you
|
|
56
|
+
suspend, resume, and branch an agent's machine state.
|
|
57
|
+
- **Fast starts.** Blueprints bake your dependencies into a reusable image so agents boot in seconds
|
|
58
|
+
instead of installing tooling every run.
|
|
59
|
+
- **Ready for production.** Secrets injection, AI gateways, network policies, and VPC deployment are
|
|
60
|
+
part of the platform.
|
|
54
61
|
|
|
55
62
|
## Installation
|
|
56
63
|
|
|
57
64
|
```sh
|
|
58
|
-
# install from PyPI
|
|
59
65
|
pip install runloop_api_client
|
|
60
66
|
```
|
|
61
67
|
|
|
62
|
-
##
|
|
63
|
-
|
|
64
|
-
The full API of this library can be found in [api.md](api.md).
|
|
65
|
-
|
|
66
|
-
### Object-Oriented SDK
|
|
68
|
+
## Quickstart
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
Set `RUNLOOP_API_KEY` in your environment ([get a free key](https://runloop.ai) — new accounts start
|
|
71
|
+
with $50 in credits), then:
|
|
69
72
|
|
|
70
73
|
```python
|
|
71
74
|
from runloop_api_client import RunloopSDK
|
|
72
75
|
|
|
73
76
|
runloop = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
|
|
74
77
|
|
|
75
|
-
# Create a
|
|
78
|
+
# Create a sandbox, run a command in it, and clean it up on exit.
|
|
76
79
|
with runloop.devbox.create(name="my-devbox") as devbox:
|
|
77
|
-
|
|
80
|
+
devbox.file.write(file_path="main.py", contents="print('hello from a sandbox')")
|
|
81
|
+
result = devbox.cmd.exec("python main.py")
|
|
78
82
|
print(result.stdout())
|
|
79
83
|
```
|
|
80
84
|
|
|
81
|
-
**See the [SDK documentation](README-SDK.md) for complete examples and API reference
|
|
85
|
+
**See the [SDK documentation](README-SDK.md) for complete examples and API reference**, and
|
|
86
|
+
[docs.runloop.ai](https://docs.runloop.ai) for platform guides. Agents and LLM tooling can read
|
|
87
|
+
[llms.txt](llms.txt) for a condensed overview of the whole platform.
|
|
88
|
+
|
|
89
|
+
## Documentation
|
|
90
|
+
|
|
91
|
+
- [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents
|
|
92
|
+
- [`RunloopSDK` reference](README-SDK.md) — the high-level, object-oriented Python interface
|
|
93
|
+
- [api.md](https://github.com/runloopai/api-client-python/blob/main/api.md) — the full generated REST surface
|
|
94
|
+
- [examples/](examples) — runnable end-to-end scripts
|
|
95
|
+
- [llms.txt](llms.txt) — condensed platform summary for AI coding agents
|
|
96
|
+
|
|
97
|
+
## Usage
|
|
98
|
+
|
|
99
|
+
This library ships two layers: the object-oriented `RunloopSDK` shown above, and the generated REST
|
|
100
|
+
client it is built on. Both have synchronous and asynchronous variants, include type definitions for
|
|
101
|
+
all request params and response fields, and are powered by
|
|
102
|
+
[httpx](https://github.com/encode/httpx). The generated client is produced with
|
|
103
|
+
[Stainless](https://www.stainless.com/).
|
|
82
104
|
|
|
83
105
|
### REST API Client
|
|
84
106
|
|
|
85
|
-
|
|
107
|
+
To use the generated REST API client directly:
|
|
86
108
|
|
|
87
109
|
```python
|
|
88
110
|
import os
|
|
@@ -10,6 +10,7 @@ The `RunloopSDK` builds on top of the underlying REST client and provides a Pyth
|
|
|
10
10
|
- [Core Concepts](#core-concepts)
|
|
11
11
|
- [RunloopSDK](#runloopsdk)
|
|
12
12
|
- [Available Resources](#available-resources)
|
|
13
|
+
- [Secrets: names and exact IDs](#secrets-names-and-exact-ids)
|
|
13
14
|
- [Devbox](#devbox)
|
|
14
15
|
- [Command Execution](#command-execution)
|
|
15
16
|
- [Execution Management](#execution-management)
|
|
@@ -122,15 +123,26 @@ The SDK provides object-oriented interfaces for all major Runloop resources:
|
|
|
122
123
|
- **`runloop.storage_object`** - Storage object management (upload, download, list objects)
|
|
123
124
|
- **`runloop.agent`** - Agent management (create, list agents from npm/pip/git)
|
|
124
125
|
- **`runloop.axon`** - [Beta] Axon management (create, publish events, subscribe to SSE streams, SQL queries)
|
|
125
|
-
- **`runloop.scenario`** - Scenario management (list scenarios, start runs)
|
|
126
|
-
- **`runloop.scorer`** - Scorer management (create, list, update)
|
|
127
|
-
- **`runloop.benchmark`** - Benchmark management (create, list, run benchmarks)
|
|
128
126
|
- **`runloop.network_policy`** - Network policy management (create, list, update egress rules)
|
|
129
127
|
- **`runloop.gateway_config`** - Gateway config management (create, list API proxy configurations)
|
|
130
128
|
- **`runloop.mcp_config`** - MCP config management (create, list MCP server configurations)
|
|
131
129
|
- **`runloop.secret`** - Secret management (create, update, list, delete encrypted key-value pairs)
|
|
132
130
|
- **`runloop.api`** - Direct access to the underlying REST API client
|
|
133
131
|
|
|
132
|
+
### Secrets: names and exact IDs
|
|
133
|
+
|
|
134
|
+
`Secret` / `AsyncSecret` objects from `create()`, `list()`, and `from_name()` always operate by name, even when they carry a captured `.id`. Use a separate `SecretById` / `AsyncSecretById` handle for one exact row:
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
created = runloop.secret.create(name="API_TOKEN", value="synthetic-example")
|
|
138
|
+
assert created.id is not None
|
|
139
|
+
exact = runloop.secret.from_id(created.id) # Lazy; never falls back to a name.
|
|
140
|
+
exact.update("synthetic-rotated") # Returns SecretView, as do get_info() and delete().
|
|
141
|
+
exact.delete() # Deletes only this row.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
For `AsyncRunloopSDK`, await the operations but not `from_id()`. The handle types are exported from `runloop_api_client.sdk`. ID handles have `.id`, not `.name`; use their instance methods rather than name-only manager helpers. Environment-secret maps still take names; pass `exact.id` explicitly for an ID-based gateway/MCP binding. Name reads/updates select the greatest ID; name deletion removes selected matches nonatomically. IDs identify mutable rows, not value versions, and existing retries can replay writes. Rotation does not rewrite running devbox environments or issued tokens. Avoid debug request logging with real credentials.
|
|
145
|
+
|
|
134
146
|
### Devbox
|
|
135
147
|
|
|
136
148
|
Object-oriented interface for working with devboxes. Created via `runloop.devbox.create()`, `runloop.devbox.create_from_blueprint_id()`, `runloop.devbox.create_from_blueprint_name()`, `runloop.devbox.create_from_snapshot()`, or `runloop.devbox.from_id()`:
|
|
@@ -221,6 +233,23 @@ print("Errors:", result.stderr())
|
|
|
221
233
|
execution.kill()
|
|
222
234
|
```
|
|
223
235
|
|
|
236
|
+
To send input, start the execution with stdin attached:
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
execution = devbox.cmd.exec_async("cat", attach_stdin=True)
|
|
240
|
+
execution.send_std_in("first\n")
|
|
241
|
+
execution.send_std_in("second\n")
|
|
242
|
+
execution.close_std_in()
|
|
243
|
+
result = execution.result()
|
|
244
|
+
assert result.stdout() == "first\nsecond\n"
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
The async SDK exposes the same helpers with `await`. Send nonempty text, finish each
|
|
248
|
+
send before the next, and wait for pending sends before closing stdin. Concurrent
|
|
249
|
+
calls are not serialized. These helpers preserve the generated client's retry policy;
|
|
250
|
+
a retry after an ambiguous connection failure can replay input (not exactly-once
|
|
251
|
+
execution).
|
|
252
|
+
|
|
224
253
|
**Key methods:**
|
|
225
254
|
|
|
226
255
|
- `execution.get_state()` - Get current execution state (status, exit_code, etc.)
|
|
@@ -556,6 +585,17 @@ snapshot.delete()
|
|
|
556
585
|
|
|
557
586
|
### StorageObject
|
|
558
587
|
|
|
588
|
+
Uploads retain the create response's signed URL **and** required headers (including
|
|
589
|
+
Azure's `x-ms-blob-type`). All upload helpers use those instructions before marking
|
|
590
|
+
the object complete. Treat both as credentials; retrieval does not refresh them.
|
|
591
|
+
|
|
592
|
+
Signed uploads reuse the configured HTTP transport but exclude client-level default
|
|
593
|
+
headers, cookies, and authentication. Custom HTTP transports and event hooks must
|
|
594
|
+
not add API credentials to storage requests. Redirects and SDK-level upload retries
|
|
595
|
+
are disabled. Upload exception messages omit signed credentials and storage response
|
|
596
|
+
bodies; HTTPX request/response objects and third-party debug logging can still contain
|
|
597
|
+
sensitive data and must not be logged indiscriminately.
|
|
598
|
+
|
|
559
599
|
Object-oriented interface for working with storage objects. Created via `runloop.storage_object.create()` or `runloop.storage_object.from_id()`:
|
|
560
600
|
|
|
561
601
|
```python
|
|
@@ -1,51 +1,70 @@
|
|
|
1
|
-
# Runloop Python
|
|
1
|
+
# Runloop Python SDK — secure sandboxes for AI agents
|
|
2
2
|
|
|
3
3
|
<!-- prettier-ignore -->
|
|
4
4
|
[)](https://pypi.org/project/runloop_api_client/)
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
and
|
|
6
|
+
Run AI agents and AI-generated code in **Devboxes**: isolated Linux sandboxes with a shell, a
|
|
7
|
+
filesystem, networking, and optional GPUs. Use this library to create a sandbox, run commands in it,
|
|
8
|
+
read and write files, expose ports over HTTPS, and snapshot the whole machine so you can pause and
|
|
9
|
+
resume it later.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
Why teams pick Runloop:
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
- **Safe by default.** Every devbox is isolated at both the VM and container level, so untrusted
|
|
14
|
+
agent output never touches your infrastructure.
|
|
15
|
+
- **Built for long-running agents.** Devboxes persist for as long as you need, and snapshots let you
|
|
16
|
+
suspend, resume, and branch an agent's machine state.
|
|
17
|
+
- **Fast starts.** Blueprints bake your dependencies into a reusable image so agents boot in seconds
|
|
18
|
+
instead of installing tooling every run.
|
|
19
|
+
- **Ready for production.** Secrets injection, AI gateways, network policies, and VPC deployment are
|
|
20
|
+
part of the platform.
|
|
17
21
|
|
|
18
22
|
## Installation
|
|
19
23
|
|
|
20
24
|
```sh
|
|
21
|
-
# install from PyPI
|
|
22
25
|
pip install runloop_api_client
|
|
23
26
|
```
|
|
24
27
|
|
|
25
|
-
##
|
|
26
|
-
|
|
27
|
-
The full API of this library can be found in [api.md](api.md).
|
|
28
|
-
|
|
29
|
-
### Object-Oriented SDK
|
|
28
|
+
## Quickstart
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
Set `RUNLOOP_API_KEY` in your environment ([get a free key](https://runloop.ai) — new accounts start
|
|
31
|
+
with $50 in credits), then:
|
|
32
32
|
|
|
33
33
|
```python
|
|
34
34
|
from runloop_api_client import RunloopSDK
|
|
35
35
|
|
|
36
36
|
runloop = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
|
|
37
37
|
|
|
38
|
-
# Create a
|
|
38
|
+
# Create a sandbox, run a command in it, and clean it up on exit.
|
|
39
39
|
with runloop.devbox.create(name="my-devbox") as devbox:
|
|
40
|
-
|
|
40
|
+
devbox.file.write(file_path="main.py", contents="print('hello from a sandbox')")
|
|
41
|
+
result = devbox.cmd.exec("python main.py")
|
|
41
42
|
print(result.stdout())
|
|
42
43
|
```
|
|
43
44
|
|
|
44
|
-
**See the [SDK documentation](README-SDK.md) for complete examples and API reference
|
|
45
|
+
**See the [SDK documentation](README-SDK.md) for complete examples and API reference**, and
|
|
46
|
+
[docs.runloop.ai](https://docs.runloop.ai) for platform guides. Agents and LLM tooling can read
|
|
47
|
+
[llms.txt](llms.txt) for a condensed overview of the whole platform.
|
|
48
|
+
|
|
49
|
+
## Documentation
|
|
50
|
+
|
|
51
|
+
- [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents
|
|
52
|
+
- [`RunloopSDK` reference](README-SDK.md) — the high-level, object-oriented Python interface
|
|
53
|
+
- [api.md](https://github.com/runloopai/api-client-python/blob/main/api.md) — the full generated REST surface
|
|
54
|
+
- [examples/](examples) — runnable end-to-end scripts
|
|
55
|
+
- [llms.txt](llms.txt) — condensed platform summary for AI coding agents
|
|
56
|
+
|
|
57
|
+
## Usage
|
|
58
|
+
|
|
59
|
+
This library ships two layers: the object-oriented `RunloopSDK` shown above, and the generated REST
|
|
60
|
+
client it is built on. Both have synchronous and asynchronous variants, include type definitions for
|
|
61
|
+
all request params and response fields, and are powered by
|
|
62
|
+
[httpx](https://github.com/encode/httpx). The generated client is produced with
|
|
63
|
+
[Stainless](https://www.stainless.com/).
|
|
45
64
|
|
|
46
65
|
### REST API Client
|
|
47
66
|
|
|
48
|
-
|
|
67
|
+
To use the generated REST API client directly:
|
|
49
68
|
|
|
50
69
|
```python
|
|
51
70
|
import os
|
|
@@ -15,7 +15,6 @@ from runloop_api_client.types import (
|
|
|
15
15
|
Mount,
|
|
16
16
|
ObjectMount,
|
|
17
17
|
ResumeTriggers,
|
|
18
|
-
RunProfile,
|
|
19
18
|
)
|
|
20
19
|
```
|
|
21
20
|
|
|
@@ -31,66 +30,6 @@ Methods:
|
|
|
31
30
|
|
|
32
31
|
- <code title="get /v1/accounts/me">client.accounts.<a href="./src/runloop_api_client/resources/accounts.py">me</a>() -> <a href="./src/runloop_api_client/types/account_view.py">AccountView</a></code>
|
|
33
32
|
|
|
34
|
-
# Benchmarks
|
|
35
|
-
|
|
36
|
-
Types:
|
|
37
|
-
|
|
38
|
-
```python
|
|
39
|
-
from runloop_api_client.types import (
|
|
40
|
-
BenchmarkCreateParameters,
|
|
41
|
-
BenchmarkScenarioUpdateParameters,
|
|
42
|
-
BenchmarkUpdateParameters,
|
|
43
|
-
BenchmarkView,
|
|
44
|
-
ScenarioDefinitionListView,
|
|
45
|
-
StartBenchmarkRunParameters,
|
|
46
|
-
)
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Methods:
|
|
50
|
-
|
|
51
|
-
- <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
|
|
52
|
-
- <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
|
|
53
|
-
- <code title="post /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
|
|
54
|
-
- <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
|
|
55
|
-
- <code title="get /v1/benchmarks/{id}/definitions">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">definitions</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_definitions_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_definition_list_view.py">ScenarioDefinitionListView</a></code>
|
|
56
|
-
- <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
|
|
57
|
-
- <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
58
|
-
- <code title="post /v1/benchmarks/{id}/scenarios">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">update_scenarios</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_scenarios_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
|
|
59
|
-
|
|
60
|
-
# BenchmarkRuns
|
|
61
|
-
|
|
62
|
-
Types:
|
|
63
|
-
|
|
64
|
-
```python
|
|
65
|
-
from runloop_api_client.types import BenchmarkRunListView, BenchmarkRunView
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Methods:
|
|
69
|
-
|
|
70
|
-
- <code title="get /v1/benchmark_runs/{id}">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
71
|
-
- <code title="get /v1/benchmark_runs">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
|
|
72
|
-
- <code title="post /v1/benchmark_runs/{id}/cancel">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
73
|
-
- <code title="post /v1/benchmark_runs/{id}/complete">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
|
|
74
|
-
- <code title="get /v1/benchmark_runs/{id}/scenario_runs">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">list_scenario_runs</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
|
|
75
|
-
|
|
76
|
-
# BenchmarkJobs
|
|
77
|
-
|
|
78
|
-
Types:
|
|
79
|
-
|
|
80
|
-
```python
|
|
81
|
-
from runloop_api_client.types import (
|
|
82
|
-
BenchmarkJobCreateParameters,
|
|
83
|
-
BenchmarkJobListView,
|
|
84
|
-
BenchmarkJobView,
|
|
85
|
-
)
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Methods:
|
|
89
|
-
|
|
90
|
-
- <code title="post /v1/benchmark_jobs">client.benchmark_jobs.<a href="./src/runloop_api_client/resources/benchmark_jobs.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_job_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_job_view.py">BenchmarkJobView</a></code>
|
|
91
|
-
- <code title="get /v1/benchmark_jobs/{id}">client.benchmark_jobs.<a href="./src/runloop_api_client/resources/benchmark_jobs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_job_view.py">BenchmarkJobView</a></code>
|
|
92
|
-
- <code title="get /v1/benchmark_jobs">client.benchmark_jobs.<a href="./src/runloop_api_client/resources/benchmark_jobs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_job_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_job_list_view.py">BenchmarkJobListView</a></code>
|
|
93
|
-
|
|
94
33
|
# Agents
|
|
95
34
|
|
|
96
35
|
Types:
|
|
@@ -122,6 +61,7 @@ from runloop_api_client.types import (
|
|
|
122
61
|
AxonCreateParams,
|
|
123
62
|
AxonEventView,
|
|
124
63
|
AxonListView,
|
|
64
|
+
AxonUpdateParams,
|
|
125
65
|
AxonView,
|
|
126
66
|
PublishParams,
|
|
127
67
|
PublishResultView,
|
|
@@ -132,6 +72,7 @@ Methods:
|
|
|
132
72
|
|
|
133
73
|
- <code title="post /v1/axons">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">create</a>(\*\*<a href="src/runloop_api_client/types/axon_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/axon_view.py">AxonView</a></code>
|
|
134
74
|
- <code title="get /v1/axons/{id}">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/axon_view.py">AxonView</a></code>
|
|
75
|
+
- <code title="post /v1/axons/{id}">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/axon_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/axon_view.py">AxonView</a></code>
|
|
135
76
|
- <code title="get /v1/axons">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">list</a>(\*\*<a href="src/runloop_api_client/types/axon_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/axon_view.py">SyncAxonsCursorIDPage[AxonView]</a></code>
|
|
136
77
|
- <code title="delete /v1/axons/{id}">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">delete</a>(id) -> object</code>
|
|
137
78
|
- <code title="post /v1/axons/{id}/publish">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">publish</a>(id, \*\*<a href="src/runloop_api_client/types/axon_publish_params.py">params</a>) -> <a href="./src/runloop_api_client/types/publish_result_view.py">PublishResultView</a></code>
|
|
@@ -314,70 +255,6 @@ Methods:
|
|
|
314
255
|
- <code title="get /pty/{session_name}">client.pty.<a href="./src/runloop_api_client/resources/pty.py">connect</a>(session_name, \*\*<a href="src/runloop_api_client/types/pty_connect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/pty_connect_view.py">PtyConnectView</a></code>
|
|
315
256
|
- <code title="post /pty/{session_name}/control">client.pty.<a href="./src/runloop_api_client/resources/pty.py">control</a>(session_name, \*\*<a href="src/runloop_api_client/types/pty_control_params.py">params</a>) -> <a href="./src/runloop_api_client/types/pty_control_result_view.py">PtyControlResultView</a></code>
|
|
316
257
|
|
|
317
|
-
# Scenarios
|
|
318
|
-
|
|
319
|
-
Types:
|
|
320
|
-
|
|
321
|
-
```python
|
|
322
|
-
from runloop_api_client.types import (
|
|
323
|
-
InputContext,
|
|
324
|
-
InputContextUpdate,
|
|
325
|
-
ScenarioCreateParameters,
|
|
326
|
-
ScenarioEnvironment,
|
|
327
|
-
ScenarioRunListView,
|
|
328
|
-
ScenarioRunView,
|
|
329
|
-
ScenarioUpdateParameters,
|
|
330
|
-
ScenarioView,
|
|
331
|
-
ScoringContract,
|
|
332
|
-
ScoringContractResultView,
|
|
333
|
-
ScoringContractUpdate,
|
|
334
|
-
ScoringFunction,
|
|
335
|
-
ScoringFunctionResultView,
|
|
336
|
-
StartScenarioRunParameters,
|
|
337
|
-
)
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
Methods:
|
|
341
|
-
|
|
342
|
-
- <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
343
|
-
- <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
344
|
-
- <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
345
|
-
- <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
|
|
346
|
-
- <code title="post /v1/scenarios/{id}/archive">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">archive</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
347
|
-
- <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
|
|
348
|
-
- <code title="post /v1/scenarios/start_run">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/scenario_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
349
|
-
|
|
350
|
-
## Runs
|
|
351
|
-
|
|
352
|
-
Methods:
|
|
353
|
-
|
|
354
|
-
- <code title="get /v1/scenarios/runs/{id}">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
355
|
-
- <code title="get /v1/scenarios/runs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
|
|
356
|
-
- <code title="post /v1/scenarios/runs/{id}/cancel">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
357
|
-
- <code title="post /v1/scenarios/runs/{id}/complete">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
358
|
-
- <code title="post /v1/scenarios/runs/{id}/download_logs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">download_logs</a>(id) -> BinaryAPIResponse</code>
|
|
359
|
-
- <code title="post /v1/scenarios/runs/{id}/score">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">score</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
360
|
-
|
|
361
|
-
## Scorers
|
|
362
|
-
|
|
363
|
-
Types:
|
|
364
|
-
|
|
365
|
-
```python
|
|
366
|
-
from runloop_api_client.types.scenarios import (
|
|
367
|
-
ScorerCreateResponse,
|
|
368
|
-
ScorerRetrieveResponse,
|
|
369
|
-
ScorerUpdateResponse,
|
|
370
|
-
ScorerListResponse,
|
|
371
|
-
)
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
Methods:
|
|
375
|
-
|
|
376
|
-
- <code title="post /v1/scenarios/scorers">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenarios/scorer_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_create_response.py">ScorerCreateResponse</a></code>
|
|
377
|
-
- <code title="get /v1/scenarios/scorers/{id}">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenarios/scorer_retrieve_response.py">ScorerRetrieveResponse</a></code>
|
|
378
|
-
- <code title="post /v1/scenarios/scorers/{id}">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenarios/scorer_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_update_response.py">ScorerUpdateResponse</a></code>
|
|
379
|
-
- <code title="get /v1/scenarios/scorers">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/scorer_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_list_response.py">SyncScenarioScorersCursorIDPage[ScorerListResponse]</a></code>
|
|
380
|
-
|
|
381
258
|
# Objects
|
|
382
259
|
|
|
383
260
|
Types:
|
|
@@ -421,6 +298,9 @@ Methods:
|
|
|
421
298
|
- <code title="post /v1/secrets/{name}">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">update</a>(name, \*\*<a href="src/runloop_api_client/types/secret_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
|
|
422
299
|
- <code title="get /v1/secrets">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">list</a>(\*\*<a href="src/runloop_api_client/types/secret_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_list_view.py">SecretListView</a></code>
|
|
423
300
|
- <code title="post /v1/secrets/{name}/delete">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">delete</a>(name) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
|
|
301
|
+
- <code title="post /v1/secrets/id/{id}/delete">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">delete_by_id</a>(id) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
|
|
302
|
+
- <code title="get /v1/secrets/id/{id}">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">retrieve_by_id</a>(id) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
|
|
303
|
+
- <code title="post /v1/secrets/id/{id}/update">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">update_by_id</a>(id, \*\*<a href="src/runloop_api_client/types/secret_update_by_id_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
|
|
424
304
|
|
|
425
305
|
# NetworkPolicies
|
|
426
306
|
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "runloop_api_client"
|
|
3
|
-
version = "
|
|
4
|
-
description = "
|
|
3
|
+
version = "2.0.0"
|
|
4
|
+
description = "Official Python SDK for Runloop — secure Linux sandboxes (Devboxes) where AI agents run code, edit files, and expose ports"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
|
+
keywords = [
|
|
7
|
+
"runloop",
|
|
8
|
+
"sandbox",
|
|
9
|
+
"devbox",
|
|
10
|
+
"ai-agents",
|
|
11
|
+
"code-execution",
|
|
12
|
+
"code-interpreter",
|
|
13
|
+
"agent-runtime",
|
|
14
|
+
"microvm",
|
|
15
|
+
"llm",
|
|
16
|
+
]
|
|
6
17
|
license = "MIT"
|
|
7
18
|
authors = [
|
|
8
19
|
{ name = "Runloop", email = "support@runloop.ai" },
|
|
@@ -34,13 +45,15 @@ classifiers = [
|
|
|
34
45
|
"Operating System :: POSIX :: Linux",
|
|
35
46
|
"Operating System :: Microsoft :: Windows",
|
|
36
47
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
48
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
37
49
|
"License :: OSI Approved :: MIT License"
|
|
38
50
|
]
|
|
39
51
|
|
|
40
52
|
[project.urls]
|
|
41
|
-
Homepage = "https://
|
|
53
|
+
Homepage = "https://runloop.ai"
|
|
42
54
|
Repository = "https://github.com/runloopai/api-client-python"
|
|
43
|
-
Documentation = "https://
|
|
55
|
+
Documentation = "https://docs.runloop.ai"
|
|
56
|
+
"API Reference" = "https://runloopai.github.io/api-client-python/"
|
|
44
57
|
|
|
45
58
|
[project.optional-dependencies]
|
|
46
59
|
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
|