runloop-api-client 1.2.0__tar.gz → 1.3.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.
Files changed (383) hide show
  1. runloop_api_client-1.3.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/CHANGELOG.md +51 -0
  3. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/LICENSE +1 -1
  4. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/PKG-INFO +5 -4
  5. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/README.md +2 -2
  6. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/api.md +45 -15
  7. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/pyproject.toml +4 -16
  8. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/requirements-dev.lock +19 -4
  9. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_base_client.py +143 -14
  10. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_client.py +87 -2
  11. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_models.py +16 -1
  12. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_types.py +12 -2
  13. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_version.py +1 -1
  14. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/pagination.py +75 -0
  15. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/__init__.py +28 -0
  16. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/agents.py +18 -2
  17. runloop_api_client-1.2.0/src/runloop_api_client/resources/benchmarks/runs.py → runloop_api_client-1.3.0/src/runloop_api_client/resources/benchmark_runs.py +79 -71
  18. {runloop_api_client-1.2.0/src/runloop_api_client/resources/benchmarks → runloop_api_client-1.3.0/src/runloop_api_client/resources}/benchmarks.py +183 -80
  19. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/blueprints.py +66 -4
  20. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/devboxes.py +14 -14
  21. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +2 -2
  22. runloop_api_client-1.3.0/src/runloop_api_client/resources/network_policies.py +680 -0
  23. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/objects.py +4 -4
  24. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/repositories.py +2 -2
  25. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/scenarios/runs.py +26 -2
  26. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/scenarios/scenarios.py +34 -24
  27. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/scenarios/scorers.py +2 -2
  28. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/secrets.py +2 -2
  29. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/__init__.py +36 -1
  30. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/_types.py +90 -19
  31. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/agent.py +4 -6
  32. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_.py +138 -10
  33. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_agent.py +0 -6
  34. runloop_api_client-1.3.0/src/runloop_api_client/sdk/async_benchmark.py +169 -0
  35. runloop_api_client-1.3.0/src/runloop_api_client/sdk/async_benchmark_run.py +127 -0
  36. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_devbox.py +22 -4
  37. runloop_api_client-1.3.0/src/runloop_api_client/sdk/async_network_policy.py +80 -0
  38. runloop_api_client-1.3.0/src/runloop_api_client/sdk/async_scenario_builder.py +480 -0
  39. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_scorer.py +1 -1
  40. runloop_api_client-1.3.0/src/runloop_api_client/sdk/benchmark.py +167 -0
  41. runloop_api_client-1.3.0/src/runloop_api_client/sdk/benchmark_run.py +127 -0
  42. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/devbox.py +20 -7
  43. runloop_api_client-1.3.0/src/runloop_api_client/sdk/network_policy.py +80 -0
  44. runloop_api_client-1.3.0/src/runloop_api_client/sdk/scenario_builder.py +480 -0
  45. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/scorer.py +1 -1
  46. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/sync.py +145 -13
  47. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/__init__.py +12 -0
  48. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/agent_create_params.py +3 -0
  49. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/agent_list_params.py +4 -1
  50. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/agent_list_view.py +2 -0
  51. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/agent_view.py +5 -0
  52. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_create_params.py +3 -3
  53. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_definitions_params.py +1 -1
  54. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_list_params.py +4 -1
  55. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_list_public_params.py +1 -1
  56. runloop_api_client-1.2.0/src/runloop_api_client/types/benchmarks/run_list_params.py → runloop_api_client-1.3.0/src/runloop_api_client/types/benchmark_run_list_params.py +6 -3
  57. runloop_api_client-1.2.0/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py → runloop_api_client-1.3.0/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +3 -3
  58. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_run_view.py +10 -3
  59. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_start_run_params.py +8 -4
  60. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_update_params.py +13 -11
  61. runloop_api_client-1.3.0/src/runloop_api_client/types/benchmark_update_scenarios_params.py +18 -0
  62. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_view.py +4 -0
  63. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_build_parameters.py +13 -0
  64. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +6 -0
  65. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_create_params.py +13 -0
  66. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_list_params.py +4 -1
  67. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_list_public_params.py +4 -1
  68. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_preview_params.py +13 -0
  69. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_view.py +7 -0
  70. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_execute_params.py +2 -2
  71. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +1 -1
  72. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_list_params.py +1 -1
  73. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_view.py +6 -1
  74. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +2 -2
  75. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/browser_view.py +4 -0
  76. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +2 -0
  77. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +5 -0
  78. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_view.py +4 -0
  79. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +1 -1
  80. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/input_context.py +4 -0
  81. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/input_context_param.py +4 -0
  82. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/inspection_source_param.py +2 -0
  83. runloop_api_client-1.3.0/src/runloop_api_client/types/network_policy_create_params.py +40 -0
  84. runloop_api_client-1.3.0/src/runloop_api_client/types/network_policy_list_params.py +21 -0
  85. runloop_api_client-1.3.0/src/runloop_api_client/types/network_policy_list_view.py +21 -0
  86. runloop_api_client-1.3.0/src/runloop_api_client/types/network_policy_update_params.py +30 -0
  87. runloop_api_client-1.3.0/src/runloop_api_client/types/network_policy_view.py +52 -0
  88. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_download_url_view.py +2 -0
  89. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_list_params.py +1 -1
  90. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_list_public_params.py +1 -1
  91. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_list_view.py +2 -0
  92. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_view.py +2 -0
  93. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_connection_view.py +2 -0
  94. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_inspection_details.py +6 -0
  95. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_list_params.py +1 -1
  96. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_manifest_view.py +16 -0
  97. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_environment.py +4 -0
  98. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_environment_param.py +4 -0
  99. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_list_params.py +4 -1
  100. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_list_public_params.py +1 -1
  101. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_run_view.py +5 -0
  102. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_update_params.py +9 -6
  103. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_view.py +4 -0
  104. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/run_list_params.py +10 -1
  105. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +2 -0
  106. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +1 -1
  107. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +2 -0
  108. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +2 -0
  109. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +2 -0
  110. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_contract.py +4 -0
  111. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_contract_param.py +4 -0
  112. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_contract_result_view.py +4 -0
  113. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_function.py +22 -0
  114. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_function_param.py +22 -0
  115. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_function_result_view.py +4 -0
  116. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/secret_list_params.py +1 -1
  117. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/secret_list_view.py +2 -0
  118. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/secret_view.py +4 -0
  119. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared/__init__.py +2 -0
  120. runloop_api_client-1.3.0/src/runloop_api_client/types/shared/agent_mount.py +31 -0
  121. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared/agent_source.py +10 -6
  122. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared/launch_parameters.py +16 -0
  123. runloop_api_client-1.3.0/src/runloop_api_client/types/shared/mount.py +43 -0
  124. runloop_api_client-1.3.0/src/runloop_api_client/types/shared/object_mount.py +21 -0
  125. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared_params/__init__.py +2 -0
  126. runloop_api_client-1.3.0/src/runloop_api_client/types/shared_params/agent_mount.py +31 -0
  127. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared_params/agent_source.py +10 -6
  128. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +16 -0
  129. runloop_api_client-1.3.0/src/runloop_api_client/types/shared_params/mount.py +43 -0
  130. runloop_api_client-1.3.0/src/runloop_api_client/types/shared_params/object_mount.py +21 -0
  131. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/scenarios/test_runs.py +6 -0
  132. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/scenarios/test_scorers.py +2 -0
  133. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_agents.py +10 -4
  134. runloop_api_client-1.2.0/tests/api_resources/benchmarks/test_runs.py → runloop_api_client-1.3.0/tests/api_resources/test_benchmark_runs.py +104 -99
  135. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_benchmarks.py +100 -10
  136. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_blueprints.py +16 -0
  137. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_devboxes.py +2 -0
  138. runloop_api_client-1.3.0/tests/api_resources/test_network_policies.py +433 -0
  139. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_scenarios.py +8 -0
  140. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/async_devbox/test_core.py +62 -31
  141. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/async_devbox/test_edge_cases.py +1 -1
  142. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/async_devbox/test_interfaces.py +19 -19
  143. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/async_devbox/test_streaming.py +10 -10
  144. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/conftest.py +97 -18
  145. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/devbox/test_core.py +59 -33
  146. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/devbox/test_edge_cases.py +11 -11
  147. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/devbox/test_interfaces.py +37 -37
  148. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/devbox/test_streaming.py +12 -12
  149. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_agent.py +6 -6
  150. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_agent.py +6 -6
  151. runloop_api_client-1.3.0/tests/sdk/test_async_benchmark.py +130 -0
  152. runloop_api_client-1.3.0/tests/sdk/test_async_benchmark_run.py +120 -0
  153. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_blueprint.py +9 -9
  154. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_execution.py +39 -38
  155. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_execution_result.py +51 -51
  156. runloop_api_client-1.3.0/tests/sdk/test_async_network_policy.py +90 -0
  157. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_ops.py +218 -65
  158. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_scenario.py +4 -4
  159. runloop_api_client-1.3.0/tests/sdk/test_async_scenario_builder.py +292 -0
  160. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_scenario_run.py +29 -29
  161. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_scorer.py +8 -8
  162. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_snapshot.py +11 -11
  163. runloop_api_client-1.3.0/tests/sdk/test_benchmark.py +122 -0
  164. runloop_api_client-1.3.0/tests/sdk/test_benchmark_run.py +114 -0
  165. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_blueprint.py +13 -13
  166. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_execution.py +39 -38
  167. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_execution_result.py +51 -51
  168. runloop_api_client-1.3.0/tests/sdk/test_network_policy.py +106 -0
  169. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_ops.py +225 -72
  170. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_scenario.py +4 -4
  171. runloop_api_client-1.3.0/tests/sdk/test_scenario_builder.py +287 -0
  172. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_scenario_run.py +29 -29
  173. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_scorer.py +11 -11
  174. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_snapshot.py +16 -16
  175. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/conftest.py +7 -7
  176. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_agent.py +17 -4
  177. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_agent.py +11 -4
  178. runloop_api_client-1.3.0/tests/smoketests/sdk/test_async_benchmark.py +192 -0
  179. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_blueprint.py +10 -10
  180. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_devbox.py +45 -8
  181. runloop_api_client-1.3.0/tests/smoketests/sdk/test_async_network_policy.py +210 -0
  182. runloop_api_client-1.3.0/tests/smoketests/sdk/test_async_scenario.py +260 -0
  183. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_sdk.py +4 -1
  184. runloop_api_client-1.3.0/tests/smoketests/sdk/test_benchmark.py +190 -0
  185. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_blueprint.py +10 -10
  186. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_devbox.py +40 -3
  187. runloop_api_client-1.3.0/tests/smoketests/sdk/test_network_policy.py +210 -0
  188. runloop_api_client-1.3.0/tests/smoketests/sdk/test_scenario.py +259 -0
  189. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_sdk.py +4 -1
  190. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/test_snapshots.py +1 -1
  191. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_client.py +185 -2
  192. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/uv.lock +353 -522
  193. runloop_api_client-1.2.0/.release-please-manifest.json +0 -3
  194. runloop_api_client-1.2.0/src/runloop_api_client/resources/benchmarks/__init__.py +0 -33
  195. runloop_api_client-1.2.0/src/runloop_api_client/types/benchmarks/__init__.py +0 -6
  196. runloop_api_client-1.2.0/src/runloop_api_client/types/shared/mount.py +0 -78
  197. runloop_api_client-1.2.0/src/runloop_api_client/types/shared_params/mount.py +0 -77
  198. runloop_api_client-1.2.0/tests/api_resources/scenarios/__init__.py +0 -1
  199. runloop_api_client-1.2.0/tests/smoketests/sdk/test_async_scenario.py +0 -126
  200. runloop_api_client-1.2.0/tests/smoketests/sdk/test_scenario.py +0 -126
  201. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/.gitignore +0 -0
  202. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/CONTRIBUTING.md +0 -0
  203. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/README-SDK.md +0 -0
  204. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/SECURITY.md +0 -0
  205. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/bin/check-release-environment +0 -0
  206. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/bin/publish-pypi +0 -0
  207. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/examples/.keep +0 -0
  208. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/release-please-config.json +0 -0
  209. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop/lib/.keep +0 -0
  210. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/__init__.py +0 -0
  211. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_compat.py +0 -0
  212. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_constants.py +0 -0
  213. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_exceptions.py +0 -0
  214. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_files.py +0 -0
  215. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_qs.py +0 -0
  216. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_resource.py +0 -0
  217. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_response.py +0 -0
  218. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_streaming.py +0 -0
  219. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  220. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  221. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  222. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  223. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  224. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  225. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  226. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  227. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  228. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  229. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  230. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  231. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  232. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/lib/.keep +0 -0
  233. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/lib/__init__.py +0 -0
  234. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  235. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  236. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/lib/polling.py +0 -0
  237. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  238. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/py.typed +0 -0
  239. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  240. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  241. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  242. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  243. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  244. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  245. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  246. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  247. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  248. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  249. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  250. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  251. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  252. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  253. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  254. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/execution.py +0 -0
  255. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  256. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  257. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  258. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  259. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  260. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  261. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  262. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  263. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  264. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  265. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  266. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  267. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  268. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  269. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  270. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  271. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  272. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  273. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  274. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  275. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  276. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  277. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  278. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  279. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  280. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  281. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  282. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  283. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  284. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  285. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  286. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  287. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  288. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  289. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  290. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  291. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  292. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  293. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  294. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  295. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  296. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  297. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  298. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  299. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  300. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  301. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  302. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  303. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  304. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  305. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  306. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  307. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  308. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  309. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  310. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  311. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  312. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  313. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  314. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  315. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  316. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  317. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  318. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  319. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  320. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  321. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  322. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  323. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  324. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  325. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  326. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  327. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  328. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  329. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  330. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  331. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/__init__.py +0 -0
  332. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/__init__.py +0 -0
  333. {runloop_api_client-1.2.0/tests/api_resources/benchmarks → runloop_api_client-1.3.0/tests/api_resources/devboxes}/__init__.py +0 -0
  334. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  335. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  336. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  337. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  338. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  339. {runloop_api_client-1.2.0/tests/api_resources/devboxes → runloop_api_client-1.3.0/tests/api_resources/scenarios}/__init__.py +0 -0
  340. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_objects.py +0 -0
  341. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_repositories.py +0 -0
  342. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/api_resources/test_secrets.py +0 -0
  343. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/conftest.py +0 -0
  344. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sample_file.txt +0 -0
  345. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/__init__.py +0 -0
  346. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/async_devbox/__init__.py +0 -0
  347. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/async_devbox/conftest.py +0 -0
  348. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/devbox/__init__.py +0 -0
  349. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/devbox/conftest.py +0 -0
  350. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_async_storage_object.py +0 -0
  351. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_helpers.py +0 -0
  352. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/sdk/test_storage_object.py +0 -0
  353. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/README.md +0 -0
  354. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/__init__.py +0 -0
  355. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/conftest.py +0 -0
  356. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/README.md +0 -0
  357. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/__init__.py +0 -0
  358. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  359. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  360. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  361. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  362. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  363. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  364. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/test_blueprints.py +0 -0
  365. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/test_devboxes.py +0 -0
  366. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/test_executions.py +0 -0
  367. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  368. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/smoketests/utils.py +0 -0
  369. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_deepcopy.py +0 -0
  370. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_extract_files.py +0 -0
  371. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_files.py +0 -0
  372. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_models.py +0 -0
  373. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_polling.py +0 -0
  374. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_qs.py +0 -0
  375. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_required_args.py +0 -0
  376. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_response.py +0 -0
  377. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_streaming.py +0 -0
  378. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_transform.py +0 -0
  379. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_utils/test_context_loader.py +0 -0
  380. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_utils/test_datetime_parse.py +0 -0
  381. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_utils/test_proxy.py +0 -0
  382. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/test_utils/test_typing.py +0 -0
  383. {runloop_api_client-1.2.0 → runloop_api_client-1.3.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.3.0"
3
+ }
@@ -1,5 +1,56 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.3.0 (2026-01-22)
4
+
5
+ Full Changelog: [v1.3.0-alpha...v1.3.0](https://github.com/runloopai/api-client-python/compare/v1.3.0-alpha...v1.3.0)
6
+
7
+ ### Features
8
+
9
+ * **network-policy:** add network policies ([#720](https://github.com/runloopai/api-client-python/issues/720)) ([9b31116](https://github.com/runloopai/api-client-python/commit/9b311168fcda2554f8ea03c9698c1e284dc1bdba))
10
+ * **benchmarks:** add `update_scenarios` method to benchmarks resource ([71ec221](https://github.com/runloopai/api-client-python/commit/71ec221f1d0cad7aac33c0299d3f8b1aa97d0741))
11
+ * **blueprint:** Set cilium network policy on blueprint build ([#7006](https://github.com/runloopai/api-client-python/issues/7006)) ([95c62ac](https://github.com/runloopai/api-client-python/commit/95c62ac1e2689acdd83cac2dc85f1a639490d982))
12
+ * **client:** add support for binary request streaming ([d6c2200](https://github.com/runloopai/api-client-python/commit/d6c22008f7cd8a6a07055f29bcb4eca4914ec5e0))
13
+ * **devbox:** added stdin streaming endpoint ([83ae56a](https://github.com/runloopai/api-client-python/commit/83ae56a22a9c1d4528719321b9565731532191f2))
14
+ * **devbox:** remove this one ([91854d5](https://github.com/runloopai/api-client-python/commit/91854d5d0db2d89bd0e787c5f56cf84a5ea5a89b))
15
+ * **network-policy:** add network policies to api ([1d98bb1](https://github.com/runloopai/api-client-python/commit/1d98bb1dbcaf428e36cfc099282c71312f838d8a))
16
+ * **scenarios:** add scenario builder to sdk ([#706](https://github.com/runloopai/api-client-python/issues/706)) ([2d41a15](https://github.com/runloopai/api-client-python/commit/2d41a15b4455ed8d7f6a8063cf19b82d51edeef8))
17
+ * **sdk:** add Benchmark and AsyncBenchmark classes ([#714](https://github.com/runloopai/api-client-python/issues/714)) ([8909d8a](https://github.com/runloopai/api-client-python/commit/8909d8aabfc2f1c80ff74b636225b42cac6725ff))
18
+ * **sdk:** add BenchmarkOps and AsyncBenchmarkOps to SDK ([#716](https://github.com/runloopai/api-client-python/issues/716)) ([9b434d9](https://github.com/runloopai/api-client-python/commit/9b434d9bc7ebdcea2b156689403d853a932f0d9e))
19
+ * **sdk:** add BenchmarkRun and AsyncBenchmarkRun classes ([#712](https://github.com/runloopai/api-client-python/issues/712)) ([6aa83e2](https://github.com/runloopai/api-client-python/commit/6aa83e2a6c8a55694435bd2b707340770f0a326a))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **benchmarks:** `update()` for benchmarks and scenarios replaces all provided fields and does not modify unspecified fields ([#6702](https://github.com/runloopai/api-client-python/issues/6702)) ([cfd04b6](https://github.com/runloopai/api-client-python/commit/cfd04b6e7781534fd0e775e1b00793ad53814a47))
25
+ * **types:** allow pyright to infer TypedDict types within SequenceNotStr ([3241717](https://github.com/runloopai/api-client-python/commit/32417177128b5f5d90b852a5460fe6823198cf9b))
26
+ * use async_to_httpx_files in patch method ([88f8fb9](https://github.com/runloopai/api-client-python/commit/88f8fb92e1d48ff6f95833a7ee1e376bef76e0e1))
27
+
28
+
29
+ ### Chores
30
+
31
+ * fix stainless spec / remove deprecated benchmark/runs ([#7074](https://github.com/runloopai/api-client-python/issues/7074)) ([3ed7d80](https://github.com/runloopai/api-client-python/commit/3ed7d806edc349b4bb4cfb8e0e54b78f272a6d75))
32
+ * fix tests and linting ([#719](https://github.com/runloopai/api-client-python/issues/719)) ([74db814](https://github.com/runloopai/api-client-python/commit/74db81455af44b94896e8adc7a6e24ba71b9e2ef))
33
+ * update network policy create params descriptions ([#7069](https://github.com/runloopai/api-client-python/issues/7069)) ([b151692](https://github.com/runloopai/api-client-python/commit/b15169283ff344c447b203b6bc3589f05c400ea7))
34
+ * remove support for pydantic-v1, pydantic-v2 is now default ([#710](https://github.com/runloopai/api-client-python/issues/710))
35
+ * add documentation url to pypi project page ([#711](https://github.com/runloopai/api-client-python/issues/711)) ([7afb327](https://github.com/runloopai/api-client-python/commit/7afb32731842ebee4f479837959ccac856bd5e85))
36
+ * add missing docstrings ([a198632](https://github.com/runloopai/api-client-python/commit/a198632f6a3936bcf5b5b4f4e6324461c4853893))
37
+ * **devbox:** Remove network policy from devbox view; use launch params instead ([#7025](https://github.com/runloopai/api-client-python/issues/7025)) ([d53af14](https://github.com/runloopai/api-client-python/commit/d53af14f6f55144859c8257d936a115989563b6d))
38
+ * **internal:** add `--fix` argument to lint script ([c381201](https://github.com/runloopai/api-client-python/commit/c381201ca37e7e438413c33e6be521fc43fbc762))
39
+ * **internal:** add missing files argument to base client ([b7065e2](https://github.com/runloopai/api-client-python/commit/b7065e204d00f853bcac75637680dc198346a804))
40
+ * **internal:** codegen related update ([75fecdf](https://github.com/runloopai/api-client-python/commit/75fecdf043eb67baa1bf13dbd9f5fabd7042c3f4))
41
+ * **internal:** update `actions/checkout` version ([7a57030](https://github.com/runloopai/api-client-python/commit/7a570300fe84dbd9e057c606bb0702b1e6ffe419))
42
+ * remove support for pydantic-v1, pydantic-v2 is now default ([#710](https://github.com/runloopai/api-client-python/issues/710)) ([fb3cc3d](https://github.com/runloopai/api-client-python/commit/fb3cc3d354d4279542cd20f44857f2ec28be7082))
43
+
44
+
45
+ ### Documentation
46
+
47
+ * reformat sidebar and index pages to be more transparent, add favicon to browser tab ([#715](https://github.com/runloopai/api-client-python/issues/715)) ([1161b8f](https://github.com/runloopai/api-client-python/commit/1161b8fbe8d78dc572e0310da009e1bcc7dec36f))
48
+
49
+
50
+ ### Refactors
51
+
52
+ * **benchmark:** Deprecate /benchmark/{id}/runs in favor of /benchmark_runs ([#7019](https://github.com/runloopai/api-client-python/issues/7019)) ([793507a](https://github.com/runloopai/api-client-python/commit/793507a2508945d80f670550493773cc89c43752))
53
+
3
54
  ## 1.2.0 (2025-12-09)
4
55
 
5
56
  Full Changelog: [v1.1.0...v1.2.0](https://github.com/runloopai/api-client-python/compare/v1.1.0...v1.2.0)
@@ -1,4 +1,4 @@
1
- Copyright 2025 runloop
1
+ Copyright 2026 runloop
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
4
 
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.2.0
3
+ Version: 1.3.0
4
4
  Summary: The official Python library for the runloop API
5
5
  Project-URL: Homepage, https://github.com/runloopai/api-client-python
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
7
+ Project-URL: Documentation, https://runloopai.github.io/api-client-python/
7
8
  Author-email: Runloop <support@runloop.ai>
8
9
  License: MIT
9
10
  Classifier: Intended Audience :: Developers
@@ -25,7 +26,7 @@ Requires-Python: >=3.9
25
26
  Requires-Dist: anyio<5,>=3.5.0
26
27
  Requires-Dist: distro<2,>=1.7.0
27
28
  Requires-Dist: httpx<1,>=0.23.0
28
- Requires-Dist: pydantic<3,>=1.9.0
29
+ Requires-Dist: pydantic<3,>=2.0
29
30
  Requires-Dist: sniffio
30
31
  Requires-Dist: typing-extensions<5,>=4.10
31
32
  Requires-Dist: uuid-utils>=0.11.0
@@ -69,10 +70,10 @@ For a higher-level, Pythonic interface, check out the new [`RunloopSDK`](README-
69
70
  ```python
70
71
  from runloop_api_client import RunloopSDK
71
72
 
72
- sdk = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
73
+ runloop = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
73
74
 
74
75
  # Create a devbox and execute commands with a clean, object-oriented interface
75
- with sdk.devbox.create(name="my-devbox") as devbox:
76
+ with runloop.devbox.create(name="my-devbox") as devbox:
76
77
  result = devbox.cmd.exec("echo 'Hello from Runloop!'")
77
78
  print(result.stdout())
78
79
  ```
@@ -33,10 +33,10 @@ For a higher-level, Pythonic interface, check out the new [`RunloopSDK`](README-
33
33
  ```python
34
34
  from runloop_api_client import RunloopSDK
35
35
 
36
- sdk = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
36
+ runloop = RunloopSDK() # Uses RUNLOOP_API_KEY environment variable by default
37
37
 
38
38
  # Create a devbox and execute commands with a clean, object-oriented interface
39
- with sdk.devbox.create(name="my-devbox") as devbox:
39
+ with runloop.devbox.create(name="my-devbox") as devbox:
40
40
  result = devbox.cmd.exec("echo 'Hello from Runloop!'")
41
41
  print(result.stdout())
42
42
  ```
@@ -3,10 +3,12 @@
3
3
  ```python
4
4
  from runloop_api_client.types import (
5
5
  AfterIdle,
6
+ AgentMount,
6
7
  AgentSource,
7
8
  CodeMountParameters,
8
9
  LaunchParameters,
9
10
  Mount,
11
+ ObjectMount,
10
12
  RunProfile,
11
13
  )
12
14
  ```
@@ -18,8 +20,8 @@ Types:
18
20
  ```python
19
21
  from runloop_api_client.types import (
20
22
  BenchmarkCreateParameters,
21
- BenchmarkRunListView,
22
- BenchmarkRunView,
23
+ BenchmarkScenarioUpdateParameters,
24
+ BenchmarkUpdateParameters,
23
25
  BenchmarkView,
24
26
  ScenarioDefinitionListView,
25
27
  StartBenchmarkRunParameters,
@@ -28,23 +30,30 @@ from runloop_api_client.types import (
28
30
 
29
31
  Methods:
30
32
 
31
- - <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/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>
32
- - <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
33
- - <code title="post /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/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>
34
- - <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/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>
35
- - <code title="get /v1/benchmarks/{id}/definitions">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/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>
36
- - <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/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>
37
- - <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/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>
33
+ - <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>
34
+ - <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>
35
+ - <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>
36
+ - <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>
37
+ - <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>
38
+ - <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>
39
+ - <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>
40
+ - <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>
38
41
 
39
- ## Runs
42
+ # BenchmarkRuns
43
+
44
+ Types:
45
+
46
+ ```python
47
+ from runloop_api_client.types import BenchmarkRunListView, BenchmarkRunView
48
+ ```
40
49
 
41
50
  Methods:
42
51
 
43
- - <code title="get /v1/benchmarks/runs/{id}">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
44
- - <code title="get /v1/benchmarks/runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmarks/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
45
- - <code title="post /v1/benchmarks/runs/{id}/cancel">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
46
- - <code title="post /v1/benchmarks/runs/{id}/complete">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
47
- - <code title="get /v1/benchmarks/runs/{id}/scenario_runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list_scenario_runs</a>(id, \*\*<a href="src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
52
+ - <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>
53
+ - <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>
54
+ - <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>
55
+ - <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>
56
+ - <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>
48
57
 
49
58
  # Agents
50
59
 
@@ -349,3 +358,24 @@ Methods:
349
358
  - <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>
350
359
  - <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>
351
360
  - <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>
361
+
362
+ # NetworkPolicies
363
+
364
+ Types:
365
+
366
+ ```python
367
+ from runloop_api_client.types import (
368
+ NetworkPolicyCreateParameters,
369
+ NetworkPolicyListView,
370
+ NetworkPolicyUpdateParameters,
371
+ NetworkPolicyView,
372
+ )
373
+ ```
374
+
375
+ Methods:
376
+
377
+ - <code title="post /v1/network-policies">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">create</a>(\*\*<a href="src/runloop_api_client/types/network_policy_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/network_policy_view.py">NetworkPolicyView</a></code>
378
+ - <code title="get /v1/network-policies/{id}">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/network_policy_view.py">NetworkPolicyView</a></code>
379
+ - <code title="post /v1/network-policies/{id}">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/network_policy_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/network_policy_view.py">NetworkPolicyView</a></code>
380
+ - <code title="get /v1/network-policies">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">list</a>(\*\*<a href="src/runloop_api_client/types/network_policy_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/network_policy_view.py">SyncNetworkPoliciesCursorIDPage[NetworkPolicyView]</a></code>
381
+ - <code title="post /v1/network-policies/{id}/delete">client.network_policies.<a href="./src/runloop_api_client/resources/network_policies.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/network_policy_view.py">NetworkPolicyView</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.2.0"
3
+ version = "1.3.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -10,12 +10,12 @@ authors = [
10
10
 
11
11
  dependencies = [
12
12
  "httpx>=0.23.0, <1",
13
- "pydantic>=1.9.0, <3",
13
+ "pydantic>=2.0, <3",
14
14
  "typing-extensions>=4.10, <5",
15
15
  "anyio>=3.5.0, <5",
16
16
  "distro>=1.7.0, <2",
17
17
  "sniffio",
18
- "uuid-utils>=0.11.0",
18
+ "uuid-utils>=0.11.0",
19
19
  ]
20
20
 
21
21
  requires-python = ">= 3.9"
@@ -40,6 +40,7 @@ classifiers = [
40
40
  [project.urls]
41
41
  Homepage = "https://github.com/runloopai/api-client-python"
42
42
  Repository = "https://github.com/runloopai/api-client-python"
43
+ Documentation = "https://runloopai.github.io/api-client-python/"
43
44
 
44
45
  [project.optional-dependencies]
45
46
  aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
@@ -47,12 +48,6 @@ aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
47
48
  [tool.uv]
48
49
  managed = true
49
50
  required-version = ">=0.9"
50
- conflicts = [
51
- [
52
- { group = "pydantic-v1" },
53
- { group = "pydantic-v2" },
54
- ],
55
- ]
56
51
 
57
52
  [dependency-groups]
58
53
  # version pins are in uv.lock
@@ -72,13 +67,6 @@ dev = [
72
67
  "uuid-utils>=0.11.0",
73
68
  "pytest-cov>=7.0.0",
74
69
  ]
75
- pydantic-v1 = [
76
- "pydantic>=1.9.0,<2",
77
- ]
78
- pydantic-v2 = [
79
- "pydantic~=2.0 ; python_full_version < '3.14'",
80
- "pydantic~=2.12 ; python_full_version >= '3.14'",
81
- ]
82
70
  docs = [
83
71
  "furo>=2025.9.25",
84
72
  "sphinx>=7.4.7",
@@ -15,6 +15,10 @@ certifi==2025.11.12
15
15
  # httpx
16
16
  colorama==0.4.6 ; sys_platform == 'win32'
17
17
  # via pytest
18
+ coverage==7.10.7 ; python_full_version < '3.10'
19
+ # via pytest-cov
20
+ coverage==7.13.0 ; python_full_version >= '3.10'
21
+ # via pytest-cov
18
22
  dirty-equals==0.11
19
23
  distro==1.9.0
20
24
  # via runloop-api-client
@@ -57,7 +61,9 @@ packaging==25.0
57
61
  pathspec==0.12.1
58
62
  # via mypy
59
63
  pluggy==1.6.0
60
- # via pytest
64
+ # via
65
+ # pytest
66
+ # pytest-cov
61
67
  pydantic==2.12.5
62
68
  # via runloop-api-client
63
69
  pydantic-core==2.41.5
@@ -70,27 +76,34 @@ pyright==1.1.399
70
76
  pytest==8.4.2 ; python_full_version < '3.10'
71
77
  # via
72
78
  # pytest-asyncio
79
+ # pytest-cov
80
+ # pytest-timeout
73
81
  # pytest-xdist
74
- pytest==9.0.1 ; python_full_version >= '3.10'
82
+ pytest==9.0.2 ; python_full_version >= '3.10'
75
83
  # via
76
84
  # pytest-asyncio
85
+ # pytest-cov
86
+ # pytest-timeout
77
87
  # pytest-xdist
78
88
  pytest-asyncio==1.2.0 ; python_full_version < '3.10'
79
89
  pytest-asyncio==1.3.0 ; python_full_version >= '3.10'
90
+ pytest-cov==7.0.0
91
+ pytest-timeout==2.4.0
80
92
  pytest-xdist==3.8.0
81
93
  python-dateutil==2.9.0.post0 ; python_full_version < '3.10'
82
94
  # via time-machine
83
95
  respx==0.22.0
84
96
  rich==14.2.0
85
- ruff==0.14.7
97
+ ruff==0.14.9
86
98
  six==1.17.0 ; python_full_version < '3.10'
87
99
  # via python-dateutil
88
100
  sniffio==1.3.1
89
101
  # via runloop-api-client
90
102
  time-machine==2.19.0 ; python_full_version < '3.10'
91
103
  time-machine==3.1.0 ; python_full_version >= '3.10'
92
- tomli==2.3.0 ; python_full_version < '3.11'
104
+ tomli==2.3.0 ; python_full_version <= '3.11'
93
105
  # via
106
+ # coverage
94
107
  # mypy
95
108
  # pytest
96
109
  typing-extensions==4.15.0
@@ -106,5 +119,7 @@ typing-extensions==4.15.0
106
119
  # typing-inspection
107
120
  typing-inspection==0.4.2
108
121
  # via pydantic
122
+ uuid-utils==0.12.0
123
+ # via runloop-api-client
109
124
  zipp==3.23.0
110
125
  # via importlib-metadata