runloop-api-client 0.1.0a5__tar.gz → 0.1.0a7__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 (126) hide show
  1. runloop_api_client-0.1.0a7/.release-please-manifest.json +3 -0
  2. runloop_api_client-0.1.0a7/CHANGELOG.md +104 -0
  3. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/PKG-INFO +22 -16
  4. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/README.md +21 -15
  5. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/api.md +54 -7
  6. runloop_api_client-0.1.0a7/bin/check-release-environment +21 -0
  7. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/pyproject.toml +1 -1
  8. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/requirements-dev.lock +2 -1
  9. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/requirements.lock +1 -0
  10. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_base_client.py +22 -12
  11. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_client.py +14 -6
  12. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_compat.py +3 -3
  13. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_models.py +17 -0
  14. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_version.py +1 -1
  15. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/__init__.py +14 -0
  16. runloop_api_client-0.1.0a7/src/runloop_api_client/resources/blueprints.py +600 -0
  17. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/devboxes/devboxes.py +49 -5
  18. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/devboxes/logs.py +1 -3
  19. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/functions/functions.py +11 -12
  20. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/functions/invocations/invocations.py +69 -12
  21. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/projects/logs.py +1 -3
  22. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/projects/projects.py +1 -3
  23. runloop_api_client-0.1.0a7/src/runloop_api_client/types/__init__.py +29 -0
  24. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_build_log.py +18 -0
  25. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_build_logs_list_view.py +16 -0
  26. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_build_parameters.py +34 -0
  27. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_create_params.py +36 -0
  28. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_list_params.py +18 -0
  29. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_list_view.py +17 -0
  30. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_preview_params.py +36 -0
  31. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_preview_view.py +12 -0
  32. runloop_api_client-0.1.0a7/src/runloop_api_client/types/blueprint_view.py +26 -0
  33. runloop_api_client-0.1.0a7/src/runloop_api_client/types/code_mount_parameters.py +24 -0
  34. runloop_api_client-0.1.0a7/src/runloop_api_client/types/code_mount_parameters_param.py +24 -0
  35. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devbox_create_params.py +13 -0
  36. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devbox_list_params.py +6 -0
  37. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devbox_list_view.py +4 -0
  38. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devbox_view.py +13 -0
  39. runloop_api_client-0.1.0a7/src/runloop_api_client/types/function_invoke_async_response.py +42 -0
  40. runloop_api_client-0.1.0a7/src/runloop_api_client/types/function_invoke_sync_response.py +42 -0
  41. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/functions/__init__.py +2 -0
  42. runloop_api_client-0.1.0a7/src/runloop_api_client/types/functions/function_invocation_list_view.py +47 -0
  43. runloop_api_client-0.1.0a7/src/runloop_api_client/types/functions/invocation_list_params.py +15 -0
  44. runloop_api_client-0.1.0a7/src/runloop_api_client/types/functions/invocation_retrieve_response.py +42 -0
  45. runloop_api_client-0.1.0a7/src/runloop_api_client/types/project_list_view.py +30 -0
  46. runloop_api_client-0.1.0a7/src/runloop_api_client/types/resource_size.py +7 -0
  47. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/shared/__init__.py +0 -1
  48. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/devboxes/test_logs.py +6 -6
  49. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/functions/test_invocations.py +38 -20
  50. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/projects/test_logs.py +6 -6
  51. runloop_api_client-0.1.0a7/tests/api_resources/test_blueprints.py +479 -0
  52. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/test_devboxes.py +40 -32
  53. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/test_functions.py +69 -66
  54. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_client.py +8 -8
  55. runloop_api_client-0.1.0a5/.release-please-manifest.json +0 -3
  56. runloop_api_client-0.1.0a5/CHANGELOG.md +0 -58
  57. runloop_api_client-0.1.0a5/bin/check-release-environment +0 -32
  58. runloop_api_client-0.1.0a5/src/runloop_api_client/types/__init__.py +0 -15
  59. runloop_api_client-0.1.0a5/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -26
  60. runloop_api_client-0.1.0a5/src/runloop_api_client/types/project_list_view.py +0 -149
  61. runloop_api_client-0.1.0a5/src/runloop_api_client/types/shared/function_invocation_detail_view.py +0 -25
  62. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/.gitignore +0 -0
  63. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/CONTRIBUTING.md +0 -0
  64. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/LICENSE +0 -0
  65. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/SECURITY.md +0 -0
  66. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/bin/publish-pypi +0 -0
  67. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/examples/.keep +0 -0
  68. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/mypy.ini +0 -0
  69. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/noxfile.py +0 -0
  70. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/release-please-config.json +0 -0
  71. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop/lib/.keep +0 -0
  72. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/__init__.py +0 -0
  73. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_constants.py +0 -0
  74. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_exceptions.py +0 -0
  75. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_files.py +0 -0
  76. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_qs.py +0 -0
  77. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_resource.py +0 -0
  78. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_response.py +0 -0
  79. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_streaming.py +0 -0
  80. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_types.py +0 -0
  81. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/__init__.py +0 -0
  82. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_logs.py +0 -0
  83. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_proxy.py +0 -0
  84. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_reflection.py +0 -0
  85. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_streams.py +0 -0
  86. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_sync.py +0 -0
  87. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_transform.py +0 -0
  88. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_typing.py +0 -0
  89. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/_utils/_utils.py +0 -0
  90. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/lib/.keep +0 -0
  91. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/py.typed +0 -0
  92. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  93. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/functions/__init__.py +0 -0
  94. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/functions/invocations/__init__.py +0 -0
  95. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/resources/projects/__init__.py +0 -0
  96. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  97. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  98. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  99. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  100. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
  101. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
  102. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/function_list_view.py +0 -0
  103. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/functions/invocations/__init__.py +0 -0
  104. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/projects/__init__.py +0 -0
  105. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
  106. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/__init__.py +0 -0
  107. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/__init__.py +0 -0
  108. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/devboxes/__init__.py +0 -0
  109. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/functions/__init__.py +0 -0
  110. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/functions/invocations/__init__.py +0 -0
  111. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/projects/__init__.py +0 -0
  112. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/api_resources/test_projects.py +0 -0
  113. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/conftest.py +0 -0
  114. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/sample_file.txt +0 -0
  115. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_deepcopy.py +0 -0
  116. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_extract_files.py +0 -0
  117. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_files.py +0 -0
  118. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_models.py +0 -0
  119. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_qs.py +0 -0
  120. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_required_args.py +0 -0
  121. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_response.py +0 -0
  122. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_streaming.py +0 -0
  123. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_transform.py +0 -0
  124. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_utils/test_proxy.py +0 -0
  125. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/test_utils/test_typing.py +0 -0
  126. {runloop_api_client-0.1.0a5 → runloop_api_client-0.1.0a7}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.7"
