runloop-api-client 0.24.0__tar.gz → 0.26.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 (273) hide show
  1. runloop_api_client-0.26.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/CHANGELOG.md +42 -0
  3. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/PKG-INFO +21 -2
  4. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/README.md +20 -1
  5. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/SECURITY.md +2 -2
  6. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/api.md +1 -0
  7. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/pyproject.toml +1 -1
  8. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_base_client.py +9 -98
  9. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_client.py +2 -2
  10. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_files.py +1 -1
  11. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_version.py +1 -1
  12. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/scenarios.py +162 -1
  13. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/__init__.py +1 -0
  14. runloop_api_client-0.26.0/src/runloop_api_client/types/scenario_update_params.py +36 -0
  15. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_function.py +1 -1
  16. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_function_param.py +1 -1
  17. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_scenarios.py +246 -0
  18. runloop_api_client-0.26.0/uv.lock +295 -0
  19. runloop_api_client-0.24.0/.release-please-manifest.json +0 -3
  20. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/.gitignore +0 -0
  21. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/CONTRIBUTING.md +0 -0
  22. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/LICENSE +0 -0
  23. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/bin/check-release-environment +0 -0
  24. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/bin/publish-pypi +0 -0
  25. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/examples/.keep +0 -0
  26. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/mypy.ini +0 -0
  27. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/noxfile.py +0 -0
  28. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/release-please-config.json +0 -0
  29. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/requirements-dev.lock +0 -0
  30. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/requirements.lock +0 -0
  31. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop/lib/.keep +0 -0
  32. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/__init__.py +0 -0
  33. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_compat.py +0 -0
  34. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_constants.py +0 -0
  35. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_exceptions.py +0 -0
  36. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_models.py +0 -0
  37. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_qs.py +0 -0
  38. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_resource.py +0 -0
  39. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_response.py +0 -0
  40. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_streaming.py +0 -0
  41. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_types.py +0 -0
  42. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  43. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  44. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  45. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  46. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  47. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  48. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  49. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  50. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  51. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/lib/.keep +0 -0
  52. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/lib/polling.py +0 -0
  53. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  54. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/pagination.py +0 -0
  55. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/py.typed +0 -0
  56. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/__init__.py +0 -0
  57. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  58. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  59. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  60. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/blueprints.py +2 -2
  61. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  62. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  63. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  64. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/devboxes.py +1 -1
  65. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  66. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  67. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  68. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  69. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/repositories.py +0 -0
  70. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  71. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  72. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  73. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  74. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  75. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  76. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_list_view.py +0 -0
  77. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  78. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  79. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  80. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  81. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  82. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  83. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  84. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  85. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  86. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  87. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  88. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  89. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  90. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  91. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  92. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  93. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  94. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  95. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  96. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  97. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  98. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  99. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  100. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  101. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  102. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  103. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  104. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  105. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  106. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  107. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  108. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  109. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  110. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  111. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  112. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  113. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  114. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  115. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  116. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  117. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  118. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  119. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  120. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  121. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  122. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  123. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  124. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  125. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  126. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  127. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  128. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  129. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  130. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  131. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  132. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  133. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  134. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
  135. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  136. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  137. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  138. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  139. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  140. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  141. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  142. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  143. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  144. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  145. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  146. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  147. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  148. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  149. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  150. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  151. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  152. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  153. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  154. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
  155. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  156. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  157. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  158. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  159. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  160. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
  161. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  162. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  163. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
  164. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  165. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  166. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  167. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  168. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  169. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  170. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  171. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  172. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  173. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  174. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  175. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  176. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  177. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  178. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  179. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  180. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  181. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  182. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  183. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  184. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  185. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  186. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  187. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  188. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  189. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  190. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
  191. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  192. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  193. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  194. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  195. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  196. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  197. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  198. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  199. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  200. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/input_context.py +0 -0
  201. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  202. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  203. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  204. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  205. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  206. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
  207. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
  208. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  209. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  210. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  211. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  212. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  213. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_list_view.py +0 -0
  214. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  215. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  216. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  217. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  218. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  219. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  220. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  221. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  222. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  223. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  224. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  225. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  226. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  227. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  228. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  229. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  230. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  231. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  232. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  233. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  234. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  235. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  236. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  237. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  238. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  239. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  240. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  241. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/__init__.py +0 -0
  242. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/__init__.py +0 -0
  243. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  244. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  245. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/__init__.py +0 -0
  246. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  247. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  248. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  249. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  250. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  251. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  252. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/scenarios/__init__.py +0 -0
  253. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  254. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  255. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_benchmarks.py +0 -0
  256. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_blueprints.py +0 -0
  257. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_devboxes.py +0 -0
  258. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/api_resources/test_repositories.py +0 -0
  259. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/conftest.py +0 -0
  260. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/sample_file.txt +0 -0
  261. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_client.py +0 -0
  262. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_deepcopy.py +0 -0
  263. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_extract_files.py +0 -0
  264. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_files.py +0 -0
  265. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_models.py +0 -0
  266. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_qs.py +0 -0
  267. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_required_args.py +0 -0
  268. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_response.py +0 -0
  269. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_streaming.py +0 -0
  270. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_transform.py +0 -0
  271. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_utils/test_proxy.py +0 -0
  272. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/test_utils/test_typing.py +0 -0
  273. {runloop_api_client-0.24.0 → runloop_api_client-0.26.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.26.0"
3
+ }
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.26.0 (2025-03-04)
4
+
5
+ Full Changelog: [v0.25.0...v0.26.0](https://github.com/runloopai/api-client-python/compare/v0.25.0...v0.26.0)
6
+
7
+ ### Features
8
+
9
+ * cp ([4675ff3](https://github.com/runloopai/api-client-python/commit/4675ff37c7bfbce34db1a2b1a2b95bfc90407c57))
10
+ * cp ([a0e7c26](https://github.com/runloopai/api-client-python/commit/a0e7c26d92b1f846e8e27ad80b4bcc3eec9a6b4c))
11
+ * cp ([2ed5f7a](https://github.com/runloopai/api-client-python/commit/2ed5f7a944582d29a5284ddc7ff455832dede033))
12
+
13
+
14
+ ### Chores
15
+
16
+ * **docs:** update client docstring ([#559](https://github.com/runloopai/api-client-python/issues/559)) ([aae64ef](https://github.com/runloopai/api-client-python/commit/aae64ef8fa7a03db23695b7dae48dba6d7b1d1e3))
17
+ * **internal:** remove unused http client options forwarding ([#561](https://github.com/runloopai/api-client-python/issues/561)) ([39fcd59](https://github.com/runloopai/api-client-python/commit/39fcd59664517ad7a088a087011cb38f1d9a58ae))
18
+
19
+
20
+ ### Documentation
21
+
22
+ * update URLs from stainlessapi.com to stainless.com ([#558](https://github.com/runloopai/api-client-python/issues/558)) ([cc0b37d](https://github.com/runloopai/api-client-python/commit/cc0b37d74d46c7796ae72a8d496ee733e50b70c0))
23
+
24
+ ## 0.25.0 (2025-02-26)
25
+
26
+ Full Changelog: [v0.24.0...v0.25.0](https://github.com/runloopai/api-client-python/compare/v0.24.0...v0.25.0)
27
+
28
+ ### Features
29
+
30
+ * **api:** api update ([#555](https://github.com/runloopai/api-client-python/issues/555)) ([7c1d55d](https://github.com/runloopai/api-client-python/commit/7c1d55de7fe3f157a30080ddc7e7f0ea5053304a))
31
+ * **client:** allow passing `NotGiven` for body ([#553](https://github.com/runloopai/api-client-python/issues/553)) ([dc21cae](https://github.com/runloopai/api-client-python/commit/dc21caec97e15ccde2c396c6a2f0fce0f2bad313))
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **client:** mark some request bodies as optional ([dc21cae](https://github.com/runloopai/api-client-python/commit/dc21caec97e15ccde2c396c6a2f0fce0f2bad313))
37
+
38
+
39
+ ### Chores
40
+
41
+ * **internal:** codegen related update ([#551](https://github.com/runloopai/api-client-python/issues/551)) ([8dd01a1](https://github.com/runloopai/api-client-python/commit/8dd01a1e69d82ccbc4f05b72bd980d16cb93e5e5))
42
+ * **internal:** fix devcontainers setup ([#554](https://github.com/runloopai/api-client-python/issues/554)) ([9260eb4](https://github.com/runloopai/api-client-python/commit/9260eb4443fc50ecb07e99af2307896e32027158))
43
+ * **internal:** properly set __pydantic_private__ ([#556](https://github.com/runloopai/api-client-python/issues/556)) ([4496830](https://github.com/runloopai/api-client-python/commit/449683002d1fb31b01c4d167973058684b7ee654))
44
+
3
45
  ## 0.24.0 (2025-02-19)
4
46
 
5
47
  Full Changelog: [v0.23.0...v0.24.0](https://github.com/runloopai/api-client-python/compare/v0.23.0...v0.24.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runloop_api_client
3
- Version: 0.24.0
3
+ Version: 0.26.0
4
4
  Summary: The official Python library for the runloop API
5
5
  Project-URL: Homepage, https://github.com/runloopai/api-client-python
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
@@ -38,7 +38,7 @@ The Runloop Python library provides convenient access to the Runloop REST API fr
38
38
  application. The library includes type definitions for all request params and response fields,
39
39
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
40
40
 
41
- It is generated with [Stainless](https://www.stainlessapi.com/).
41
+ It is generated with [Stainless](https://www.stainless.com/).
42
42
 
43
43
  ## Documentation
44
44
 
@@ -168,6 +168,25 @@ for devbox in first_page.devboxes:
168
168
  # Remove `await` for non-async usage.
169
169
  ```
170
170
 
171
+ ## File uploads
172
+
173
+ Request parameters that correspond to file uploads can be passed as `bytes`, a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
174
+
175
+ ```python
176
+ from pathlib import Path
177
+ from runloop_api_client import Runloop
178
+
179
+ client = Runloop()
180
+
181
+ client.devboxes.upload_file(
182
+ id="id",
183
+ path="path",
184
+ file=Path("/path/to/file"),
185
+ )
186
+ ```
187
+
188
+ The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
189
+
171
190
  ## Handling errors
172
191
 
173
192
  When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `runloop_api_client.APIConnectionError` is raised.
@@ -6,7 +6,7 @@ The Runloop Python library provides convenient access to the Runloop REST API fr
6
6
  application. The library includes type definitions for all request params and response fields,
7
7
  and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
8
8
 
9
- It is generated with [Stainless](https://www.stainlessapi.com/).
9
+ It is generated with [Stainless](https://www.stainless.com/).
10
10
 
11
11
  ## Documentation
12
12
 
@@ -136,6 +136,25 @@ for devbox in first_page.devboxes:
136
136
  # Remove `await` for non-async usage.
137
137
  ```
138
138
 
139
+ ## File uploads
140
+
141
+ Request parameters that correspond to file uploads can be passed as `bytes`, a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance or a tuple of `(filename, contents, media type)`.
142
+
143
+ ```python
144
+ from pathlib import Path
145
+ from runloop_api_client import Runloop
146
+
147
+ client = Runloop()
148
+
149
+ client.devboxes.upload_file(
150
+ id="id",
151
+ path="path",
152
+ file=Path("/path/to/file"),
153
+ )
154
+ ```
155
+
156
+ The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
157
+
139
158
  ## Handling errors
140
159
 
141
160
  When the library is unable to connect to the API (for example, due to network connection problems or a timeout), a subclass of `runloop_api_client.APIConnectionError` is raised.
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## Reporting Security Issues
4
4
 
5
- This SDK is generated by [Stainless Software Inc](http://stainlessapi.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
5
+ This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
6
6
 
7
- To report a security issue, please contact the Stainless team at security@stainlessapi.com.
7
+ To report a security issue, please contact the Stainless team at security@stainless.com.
8
8
 
9
9
  ## Responsible Disclosure
10
10
 
@@ -278,6 +278,7 @@ Methods:
278
278
 
279
279
  - <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>
280
280
  - <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>
281
+ - <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>
281
282
  - <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>
282
283
  - <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>
283
284
  - <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>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.24.0"
3
+ version = "0.26.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -9,7 +9,6 @@ import asyncio
9
9
  import inspect
10
10
  import logging
11
11
  import platform
12
- import warnings
13
12
  import email.utils
14
13
  from types import TracebackType
15
14
  from random import random
@@ -36,7 +35,7 @@ import anyio
36
35
  import httpx
37
36
  import distro
38
37
  import pydantic
39
- from httpx import URL, Limits
38
+ from httpx import URL
40
39
  from pydantic import PrivateAttr
41
40
 
42
41
  from . import _exceptions
@@ -51,19 +50,16 @@ from ._types import (
51
50
  Timeout,
52
51
  NotGiven,
53
52
  ResponseT,
54
- Transport,
55
53
  AnyMapping,
56
54
  PostParser,
57
- ProxiesTypes,
58
55
  RequestFiles,
59
56
  HttpxSendArgs,
60
- AsyncTransport,
61
57
  RequestOptions,
62
58
  HttpxRequestFiles,
63
59
  ModelBuilderProtocol,
64
60
  )
65
61
  from ._utils import is_dict, is_list, asyncify, is_given, lru_cache, is_mapping
66
- from ._compat import model_copy, model_dump
62
+ from ._compat import PYDANTIC_V2, model_copy, model_dump
67
63
  from ._models import GenericModel, FinalRequestOptions, validate_type, construct_type
68
64
  from ._response import (
69
65
  APIResponse,
@@ -207,6 +203,9 @@ class BaseSyncPage(BasePage[_T], Generic[_T]):
207
203
  model: Type[_T],
208
204
  options: FinalRequestOptions,
209
205
  ) -> None:
206
+ if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
207
+ self.__pydantic_private__ = {}
208
+
210
209
  self._model = model
211
210
  self._client = client
212
211
  self._options = options
@@ -292,6 +291,9 @@ class BaseAsyncPage(BasePage[_T], Generic[_T]):
292
291
  client: AsyncAPIClient,
293
292
  options: FinalRequestOptions,
294
293
  ) -> None:
294
+ if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
295
+ self.__pydantic_private__ = {}
296
+
295
297
  self._model = model
296
298
  self._client = client
297
299
  self._options = options
@@ -331,9 +333,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
331
333
  _base_url: URL
332
334
  max_retries: int
333
335
  timeout: Union[float, Timeout, None]
334
- _limits: httpx.Limits
335
- _proxies: ProxiesTypes | None
336
- _transport: Transport | AsyncTransport | None
337
336
  _strict_response_validation: bool
338
337
  _idempotency_header: str | None
339
338
  _default_stream_cls: type[_DefaultStreamT] | None = None
@@ -346,9 +345,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
346
345
  _strict_response_validation: bool,
347
346
  max_retries: int = DEFAULT_MAX_RETRIES,
348
347
  timeout: float | Timeout | None = DEFAULT_TIMEOUT,
349
- limits: httpx.Limits,
350
- transport: Transport | AsyncTransport | None,
351
- proxies: ProxiesTypes | None,
352
348
  custom_headers: Mapping[str, str] | None = None,
353
349
  custom_query: Mapping[str, object] | None = None,
354
350
  ) -> None:
@@ -356,9 +352,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
356
352
  self._base_url = self._enforce_trailing_slash(URL(base_url))
357
353
  self.max_retries = max_retries
358
354
  self.timeout = timeout
359
- self._limits = limits
360
- self._proxies = proxies
361
- self._transport = transport
362
355
  self._custom_headers = custom_headers or {}
363
356
  self._custom_query = custom_query or {}
364
357
  self._strict_response_validation = _strict_response_validation
@@ -518,7 +511,7 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
518
511
  # so that passing a `TypedDict` doesn't cause an error.
519
512
  # https://github.com/microsoft/pyright/issues/3526#event-6715453066
520
513
  params=self.qs.stringify(cast(Mapping[str, Any], params)) if params else None,
521
- json=json_data,
514
+ json=json_data if is_given(json_data) else None,
522
515
  files=files,
523
516
  **kwargs,
524
517
  )
@@ -794,46 +787,11 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
794
787
  base_url: str | URL,
795
788
  max_retries: int = DEFAULT_MAX_RETRIES,
796
789
  timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
797
- transport: Transport | None = None,
798
- proxies: ProxiesTypes | None = None,
799
- limits: Limits | None = None,
800
790
  http_client: httpx.Client | None = None,
801
791
  custom_headers: Mapping[str, str] | None = None,
802
792
  custom_query: Mapping[str, object] | None = None,
803
793
  _strict_response_validation: bool,
804
794
  ) -> None:
805
- kwargs: dict[str, Any] = {}
806
- if limits is not None:
807
- warnings.warn(
808
- "The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
809
- category=DeprecationWarning,
810
- stacklevel=3,
811
- )
812
- if http_client is not None:
813
- raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
814
- else:
815
- limits = DEFAULT_CONNECTION_LIMITS
816
-
817
- if transport is not None:
818
- kwargs["transport"] = transport
819
- warnings.warn(
820
- "The `transport` argument is deprecated. The `http_client` argument should be passed instead",
821
- category=DeprecationWarning,
822
- stacklevel=3,
823
- )
824
- if http_client is not None:
825
- raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
826
-
827
- if proxies is not None:
828
- kwargs["proxies"] = proxies
829
- warnings.warn(
830
- "The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
831
- category=DeprecationWarning,
832
- stacklevel=3,
833
- )
834
- if http_client is not None:
835
- raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
836
-
837
795
  if not is_given(timeout):
838
796
  # if the user passed in a custom http client with a non-default
839
797
  # timeout set then we use that timeout.
@@ -854,12 +812,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
854
812
 
855
813
  super().__init__(
856
814
  version=version,
857
- limits=limits,
858
815
  # cast to a valid type because mypy doesn't understand our type narrowing
859
816
  timeout=cast(Timeout, timeout),
860
- proxies=proxies,
861
817
  base_url=base_url,
862
- transport=transport,
863
818
  max_retries=max_retries,
864
819
  custom_query=custom_query,
865
820
  custom_headers=custom_headers,
@@ -869,9 +824,6 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
869
824
  base_url=base_url,
870
825
  # cast to a valid type because mypy doesn't understand our type narrowing
871
826
  timeout=cast(Timeout, timeout),
872
- limits=limits,
873
- follow_redirects=True,
874
- **kwargs, # type: ignore
875
827
  )
876
828
 
877
829
  def is_closed(self) -> bool:
@@ -1366,45 +1318,10 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1366
1318
  _strict_response_validation: bool,
1367
1319
  max_retries: int = DEFAULT_MAX_RETRIES,
1368
1320
  timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
1369
- transport: AsyncTransport | None = None,
1370
- proxies: ProxiesTypes | None = None,
1371
- limits: Limits | None = None,
1372
1321
  http_client: httpx.AsyncClient | None = None,
1373
1322
  custom_headers: Mapping[str, str] | None = None,
1374
1323
  custom_query: Mapping[str, object] | None = None,
1375
1324
  ) -> None:
1376
- kwargs: dict[str, Any] = {}
1377
- if limits is not None:
1378
- warnings.warn(
1379
- "The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
1380
- category=DeprecationWarning,
1381
- stacklevel=3,
1382
- )
1383
- if http_client is not None:
1384
- raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
1385
- else:
1386
- limits = DEFAULT_CONNECTION_LIMITS
1387
-
1388
- if transport is not None:
1389
- kwargs["transport"] = transport
1390
- warnings.warn(
1391
- "The `transport` argument is deprecated. The `http_client` argument should be passed instead",
1392
- category=DeprecationWarning,
1393
- stacklevel=3,
1394
- )
1395
- if http_client is not None:
1396
- raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
1397
-
1398
- if proxies is not None:
1399
- kwargs["proxies"] = proxies
1400
- warnings.warn(
1401
- "The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
1402
- category=DeprecationWarning,
1403
- stacklevel=3,
1404
- )
1405
- if http_client is not None:
1406
- raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
1407
-
1408
1325
  if not is_given(timeout):
1409
1326
  # if the user passed in a custom http client with a non-default
1410
1327
  # timeout set then we use that timeout.
@@ -1426,11 +1343,8 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1426
1343
  super().__init__(
1427
1344
  version=version,
1428
1345
  base_url=base_url,
1429
- limits=limits,
1430
1346
  # cast to a valid type because mypy doesn't understand our type narrowing
1431
1347
  timeout=cast(Timeout, timeout),
1432
- proxies=proxies,
1433
- transport=transport,
1434
1348
  max_retries=max_retries,
1435
1349
  custom_query=custom_query,
1436
1350
  custom_headers=custom_headers,
@@ -1440,9 +1354,6 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1440
1354
  base_url=base_url,
1441
1355
  # cast to a valid type because mypy doesn't understand our type narrowing
1442
1356
  timeout=cast(Timeout, timeout),
1443
- limits=limits,
1444
- follow_redirects=True,
1445
- **kwargs, # type: ignore
1446
1357
  )
1447
1358
 
1448
1359
  def is_closed(self) -> bool:
@@ -74,7 +74,7 @@ class Runloop(SyncAPIClient):
74
74
  # part of our public interface in the future.
75
75
  _strict_response_validation: bool = False,
76
76
  ) -> None:
77
- """Construct a new synchronous runloop client instance.
77
+ """Construct a new synchronous Runloop client instance.
78
78
 
79
79
  This automatically infers the `bearer_token` argument from the `RUNLOOP_API_KEY` environment variable if it is not provided.
80
80
  """
@@ -252,7 +252,7 @@ class AsyncRunloop(AsyncAPIClient):
252
252
  # part of our public interface in the future.
253
253
  _strict_response_validation: bool = False,
254
254
  ) -> None:
255
- """Construct a new async runloop client instance.
255
+ """Construct a new async AsyncRunloop client instance.
256
256
 
257
257
  This automatically infers the `bearer_token` argument from the `RUNLOOP_API_KEY` environment variable if it is not provided.
258
258
  """
@@ -34,7 +34,7 @@ def assert_is_file_content(obj: object, *, key: str | None = None) -> None:
34
34
  if not is_file_content(obj):
35
35
  prefix = f"Expected entry at `{key}`" if key is not None else f"Expected file input `{obj!r}`"
36
36
  raise RuntimeError(
37
- f"{prefix} to be bytes, an io.IOBase instance, PathLike or a tuple but received {type(obj)} instead."
37
+ f"{prefix} to be bytes, an io.IOBase instance, PathLike or a tuple but received {type(obj)} instead. See https://github.com/runloopai/api-client-python/tree/main#file-uploads"
38
38
  ) from None
39
39
 
40
40
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "0.24.0" # x-release-please-version
4
+ __version__ = "0.26.0" # x-release-please-version