runloop-api-client 0.3.0__tar.gz → 0.4.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 (138) hide show
  1. runloop_api_client-0.4.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/CHANGELOG.md +23 -0
  3. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/pyproject.toml +3 -7
  5. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/requirements-dev.lock +1 -1
  6. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_base_client.py +1 -1
  7. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_version.py +1 -1
  8. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -1
  9. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -1
  10. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -1
  11. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_snapshot_view.py +3 -0
  12. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_view.py +3 -1
  13. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_client.py +19 -2
  14. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_models.py +1 -1
  15. runloop_api_client-0.3.0/.release-please-manifest.json +0 -3
  16. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/.gitignore +0 -0
  17. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/CONTRIBUTING.md +0 -0
  18. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/LICENSE +0 -0
  19. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/README.md +0 -0
  20. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/SECURITY.md +0 -0
  21. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/api.md +0 -0
  22. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/bin/check-release-environment +0 -0
  23. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/bin/publish-pypi +0 -0
  24. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/examples/.keep +0 -0
  25. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/mypy.ini +0 -0
  26. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/noxfile.py +0 -0
  27. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/release-please-config.json +0 -0
  28. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/requirements.lock +0 -0
  29. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop/lib/.keep +0 -0
  30. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/__init__.py +0 -0
  31. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_client.py +0 -0
  32. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_compat.py +0 -0
  33. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_constants.py +0 -0
  34. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_exceptions.py +0 -0
  35. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_files.py +0 -0
  36. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_models.py +0 -0
  37. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_qs.py +0 -0
  38. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_resource.py +0 -0
  39. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_response.py +0 -0
  40. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_streaming.py +0 -0
  41. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_types.py +0 -0
  42. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  43. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  44. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  45. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  46. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  47. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  48. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  49. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  50. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  51. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/lib/.keep +0 -0
  52. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/py.typed +0 -0
  53. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/__init__.py +0 -0
  54. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  55. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  56. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
  57. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  58. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  59. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/functions/__init__.py +0 -0
  60. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/functions/functions.py +0 -0
  61. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/functions/invocations.py +0 -0
  62. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/projects/__init__.py +0 -0
  63. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/projects/logs.py +0 -0
  64. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/resources/projects/projects.py +0 -0
  65. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/__init__.py +0 -0
  66. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  67. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  68. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  69. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  70. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  71. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  72. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  73. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/code_mount_parameters.py +0 -0
  74. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/code_mount_parameters_param.py +0 -0
  75. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  76. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  77. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_disk_snapshots_params.py +0 -0
  78. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_disk_snapshots_response.py +0 -0
  79. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  80. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  81. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  82. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  83. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  84. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  85. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  86. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  87. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  88. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  89. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  90. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devbox_write_file_params.py +0 -0
  91. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  92. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  93. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  94. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  95. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  96. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  97. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/function_invoke_async_params.py +0 -0
  98. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/function_invoke_sync_params.py +0 -0
  99. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/function_list_view.py +0 -0
  100. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/functions/__init__.py +0 -0
  101. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/functions/function_invocation_list_view.py +0 -0
  102. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/functions/invocation_list_params.py +0 -0
  103. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/project_list_view.py +0 -0
  104. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/projects/__init__.py +0 -0
  105. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/resource_size.py +0 -0
  106. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  107. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared/function_invocation_execution_detail_view.py +0 -0
  108. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  109. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared/project_logs_view.py +0 -0
  110. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared/resource_size.py +0 -0
  111. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  112. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  113. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/__init__.py +0 -0
  114. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/__init__.py +0 -0
  115. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/devboxes/__init__.py +0 -0
  116. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  117. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  118. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/functions/__init__.py +0 -0
  119. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/functions/test_invocations.py +0 -0
  120. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/projects/__init__.py +0 -0
  121. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/projects/test_logs.py +0 -0
  122. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/test_blueprints.py +0 -0
  123. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/test_devboxes.py +0 -0
  124. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/test_functions.py +0 -0
  125. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/api_resources/test_projects.py +0 -0
  126. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/conftest.py +0 -0
  127. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/sample_file.txt +0 -0
  128. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_deepcopy.py +0 -0
  129. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_extract_files.py +0 -0
  130. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_files.py +0 -0
  131. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_qs.py +0 -0
  132. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_required_args.py +0 -0
  133. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_response.py +0 -0
  134. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_streaming.py +0 -0
  135. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_transform.py +0 -0
  136. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_utils/test_proxy.py +0 -0
  137. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/test_utils/test_typing.py +0 -0
  138. {runloop_api_client-0.3.0 → runloop_api_client-0.4.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.4.0"
3
+ }
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2024-10-22)
4
+
5
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/runloopai/api-client-python/compare/v0.3.0...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([#206](https://github.com/runloopai/api-client-python/issues/206)) ([1018bb4](https://github.com/runloopai/api-client-python/commit/1018bb4e9416e4d88ba82f435b61c8aba3f1235a))
10
+ * **api:** api update ([#208](https://github.com/runloopai/api-client-python/issues/208)) ([d0c2bd8](https://github.com/runloopai/api-client-python/commit/d0c2bd8ec96edae0a96208d12049991e3ed05a87))
11
+ * **api:** api update ([#209](https://github.com/runloopai/api-client-python/issues/209)) ([5ba4709](https://github.com/runloopai/api-client-python/commit/5ba470949ffd1772f7211769aaf44d848f46fc58))
12
+ * **api:** api update ([#210](https://github.com/runloopai/api-client-python/issues/210)) ([620fcb9](https://github.com/runloopai/api-client-python/commit/620fcb90f24fe01804bd73ed970e3af0d3f65009))
13
+ * **api:** api update ([#211](https://github.com/runloopai/api-client-python/issues/211)) ([b181289](https://github.com/runloopai/api-client-python/commit/b18128942293ab07b3fa1b40cd05061746b5d17c))
14
+ * **api:** api update ([#212](https://github.com/runloopai/api-client-python/issues/212)) ([6410fed](https://github.com/runloopai/api-client-python/commit/6410fed4c958f4d38dea32fa7c2b894fb2424549))
15
+ * **api:** api update ([#213](https://github.com/runloopai/api-client-python/issues/213)) ([4c7552a](https://github.com/runloopai/api-client-python/commit/4c7552ae74d688a75a95cbf9e0147156dd558469))
16
+ * **api:** api update ([#214](https://github.com/runloopai/api-client-python/issues/214)) ([a02b476](https://github.com/runloopai/api-client-python/commit/a02b4763d6c7e2a47b300c6274a9b6b0a5f620dd))
17
+ * **api:** api update ([#215](https://github.com/runloopai/api-client-python/issues/215)) ([87fb66e](https://github.com/runloopai/api-client-python/commit/87fb66ed3d8126db93eb5b7245c10fb2fcf4533b))
18
+ * **api:** api update ([#216](https://github.com/runloopai/api-client-python/issues/216)) ([568d2f8](https://github.com/runloopai/api-client-python/commit/568d2f821df99bff0bd4ea31f1398df94dccbf2d))
19
+ * **api:** api update ([#217](https://github.com/runloopai/api-client-python/issues/217)) ([23902ae](https://github.com/runloopai/api-client-python/commit/23902aead147c749528b726d25c92d72cf0fb5f5))
20
+ * **api:** api update ([#218](https://github.com/runloopai/api-client-python/issues/218)) ([5bd1497](https://github.com/runloopai/api-client-python/commit/5bd1497d6b23f0630b74a38696f52c7d691a9a50))
21
+ * **api:** api update ([#219](https://github.com/runloopai/api-client-python/issues/219)) ([c2f5075](https://github.com/runloopai/api-client-python/commit/c2f5075c8a230524c457b491a8a796550d43695b))
22
+ * **api:** api update ([#220](https://github.com/runloopai/api-client-python/issues/220)) ([6bc6ffb](https://github.com/runloopai/api-client-python/commit/6bc6ffbd7f13204744b9f7e29f129326ea38229a))
23
+ * **api:** api update ([#221](https://github.com/runloopai/api-client-python/issues/221)) ([da27ecc](https://github.com/runloopai/api-client-python/commit/da27eccbfa6df1075e1a20d9e4a4d6abea31f731))
24
+ * **api:** api update ([#222](https://github.com/runloopai/api-client-python/issues/222)) ([753ea7c](https://github.com/runloopai/api-client-python/commit/753ea7cd62cccc384166223f762af1cfea06c08e))
25
+
3
26
  ## 0.3.0 (2024-10-14)
4
27
 
5
28
  Full Changelog: [v0.2.2...v0.3.0](https://github.com/runloopai/api-client-python/compare/v0.2.2...v0.3.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.3.0
3
+ Version: 0.4.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.3.0"
3
+ version = "0.4.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -63,11 +63,11 @@ format = { chain = [
63
63
  "format:ruff",
64
64
  "format:docs",
65
65
  "fix:ruff",
66
+ # run formatting again to fix any inconsistencies when imports are stripped
67
+ "format:ruff",
66
68
  ]}
67
- "format:black" = "black ."
68
69
  "format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md"
69
70
  "format:ruff" = "ruff format"
70
- "format:isort" = "isort ."
71
71
 
72
72
  "lint" = { chain = [
73
73
  "check:ruff",
@@ -125,10 +125,6 @@ path = "README.md"
125
125
  pattern = '\[(.+?)\]\(((?!https?://)\S+?)\)'
126
126
  replacement = '[\1](https://github.com/runloopai/api-client-python/tree/main/\g<2>)'
127
127
 
128
- [tool.black]
129
- line-length = 120
130
- target-version = ["py37"]
131
-
132
128
  [tool.pytest.ini_options]
133
129
  testpaths = ["tests"]
134
130
  addopts = "--tb=short"
@@ -80,7 +80,7 @@ pytz==2023.3.post1
80
80
  # via dirty-equals
81
81
  respx==0.20.2
82
82
  rich==13.7.1
83
- ruff==0.6.5
83
+ ruff==0.6.9
84
84
  setuptools==68.2.2
85
85
  # via nodeenv
86
86
  six==1.16.0
@@ -1575,7 +1575,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1575
1575
  except Exception as err:
1576
1576
  log.debug("Encountered Exception", exc_info=True)
1577
1577
 
1578
- if retries_taken > 0:
1578
+ if remaining_retries > 0:
1579
1579
  return await self._retry_request(
1580
1580
  input_options,
1581
1581
  cast_to,
@@ -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.3.0" # x-release-please-version
4
+ __version__ = "0.4.0" # x-release-please-version
@@ -1,7 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
 
4
-
5
4
  from .._models import BaseModel
6
5
 
7
6
  __all__ = ["BlueprintBuildLog"]
@@ -1,7 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
 
4
-
5
4
  from .._models import BaseModel
6
5
 
7
6
  __all__ = ["BlueprintPreviewView"]
@@ -1,7 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
 
4
-
5
4
  from .._models import BaseModel
6
5
 
7
6
  __all__ = ["DevboxCreateSSHKeyResponse"]
@@ -13,6 +13,9 @@ class DevboxSnapshotView(BaseModel):
13
13
  id: str
14
14
  """The unique identifier of the snapshot."""
15
15
 
16
+ create_time_ms: int
17
+ """Creation time of the Snapshot (Unix timestamp milliseconds)."""
18
+
16
19
  metadata: Dict[str, str]
17
20
  """metadata associated with the snapshot."""
18
21
 
@@ -28,7 +28,9 @@ class DevboxView(BaseModel):
28
28
  metadata: Dict[str, str]
29
29
  """The user defined Devbox metadata."""
30
30
 
31
- status: Literal["provisioning", "initializing", "running", "failure", "shutdown"]
31
+ status: Literal[
32
+ "provisioning", "initializing", "running", "suspending", "suspended", "resuming", "failure", "shutdown"
33
+ ]
32
34
  """The current status of the Devbox."""
33
35
 
34
36
  blueprint_id: Optional[str] = None
@@ -10,6 +10,7 @@ import inspect
10
10
  import tracemalloc
11
11
  from typing import Any, Union, cast
12
12
  from unittest import mock
13
+ from typing_extensions import Literal
13
14
 
14
15
  import httpx
15
16
  import pytest
@@ -765,7 +766,14 @@ class TestRunloop:
765
766
  @pytest.mark.parametrize("failures_before_success", [0, 2, 4])
766
767
  @mock.patch("runloop_api_client._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
767
768
  @pytest.mark.respx(base_url=base_url)
768
- def test_retries_taken(self, client: Runloop, failures_before_success: int, respx_mock: MockRouter) -> None:
769
+ @pytest.mark.parametrize("failure_mode", ["status", "exception"])
770
+ def test_retries_taken(
771
+ self,
772
+ client: Runloop,
773
+ failures_before_success: int,
774
+ failure_mode: Literal["status", "exception"],
775
+ respx_mock: MockRouter,
776
+ ) -> None:
769
777
  client = client.with_options(max_retries=4)
770
778
 
771
779
  nb_retries = 0
@@ -774,6 +782,8 @@ class TestRunloop:
774
782
  nonlocal nb_retries
775
783
  if nb_retries < failures_before_success:
776
784
  nb_retries += 1
785
+ if failure_mode == "exception":
786
+ raise RuntimeError("oops")
777
787
  return httpx.Response(500)
778
788
  return httpx.Response(200)
779
789
 
@@ -1551,8 +1561,13 @@ class TestAsyncRunloop:
1551
1561
  @mock.patch("runloop_api_client._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
1552
1562
  @pytest.mark.respx(base_url=base_url)
1553
1563
  @pytest.mark.asyncio
1564
+ @pytest.mark.parametrize("failure_mode", ["status", "exception"])
1554
1565
  async def test_retries_taken(
1555
- self, async_client: AsyncRunloop, failures_before_success: int, respx_mock: MockRouter
1566
+ self,
1567
+ async_client: AsyncRunloop,
1568
+ failures_before_success: int,
1569
+ failure_mode: Literal["status", "exception"],
1570
+ respx_mock: MockRouter,
1556
1571
  ) -> None:
1557
1572
  client = async_client.with_options(max_retries=4)
1558
1573
 
@@ -1562,6 +1577,8 @@ class TestAsyncRunloop:
1562
1577
  nonlocal nb_retries
1563
1578
  if nb_retries < failures_before_success:
1564
1579
  nb_retries += 1
1580
+ if failure_mode == "exception":
1581
+ raise RuntimeError("oops")
1565
1582
  return httpx.Response(500)
1566
1583
  return httpx.Response(200)
1567
1584
 
@@ -245,7 +245,7 @@ def test_nested_union_of_mixed_types() -> None:
245
245
  assert m.foo is True
246
246
 
247
247
  m = Model.construct(foo="CARD_HOLDER")
248
- assert m.foo is "CARD_HOLDER"
248
+ assert m.foo == "CARD_HOLDER"
249
249
 
250
250
  m = Model.construct(foo={"bar": False})
251
251
  assert isinstance(m.foo, Submodel1)
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.3.0"
3
- }