3
+ }
@@ -0,0 +1,104 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0-alpha.7 (2024-07-30)
4
+
5
+ Full Changelog: [v0.1.0-alpha.6...v0.1.0-alpha.7](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.6...v0.1.0-alpha.7)
6
+
7
+ ### Features
8
+
9
+ * **api:** OpenAPI spec update via Stainless API ([#41](https://github.com/runloopai/api-client-python/issues/41)) ([d4da50f](https://github.com/runloopai/api-client-python/commit/d4da50fc963abf097b5d214df1cc3ee641281ab3))
10
+ * **api:** OpenAPI spec update via Stainless API ([#43](https://github.com/runloopai/api-client-python/issues/43)) ([2eed5ae](https://github.com/runloopai/api-client-python/commit/2eed5aed9091a2040efe730cb63baa8b284f1c4d))
11
+ * **api:** OpenAPI spec update via Stainless API ([#44](https://github.com/runloopai/api-client-python/issues/44)) ([d936662](https://github.com/runloopai/api-client-python/commit/d936662a5aea53a50f8ccf7e7d29c3634a8567d7))
12
+ * **api:** OpenAPI spec update via Stainless API ([#46](https://github.com/runloopai/api-client-python/issues/46)) ([cd62f94](https://github.com/runloopai/api-client-python/commit/cd62f949150028cdd481966722d26f1ea3333cd2))
13
+ * **api:** OpenAPI spec update via Stainless API ([#47](https://github.com/runloopai/api-client-python/issues/47)) ([218b9b0](https://github.com/runloopai/api-client-python/commit/218b9b0a1af247c96d7ca5299cf5c855bc4e3dfd))
14
+ * **api:** OpenAPI spec update via Stainless API ([#48](https://github.com/runloopai/api-client-python/issues/48)) ([b866f26](https://github.com/runloopai/api-client-python/commit/b866f2684b69ba1f5b3ed4f360c8de03aefa63e4))
15
+ * **api:** OpenAPI spec update via Stainless API ([#49](https://github.com/runloopai/api-client-python/issues/49)) ([3a39028](https://github.com/runloopai/api-client-python/commit/3a390287c870129265fc9f2cee6c6042430ea61f))
16
+ * **api:** OpenAPI spec update via Stainless API ([#50](https://github.com/runloopai/api-client-python/issues/50)) ([c6d26f4](https://github.com/runloopai/api-client-python/commit/c6d26f407dffb8b65342476e129e11a2caa481db))
17
+
18
+
19
+ ### Chores
20
+
21
+ * **internal:** add type construction helper ([#45](https://github.com/runloopai/api-client-python/issues/45)) ([8b05828](https://github.com/runloopai/api-client-python/commit/8b058280802b5ce7987065d17806632de4a80d32))
22
+
23
+ ## 0.1.0-alpha.6 (2024-07-25)
24
+
25
+ Full Changelog: [v0.1.0-alpha.5...v0.1.0-alpha.6](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.5...v0.1.0-alpha.6)
26
+
27
+ ### Features
28
+
29
+ * **api:** codegen changes ([4dc6179](https://github.com/runloopai/api-client-python/commit/4dc617943e2830fce6aa785c2d22205d486f0614))
30
+ * **api:** OpenAPI spec update via Stainless API ([#24](https://github.com/runloopai/api-client-python/issues/24)) ([d89833e](https://github.com/runloopai/api-client-python/commit/d89833e862433a467101b70d514287587aa0557b))
31
+ * **api:** OpenAPI spec update via Stainless API ([#26](https://github.com/runloopai/api-client-python/issues/26)) ([0418fb3](https://github.com/runloopai/api-client-python/commit/0418fb3400c9566af460c8890f807a3fc77ffbe1))
32
+ * **api:** OpenAPI spec update via Stainless API ([#28](https://github.com/runloopai/api-client-python/issues/28)) ([4b90fc2](https://github.com/runloopai/api-client-python/commit/4b90fc2fb979b15a64cddd05d49a492c6548b2e7))
33
+ * **api:** OpenAPI spec update via Stainless API ([#29](https://github.com/runloopai/api-client-python/issues/29)) ([351c37b](https://github.com/runloopai/api-client-python/commit/351c37bc328f53f26c094ae440a31b10b300559e))
34
+ * **api:** OpenAPI spec update via Stainless API ([#30](https://github.com/runloopai/api-client-python/issues/30)) ([877f6a4](https://github.com/runloopai/api-client-python/commit/877f6a48a13bb4cc4e2810fd155b2356cd21e709))
35
+ * **api:** OpenAPI spec update via Stainless API ([#31](https://github.com/runloopai/api-client-python/issues/31)) ([dd37c08](https://github.com/runloopai/api-client-python/commit/dd37c0807fe91ae9a6d0d3c18a9dad11f53ad83a))
36
+ * **api:** OpenAPI spec update via Stainless API ([#32](https://github.com/runloopai/api-client-python/issues/32)) ([8572bf8](https://github.com/runloopai/api-client-python/commit/8572bf848e258f802e2fdc699e227c6db33d04ba))
37
+ * **api:** OpenAPI spec update via Stainless API ([#33](https://github.com/runloopai/api-client-python/issues/33)) ([aff00c2](https://github.com/runloopai/api-client-python/commit/aff00c248594876293eff6269dd2397e3aa313c4))
38
+ * **api:** OpenAPI spec update via Stainless API ([#34](https://github.com/runloopai/api-client-python/issues/34)) ([706ca4f](https://github.com/runloopai/api-client-python/commit/706ca4f535ee0ea572aaea7a2c138a09c5a371fb))
39
+ * **api:** OpenAPI spec update via Stainless API ([#37](https://github.com/runloopai/api-client-python/issues/37)) ([c30452b](https://github.com/runloopai/api-client-python/commit/c30452b3dae499d892384be9b76fe36255302b1c))
40
+ * **api:** OpenAPI spec update via Stainless API ([#38](https://github.com/runloopai/api-client-python/issues/38)) ([399782f](https://github.com/runloopai/api-client-python/commit/399782fa56fd8744f5836913dd408eed49f80007))
41
+ * **api:** OpenAPI spec update via Stainless API ([#39](https://github.com/runloopai/api-client-python/issues/39)) ([76ed1ec](https://github.com/runloopai/api-client-python/commit/76ed1ec92b5eee1ceeebadb7a01af34e5b00c2c1))
42
+
43
+
44
+ ### Chores
45
+
46
+ * **internal:** refactor release doctor script ([#35](https://github.com/runloopai/api-client-python/issues/35)) ([3189cad](https://github.com/runloopai/api-client-python/commit/3189cad0f77f1fdd67c0af290dc87c0f22eb5690))
47
+ * **tests:** update prism version ([#36](https://github.com/runloopai/api-client-python/issues/36)) ([8ad7914](https://github.com/runloopai/api-client-python/commit/8ad7914681564cb307174e0c33456c566603319b))
48
+
49
+ ## 0.1.0-alpha.5 (2024-07-03)
50
+
51
+ Full Changelog: [v0.1.0-alpha.4...v0.1.0-alpha.5](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.4...v0.1.0-alpha.5)
52
+
53
+ ### Features
54
+
55
+ * **api:** OpenAPI spec update via Stainless API ([#19](https://github.com/runloopai/api-client-python/issues/19)) ([9def751](https://github.com/runloopai/api-client-python/commit/9def7518972cdb0c0a03728408d8e10f79090ba5))
56
+ * **api:** OpenAPI spec update via Stainless API ([#20](https://github.com/runloopai/api-client-python/issues/20)) ([a0bf266](https://github.com/runloopai/api-client-python/commit/a0bf2667f1831d91cc1375328f355dc561b98a37))
57
+ * **api:** OpenAPI spec update via Stainless API ([#21](https://github.com/runloopai/api-client-python/issues/21)) ([9e9f3c2](https://github.com/runloopai/api-client-python/commit/9e9f3c2150928658c49e5c18569411766be60bbe))
58
+ * **api:** OpenAPI spec update via Stainless API ([#22](https://github.com/runloopai/api-client-python/issues/22)) ([5bf8bc0](https://github.com/runloopai/api-client-python/commit/5bf8bc0c5030ed78d04b7a513a0d167aa3e9acf8))
59
+
60
+ ## 0.1.0-alpha.4 (2024-06-26)
61
+
62
+ Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)
63
+
64
+ ### Features
65
+
66
+ * **api:** update via SDK Studio ([#15](https://github.com/runloopai/api-client-python/issues/15)) ([4813de5](https://github.com/runloopai/api-client-python/commit/4813de5f1d73df3e39a4efff76d7d80202e65162))
67
+
68
+ ## 0.1.0-alpha.3 (2024-06-26)
69
+
70
+ Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.2...v0.1.0-alpha.3)
71
+
72
+ ### Features
73
+
74
+ * **api:** update via SDK Studio ([#12](https://github.com/runloopai/api-client-python/issues/12)) ([a86d706](https://github.com/runloopai/api-client-python/commit/a86d7069570b8d0360d3e67b90ee1fed736ec1df))
75
+
76
+ ## 0.1.0-alpha.2 (2024-06-25)
77
+
78
+ Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/runloopai/api-client-python/compare/v0.1.0-alpha.1...v0.1.0-alpha.2)
79
+
80
+ ### Features
81
+
82
+ * **api:** update via SDK Studio ([#9](https://github.com/runloopai/api-client-python/issues/9)) ([9a53399](https://github.com/runloopai/api-client-python/commit/9a533998e9f44bf77fc0697c32af441ab1ec49fc))
83
+
84
+ ## 0.1.0-alpha.1 (2024-06-25)
85
+
86
+ Full Changelog: [v0.0.1-alpha.0...v0.1.0-alpha.1](https://github.com/runloopai/api-client-python/compare/v0.0.1-alpha.0...v0.1.0-alpha.1)
87
+
88
+ ### Features
89
+
90
+ * **api:** OpenAPI spec update via Stainless API ([17991ec](https://github.com/runloopai/api-client-python/commit/17991ec2bd449f7ffef39a9da4b274f82c61c364))
91
+ * **api:** OpenAPI spec update via Stainless API ([a624924](https://github.com/runloopai/api-client-python/commit/a62492427ea762b1fa8e6e438ba489ff08b798e5))
92
+ * **api:** OpenAPI spec update via Stainless API ([#4](https://github.com/runloopai/api-client-python/issues/4)) ([134f28f](https://github.com/runloopai/api-client-python/commit/134f28ff63f25f18d3a4b7e2300b768ffa4c7590))
93
+ * **api:** update via SDK Studio ([88939b3](https://github.com/runloopai/api-client-python/commit/88939b3e46af521bc43a7b25e66ddb5a553a2af6))
94
+ * **api:** update via SDK Studio ([e2cca37](https://github.com/runloopai/api-client-python/commit/e2cca3796d1a2b128abb6f93b8e444f0dd4da501))
95
+
96
+
97
+ ### Chores
98
+
99
+ * go live ([#2](https://github.com/runloopai/api-client-python/issues/2)) ([3ae4996](https://github.com/runloopai/api-client-python/commit/3ae4996b2474aabb19a98cf38b834ca3e91d7c2b))
100
+ * go live ([#5](https://github.com/runloopai/api-client-python/issues/5)) ([626be20](https://github.com/runloopai/api-client-python/commit/626be201c2ed40ac34f2b5869f6c17c431ee543b))
101
+ * update SDK settings ([ac8358a](https://github.com/runloopai/api-client-python/commit/ac8358ae8d3ac7ba5bab2082384ae5029c50fcc8))
102
+ * update SDK settings ([#3](https://github.com/runloopai/api-client-python/issues/3)) ([ef88178](https://github.com/runloopai/api-client-python/commit/ef88178299ae3988bc3d1e813c462d609312f69a))
103
+ * update SDK settings ([#6](https://github.com/runloopai/api-client-python/issues/6)) ([82a6f56](https://github.com/runloopai/api-client-python/commit/82a6f56061cd0ebfa88ed3ec71d044a0fb131f0a))
104
+ * update SDK settings ([#7](https://github.com/runloopai/api-client-python/issues/7)) ([aa9d69b](https://github.com/runloopai/api-client-python/commit/aa9d69b15a011dfa8381ec08327c88e5c2a1ab8d))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.1.0a5
3
+ Version: 0.1.0a7
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
@@ -44,7 +44,7 @@ It is generated with [Stainless](https://www.stainlessapi.com/).
44
44
 
45
45
  ## Documentation
46
46
 
47
- The REST API documentation can be found [on runloop.ai](https://runloop.ai). The full API of this library can be found in [api.md](https://github.com/runloopai/api-client-python/tree/main/api.md).
47
+ The REST API documentation can be found on [runloop.ai](https://runloop.ai). The full API of this library can be found in [api.md](https://github.com/runloopai/api-client-python/tree/main/api.md).
48
48
 
49
49
  ## Installation
50
50
 
@@ -63,16 +63,16 @@ from runloop_api_client import Runloop
63
63
 
64
64
  client = Runloop(
65
65
  # This is the default and can be omitted
66
- bearer_token=os.environ.get("RUNLOOP_BEARER_TOKEN"),
66
+ bearer_token=os.environ.get("RUNLOOP_API_KEY"),
67
67
  )
68
68
 
69
- devbox_view = client.devboxes.create()
70
- print(devbox_view.id)
69
+ blueprint_view = client.blueprints.create()
70
+ print(blueprint_view.id)
71
71
  ```
72
72
 
73
73
  While you can provide a `bearer_token` keyword argument,
74
74
  we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
75
- to add `RUNLOOP_BEARER_TOKEN="My Bearer Token"` to your `.env` file
75
+ to add `RUNLOOP_API_KEY="My Bearer Token"` to your `.env` file
76
76
  so that your Bearer Token is not stored in source control.
77
77
 
78
78
  ## Async usage
@@ -86,13 +86,13 @@ from runloop_api_client import AsyncRunloop
86
86
 
87
87
  client = AsyncRunloop(
88
88
  # This is the default and can be omitted
89
- bearer_token=os.environ.get("RUNLOOP_BEARER_TOKEN"),
89
+ bearer_token=os.environ.get("RUNLOOP_API_KEY"),
90
90
  )
91
91
 
92
92
 
93
93
  async def main() -> None:
94
- devbox_view = await client.devboxes.create()
95
- print(devbox_view.id)
94
+ blueprint_view = await client.blueprints.create()
95
+ print(blueprint_view.id)
96
96
 
97
97
 
98
98
  asyncio.run(main())
@@ -125,7 +125,7 @@ from runloop_api_client import Runloop
125
125
  client = Runloop()
126
126
 
127
127
  try:
128
- client.devboxes.create()
128
+ client.blueprints.create()
129
129
  except runloop_api_client.APIConnectionError as e:
130
130
  print("The server could not be reached")
131
131
  print(e.__cause__) # an underlying Exception, likely raised within httpx.
@@ -168,7 +168,7 @@ client = Runloop(
168
168
  )
169
169
 
170
170
  # Or, configure per-request:
171
- client.with_options(max_retries=5).devboxes.create()
171
+ client.with_options(max_retries=5).blueprints.create()
172
172
  ```
173
173
 
174
174
  ### Timeouts
@@ -191,7 +191,7 @@ client = Runloop(
191
191
  )
192
192
 
193
193
  # Override per-request:
194
- client.with_options(timeout=5.0).devboxes.create()
194
+ client.with_options(timeout=5.0).blueprints.create()
195
195
  ```
196
196
 
197
197
  On timeout, an `APITimeoutError` is thrown.
@@ -230,11 +230,11 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
230
230
  from runloop_api_client import Runloop
231
231
 
232
232
  client = Runloop()
233
- response = client.devboxes.with_raw_response.create()
233
+ response = client.blueprints.with_raw_response.create()
234
234
  print(response.headers.get('X-My-Header'))
235
235
 
236
- devbox = response.parse() # get the object that `devboxes.create()` would have returned
237
- print(devbox.id)
236
+ blueprint = response.parse() # get the object that `blueprints.create()` would have returned
237
+ print(blueprint.id)
238
238
  ```
239
239
 
240
240
  These methods return an [`APIResponse`](https://github.com/runloopai/api-client-python/tree/main/src/runloop_api_client/_response.py) object.
@@ -248,7 +248,7 @@ The above interface eagerly reads the full response body when you make the reque
248
248
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
249
249
 
250
250
  ```python
251
- with client.devboxes.with_streaming_response.create() as response:
251
+ with client.blueprints.with_streaming_response.create() as response:
252
252
  print(response.headers.get("X-My-Header"))
253
253
 
254
254
  for line in response.iter_lines():
@@ -313,6 +313,12 @@ client = Runloop(
313
313
  )
314
314
  ```
315
315
 
316
+ You can also customize the client on a per-request basis by using `with_options()`:
317
+
318
+ ```python
319
+ client.with_options(http_client=DefaultHttpxClient(...))
320
+ ```
321
+
316
322
  ### Managing HTTP resources
317
323
 
318
324
  By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
@@ -10,7 +10,7 @@ It is generated with [Stainless](https://www.stainlessapi.com/).
10
10
 
11
11
  ## Documentation
12
12
 
13
- The REST API documentation can be found [on runloop.ai](https://runloop.ai). The full API of this library can be found in [api.md](api.md).
13
+ The REST API documentation can be found on [runloop.ai](https://runloop.ai). The full API of this library can be found in [api.md](api.md).
14
14
 
15
15
  ## Installation
16
16
 
@@ -29,16 +29,16 @@ from runloop_api_client import Runloop
29
29
 
30
30
  client = Runloop(
31
31
  # This is the default and can be omitted
32
- bearer_token=os.environ.get("RUNLOOP_BEARER_TOKEN"),
32
+ bearer_token=os.environ.get("RUNLOOP_API_KEY"),
33
33
  )
34
34
 
35
- devbox_view = client.devboxes.create()
36
- print(devbox_view.id)
35
+ blueprint_view = client.blueprints.create()
36
+ print(blueprint_view.id)
37
37
  ```
38
38
 
39
39
  While you can provide a `bearer_token` keyword argument,
40
40
  we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
41
- to add `RUNLOOP_BEARER_TOKEN="My Bearer Token"` to your `.env` file
41
+ to add `RUNLOOP_API_KEY="My Bearer Token"` to your `.env` file
42
42
  so that your Bearer Token is not stored in source control.
43
43
 
44
44
  ## Async usage
@@ -52,13 +52,13 @@ from runloop_api_client import AsyncRunloop
52
52
 
53
53
  client = AsyncRunloop(
54
54
  # This is the default and can be omitted
55
- bearer_token=os.environ.get("RUNLOOP_BEARER_TOKEN"),
55
+ bearer_token=os.environ.get("RUNLOOP_API_KEY"),
56
56
  )
57
57
 
58
58
 
59
59
  async def main() -> None:
60
- devbox_view = await client.devboxes.create()
61
- print(devbox_view.id)
60
+ blueprint_view = await client.blueprints.create()
61
+ print(blueprint_view.id)
62
62
 
63
63
 
64
64
  asyncio.run(main())
@@ -91,7 +91,7 @@ from runloop_api_client import Runloop
91
91
  client = Runloop()
92
92
 
93
93
  try:
94
- client.devboxes.create()
94
+ client.blueprints.create()
95
95
  except runloop_api_client.APIConnectionError as e:
96
96
  print("The server could not be reached")
97
97
  print(e.__cause__) # an underlying Exception, likely raised within httpx.
@@ -134,7 +134,7 @@ client = Runloop(
134
134
  )
135
135
 
136
136
  # Or, configure per-request:
137
- client.with_options(max_retries=5).devboxes.create()
137
+ client.with_options(max_retries=5).blueprints.create()
138
138
  ```
139
139
 
140
140
  ### Timeouts
@@ -157,7 +157,7 @@ client = Runloop(
157
157
  )
158
158
 
159
159
  # Override per-request:
160
- client.with_options(timeout=5.0).devboxes.create()
160
+ client.with_options(timeout=5.0).blueprints.create()
161
161
  ```
162
162
 
163
163
  On timeout, an `APITimeoutError` is thrown.
@@ -196,11 +196,11 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
196
196
  from runloop_api_client import Runloop
197
197
 
198
198
  client = Runloop()
199
- response = client.devboxes.with_raw_response.create()
199
+ response = client.blueprints.with_raw_response.create()
200
200
  print(response.headers.get('X-My-Header'))
201
201
 
202
- devbox = response.parse() # get the object that `devboxes.create()` would have returned
203
- print(devbox.id)
202
+ blueprint = response.parse() # get the object that `blueprints.create()` would have returned
203
+ print(blueprint.id)
204
204
  ```
205
205
 
206
206
  These methods return an [`APIResponse`](https://github.com/runloopai/api-client-python/tree/main/src/runloop_api_client/_response.py) object.
@@ -214,7 +214,7 @@ The above interface eagerly reads the full response body when you make the reque
214
214
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
215
215
 
216
216
  ```python
217
- with client.devboxes.with_streaming_response.create() as response:
217
+ with client.blueprints.with_streaming_response.create() as response:
218
218
  print(response.headers.get("X-My-Header"))
219
219
 
220
220
  for line in response.iter_lines():
@@ -279,6 +279,12 @@ client = Runloop(
279
279
  )
280
280
  ```
281
281
 
282
+ You can also customize the client on a per-request basis by using `with_options()`:
283
+
284
+ ```python
285
+ client.with_options(http_client=DefaultHttpxClient(...))
286
+ ```
287
+
282
288
  ### Managing HTTP resources
283
289
 
284
290
  By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
@@ -1,7 +1,46 @@
1
1
  # Shared Types
2
2
 
3
3
  ```python
4
- from runloop_api_client.types import FunctionInvocationDetailView, ProjectLogsView
4
+ from runloop_api_client.types import ProjectLogsView
5
+ ```
6
+
7
+ # Account
8
+
9
+ Types:
10
+
11
+ ```python
12
+ from runloop_api_client.types import ResourceSize
13
+ ```
14
+
15
+ # Blueprints
16
+
17
+ Types:
18
+
19
+ ```python
20
+ from runloop_api_client.types import (
21
+ BlueprintBuildLog,
22
+ BlueprintBuildLogsListView,
23
+ BlueprintBuildParameters,
24
+ BlueprintListView,
25
+ BlueprintPreviewView,
26
+ BlueprintView,
27
+ )
28
+ ```
29
+
30
+ Methods:
31
+
32
+ - <code title="post /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
33
+ - <code title="get /v1/blueprints/{id}">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
34
+ - <code title="get /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_list_view.py">BlueprintListView</a></code>
35
+ - <code title="get /v1/blueprints/{id}/logs">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">logs</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_build_logs_list_view.py">BlueprintBuildLogsListView</a></code>
36
+ - <code title="post /v1/blueprints/preview">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">preview</a>(\*\*<a href="src/runloop_api_client/types/blueprint_preview_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_preview_view.py">BlueprintPreviewView</a></code>
37
+
38
+ # Code
39
+
40
+ Types:
41
+
42
+ ```python
43
+ from runloop_api_client.types import CodeMountParameters
5
44
  ```
6
45
 
7
46
  # Devboxes
@@ -37,27 +76,35 @@ Methods:
37
76
  Types:
38
77
 
39
78
  ```python
40
- from runloop_api_client.types import FunctionListView
79
+ from runloop_api_client.types import (
80
+ FunctionListView,
81
+ FunctionInvokeAsyncResponse,
82
+ FunctionInvokeSyncResponse,
83
+ )
41
84
  ```
42
85
 
43
86
  Methods:
44
87
 
45
88
  - <code title="get /v1/functions">client.functions.<a href="./src/runloop_api_client/resources/functions/functions.py">list</a>() -> <a href="./src/runloop_api_client/types/function_list_view.py">FunctionListView</a></code>
46
- - <code title="post /v1/functions/{project_name}/{function_name}/invoke_async">client.functions.<a href="./src/runloop_api_client/resources/functions/functions.py">invoke_async</a>(function_name, \*, project_name, \*\*<a href="src/runloop_api_client/types/function_invoke_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/shared/function_invocation_detail_view.py">FunctionInvocationDetailView</a></code>
47
- - <code title="post /v1/functions/{project_name}/{function_name}/invoke_sync">client.functions.<a href="./src/runloop_api_client/resources/functions/functions.py">invoke_sync</a>(function_name, \*, project_name, \*\*<a href="src/runloop_api_client/types/function_invoke_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/shared/function_invocation_detail_view.py">FunctionInvocationDetailView</a></code>
89
+ - <code title="post /v1/functions/{project_name}/{function_name}/invoke_async">client.functions.<a href="./src/runloop_api_client/resources/functions/functions.py">invoke_async</a>(function_name, \*, project_name, \*\*<a href="src/runloop_api_client/types/function_invoke_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/function_invoke_async_response.py">FunctionInvokeAsyncResponse</a></code>
90
+ - <code title="post /v1/functions/{project_name}/{function_name}/invoke_sync">client.functions.<a href="./src/runloop_api_client/resources/functions/functions.py">invoke_sync</a>(function_name, \*, project_name, \*\*<a href="src/runloop_api_client/types/function_invoke_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/function_invoke_sync_response.py">FunctionInvokeSyncResponse</a></code>
48
91
 
49
92
  ## Invocations
50
93
 
51
94
  Types:
52
95
 
53
96
  ```python
54
- from runloop_api_client.types.functions import FunctionInvocationListView, KillOperationResponse
97
+ from runloop_api_client.types.functions import (
98
+ FunctionInvocationListView,
99
+ KillOperationResponse,
100
+ InvocationRetrieveResponse,
101
+ )
55
102
  ```
56
103
 
57
104
  Methods:
58
105
 
59
- - <code title="get /v1/functions/invocations/{invocationId}">client.functions.invocations.<a href="./src/runloop_api_client/resources/functions/invocations/invocations.py">retrieve</a>(invocation_id) -> <a href="./src/runloop_api_client/types/shared/function_invocation_detail_view.py">FunctionInvocationDetailView</a></code>
60
- - <code title="get /v1/functions/invocations">client.functions.invocations.<a href="./src/runloop_api_client/resources/functions/invocations/invocations.py">list</a>() -> <a href="./src/runloop_api_client/types/functions/function_invocation_list_view.py">FunctionInvocationListView</a></code>
106
+ - <code title="get /v1/functions/invocations/{invocationId}">client.functions.invocations.<a href="./src/runloop_api_client/resources/functions/invocations/invocations.py">retrieve</a>(invocation_id) -> <a href="./src/runloop_api_client/types/functions/invocation_retrieve_response.py">InvocationRetrieveResponse</a></code>
107
+ - <code title="get /v1/functions/invocations">client.functions.invocations.<a href="./src/runloop_api_client/resources/functions/invocations/invocations.py">list</a>(\*\*<a href="src/runloop_api_client/types/functions/invocation_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/functions/function_invocation_list_view.py">FunctionInvocationListView</a></code>
61
108
  - <code title="post /v1/functions/invocations/{invocationId}/kill">client.functions.invocations.<a href="./src/runloop_api_client/resources/functions/invocations/invocations.py">kill</a>(invocation_id) -> <a href="./src/runloop_api_client/types/functions/kill_operation_response.py">object</a></code>
62
109
 
63
110
  # Projects
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env bash
2
+
3
+ errors=()
4
+
5
+ if [ -z "${PYPI_TOKEN}" ]; then
6
+ errors+=("The RUNLOOP_PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.")
7
+ fi
8
+
9
+ lenErrors=${#errors[@]}
10
+
11
+ if [[ lenErrors -gt 0 ]]; then
12
+ echo -e "Found the following errors in the release environment:\n"
13
+
14
+ for error in "${errors[@]}"; do
15
+ echo -e "- $error\n"
16
+ done
17
+
18
+ exit 1
19
+ fi
20
+
21
+ echo "The environment is ready to push releases!"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.1.0-alpha.5"
3
+ version = "0.1.0-alpha.7"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -6,6 +6,7 @@
6
6
  # features: []
7
7
  # all-features: true
8
8
  # with-sources: false
9
+ # generate-hashes: false
9
10
 
10
11
  -e file:.
11
12
  annotated-types==0.6.0
@@ -48,7 +49,7 @@ markdown-it-py==3.0.0
48
49
  # via rich
49
50
  mdurl==0.1.2
50
51
  # via markdown-it-py
51
- mypy==1.7.1
52
+ mypy==1.10.1
52
53
  mypy-extensions==1.0.0
53
54
  # via mypy
54
55
  nodeenv==1.8.0
@@ -6,6 +6,7 @@
6
6
  # features: []
7
7
  # all-features: true
8
8
  # with-sources: false
9
+ # generate-hashes: false
9
10
 
10
11
  -e file:.
11
12
  annotated-types==0.6.0
@@ -879,9 +879,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
879
879
  def _prepare_options(
880
880
  self,
881
881
  options: FinalRequestOptions, # noqa: ARG002
882
- ) -> None:
882
+ ) -> FinalRequestOptions:
883
883
  """Hook for mutating the given options"""
884
- return None
884
+ return options
885
885
 
886
886
  def _prepare_request(
887
887
  self,
@@ -955,8 +955,13 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
955
955
  stream: bool,
956
956
  stream_cls: type[_StreamT] | None,
957
957
  ) -> ResponseT | _StreamT:
958
+ # create a copy of the options we were given so that if the
959
+ # options are mutated later & we then retry, the retries are
960
+ # given the original options
961
+ input_options = model_copy(options)
962
+
958
963
  cast_to = self._maybe_override_cast_to(cast_to, options)
959
- self._prepare_options(options)
964
+ options = self._prepare_options(options)
960
965
 
961
966
  retries = self._remaining_retries(remaining_retries, options)
962
967
  request = self._build_request(options)
@@ -979,7 +984,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
979
984
 
980
985
  if retries > 0:
981
986
  return self._retry_request(
982
- options,
987
+ input_options,
983
988
  cast_to,
984
989
  retries,
985
990
  stream=stream,
@@ -994,7 +999,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
994
999
 
995
1000
  if retries > 0:
996
1001
  return self._retry_request(
997
- options,
1002
+ input_options,
998
1003
  cast_to,
999
1004
  retries,
1000
1005
  stream=stream,
@@ -1022,7 +1027,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1022
1027
  if retries > 0 and self._should_retry(err.response):
1023
1028
  err.response.close()
1024
1029
  return self._retry_request(
1025
- options,
1030
+ input_options,
1026
1031
  cast_to,
1027
1032
  retries,
1028
1033
  err.response.headers,
@@ -1437,9 +1442,9 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1437
1442
  async def _prepare_options(
1438
1443
  self,
1439
1444
  options: FinalRequestOptions, # noqa: ARG002
1440
- ) -> None:
1445
+ ) -> FinalRequestOptions:
1441
1446
  """Hook for mutating the given options"""
1442
- return None
1447
+ return options
1443
1448
 
1444
1449
  async def _prepare_request(
1445
1450
  self,
@@ -1518,8 +1523,13 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1518
1523
  # execute it earlier while we are in an async context
1519
1524
  self._platform = await asyncify(get_platform)()
1520
1525
 
1526
+ # create a copy of the options we were given so that if the
1527
+ # options are mutated later & we then retry, the retries are
1528
+ # given the original options
1529
+ input_options = model_copy(options)
1530
+
1521
1531
  cast_to = self._maybe_override_cast_to(cast_to, options)
1522
- await self._prepare_options(options)
1532
+ options = await self._prepare_options(options)
1523
1533
 
1524
1534
  retries = self._remaining_retries(remaining_retries, options)
1525
1535
  request = self._build_request(options)
@@ -1540,7 +1550,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1540
1550
 
1541
1551
  if retries > 0:
1542
1552
  return await self._retry_request(
1543
- options,
1553
+ input_options,
1544
1554
  cast_to,
1545
1555
  retries,
1546
1556
  stream=stream,
@@ -1555,7 +1565,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1555
1565
 
1556
1566
  if retries > 0:
1557
1567
  return await self._retry_request(
1558
- options,
1568
+ input_options,
1559
1569
  cast_to,
1560
1570
  retries,
1561
1571
  stream=stream,
@@ -1578,7 +1588,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1578
1588
  if retries > 0 and self._should_retry(err.response):
1579
1589
  await err.response.aclose()
1580
1590
  return await self._retry_request(
1581
- options,
1591
+ input_options,
1582
1592
  cast_to,
1583
1593
  retries,
1584
1594
  err.response.headers,