render 1.5.0__tar.gz → 1.7.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 (924) hide show
  1. {render-1.5.0 → render-1.7.0}/CHANGELOG.md +35 -0
  2. {render-1.5.0 → render-1.7.0}/PKG-INFO +228 -110
  3. {render-1.5.0 → render-1.7.0}/README.md +227 -109
  4. render-1.7.0/example/flow/main.py +35 -0
  5. render-1.7.0/example/flow/tests/test_flow_examples.py +76 -0
  6. {render-1.5.0 → render-1.7.0}/pyproject.toml +2 -1
  7. {render-1.5.0 → render-1.7.0}/render/__init__.py +5 -1
  8. {render-1.5.0 → render-1.7.0}/render/client/__init__.py +21 -0
  9. render-1.7.0/render/client/_flow_wait.py +123 -0
  10. render-1.7.0/render/client/_requests.py +88 -0
  11. render-1.7.0/render/client/errors.py +319 -0
  12. {render-1.5.0 → render-1.7.0}/render/client/tests/test_client.py +217 -3
  13. render-1.7.0/render/client/tests/test_flow_wait.py +157 -0
  14. {render-1.5.0 → render-1.7.0}/render/client/tests/test_method_parity.py +3 -0
  15. render-1.7.0/render/client/tests/test_requests.py +78 -0
  16. {render-1.5.0 → render-1.7.0}/render/client/tests/test_util.py +20 -0
  17. {render-1.5.0 → render-1.7.0}/render/client/tests/test_util_sync.py +26 -0
  18. {render-1.5.0 → render-1.7.0}/render/client/tests/test_workflows_sync.py +202 -3
  19. render-1.7.0/render/client/types.py +104 -0
  20. {render-1.5.0 → render-1.7.0}/render/client/util.py +7 -31
  21. {render-1.5.0 → render-1.7.0}/render/client/util_sync.py +1 -25
  22. {render-1.5.0 → render-1.7.0}/render/client/workflows.py +199 -18
  23. {render-1.5.0 → render-1.7.0}/render/client/workflows_sync.py +197 -18
  24. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/__init__.py +16 -0
  25. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/_wait.py +22 -1
  26. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/api.py +50 -44
  27. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/api_sync.py +50 -44
  28. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/client.py +134 -38
  29. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/client_sync.py +134 -38
  30. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/errors.py +42 -4
  31. render-1.7.0/render/experimental/sandbox/tests/test_images.py +740 -0
  32. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_types.py +47 -13
  33. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/types.py +17 -10
  34. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/create_sandbox.py +4 -4
  35. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/create_sandbox_group_credential.py +24 -20
  36. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/delete_sandbox_group_credential.py +12 -8
  37. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/restore_sandbox_group_credential.py +36 -28
  38. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/update_sandbox_group_credential.py +32 -28
  39. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/create_service.py +12 -0
  40. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/update_service.py +12 -0
  41. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/get_flow_run_step.py +30 -5
  42. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/list_flow_run_steps.py +20 -21
  43. {render-1.5.0 → render-1.7.0}/render/public_api/models/__init__.py +2 -4
  44. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log_event.py +5 -0
  45. {render-1.5.0 → render-1.7.0}/render/public_api/models/blueprint.py +8 -0
  46. {render-1.5.0 → render-1.7.0}/render/public_api/models/blueprint_detail.py +8 -0
  47. {render-1.5.0 → render-1.7.0}/render/public_api/models/error_code.py +2 -0
  48. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_step.py +0 -9
  49. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_step_details.py +1 -33
  50. render-1.5.0/render/public_api/models/flow_run_step_with_cursor.py → render-1.7.0/render/public_api/models/flow_run_steps_page.py +36 -16
  51. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox.py +1 -1
  52. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_post.py +1 -1
  53. render-1.7.0/render/retry.py +71 -0
  54. {render-1.5.0 → render-1.7.0}/render/sandbox/__init__.py +18 -0
  55. {render-1.5.0 → render-1.7.0}/render/workflows/__init__.py +14 -1
  56. render-1.7.0/render/workflows/_determinism.py +92 -0
  57. render-1.7.0/render/workflows/_models/__init__.py +12 -0
  58. render-1.7.0/render/workflows/_models/history.py +259 -0
  59. render-1.7.0/render/workflows/_models/registration.py +43 -0
  60. render-1.7.0/render/workflows/_models/step.py +225 -0
  61. render-1.7.0/render/workflows/_models/subtask.py +60 -0
  62. render-1.7.0/render/workflows/_models/task.py +123 -0
  63. render-1.7.0/render/workflows/_models/wire.py +87 -0
  64. {render-1.5.0 → render-1.7.0}/render/workflows/_uds_http.py +24 -3
  65. render-1.7.0/render/workflows/_utils/__init__.py +0 -0
  66. render-1.7.0/render/workflows/_utils/clock.py +9 -0
  67. render-1.7.0/render/workflows/_utils/serializers.py +51 -0
  68. render-1.7.0/render/workflows/_utils/step_journal.py +299 -0
  69. {render-1.5.0 → render-1.7.0}/render/workflows/app.py +90 -0
  70. {render-1.5.0 → render-1.7.0}/render/workflows/client.py +186 -58
  71. {render-1.5.0 → render-1.7.0}/render/workflows/context.py +76 -4
  72. render-1.7.0/render/workflows/durable_context.py +562 -0
  73. render-1.7.0/render/workflows/executor.py +142 -0
  74. render-1.7.0/render/workflows/flow.py +46 -0
  75. {render-1.5.0 → render-1.7.0}/render/workflows/runner.py +18 -4
  76. {render-1.5.0 → render-1.7.0}/render/workflows/task.py +6 -3
  77. render-1.7.0/render/workflows/tests/__init__.py +0 -0
  78. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_client.py +1 -1
  79. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_context.py +13 -1
  80. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_end_to_end.py +23 -3
  81. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_executor.py +15 -1
  82. render-1.7.0/render/workflows/tests/test_flow.py +2012 -0
  83. render-1.7.0/render/workflows/tests/test_history.py +352 -0
  84. render-1.7.0/render/workflows/tests/test_step_journal.py +164 -0
  85. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_translate_errors.py +49 -1
  86. {render-1.5.0 → render-1.7.0}/scripts/unasync.py +1 -0
  87. {render-1.5.0 → render-1.7.0}/typing_tests/client_decorators.py +3 -6
  88. render-1.7.0/typing_tests/flow_context.py +44 -0
  89. {render-1.5.0 → render-1.7.0}/uv.lock +328 -16
  90. render-1.5.0/render/client/errors.py +0 -44
  91. render-1.5.0/render/client/types.py +0 -52
  92. render-1.5.0/render/experimental/sandbox/tests/test_builds.py +0 -521
  93. render-1.5.0/render/public_api/models/flow_run_step_attempt.py +0 -93
  94. render-1.5.0/render/workflows/_callback_models.py +0 -203
  95. render-1.5.0/render/workflows/executor.py +0 -94
  96. {render-1.5.0 → render-1.7.0}/.gitignore +0 -0
  97. {render-1.5.0 → render-1.7.0}/.python-version +0 -0
  98. {render-1.5.0 → render-1.7.0}/LICENSE +0 -0
  99. {render-1.5.0 → render-1.7.0}/example/__init__.py +0 -0
  100. {render-1.5.0 → render-1.7.0}/example/client/__init__.py +0 -0
  101. {render-1.5.0 → render-1.7.0}/example/client/async_main.py +0 -0
  102. {render-1.5.0 → render-1.7.0}/example/client/main.py +0 -0
  103. {render-1.5.0/example/sandbox → render-1.7.0/example/flow}/__init__.py +0 -0
  104. {render-1.5.0/example/task → render-1.7.0/example/sandbox}/__init__.py +0 -0
  105. {render-1.5.0 → render-1.7.0}/example/sandbox/main.py +0 -0
  106. {render-1.5.0/render/client/tests → render-1.7.0/example/task}/__init__.py +0 -0
  107. {render-1.5.0 → render-1.7.0}/example/task/main.py +0 -0
  108. {render-1.5.0 → render-1.7.0}/render/_startup.py +0 -0
  109. {render-1.5.0 → render-1.7.0}/render/client/client.py +0 -0
  110. {render-1.5.0 → render-1.7.0}/render/client/sse.py +0 -0
  111. {render-1.5.0 → render-1.7.0}/render/client/sse_sync.py +0 -0
  112. {render-1.5.0/render/experimental/key_value → render-1.7.0/render/client}/tests/__init__.py +0 -0
  113. {render-1.5.0 → render-1.7.0}/render/client/tests/test_render.py +0 -0
  114. {render-1.5.0 → render-1.7.0}/render/client/tests/test_sse.py +0 -0
  115. {render-1.5.0 → render-1.7.0}/render/experimental/__init__.py +0 -0
  116. {render-1.5.0 → render-1.7.0}/render/experimental/experimental.py +0 -0
  117. {render-1.5.0 → render-1.7.0}/render/experimental/experimental_sync.py +0 -0
  118. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/__init__.py +0 -0
  119. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/api.py +0 -0
  120. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/compare.py +0 -0
  121. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/provider.py +0 -0
  122. {render-1.5.0/render/experimental/object → render-1.7.0/render/experimental/key_value}/tests/__init__.py +0 -0
  123. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/tests/test_api.py +0 -0
  124. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/tests/test_compare.py +0 -0
  125. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/tests/test_provider.py +0 -0
  126. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/tests/test_types.py +0 -0
  127. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/types.py +0 -0
  128. {render-1.5.0 → render-1.7.0}/render/experimental/key_value/utils.py +0 -0
  129. {render-1.5.0 → render-1.7.0}/render/experimental/object/__init__.py +0 -0
  130. {render-1.5.0 → render-1.7.0}/render/experimental/object/api.py +0 -0
  131. {render-1.5.0 → render-1.7.0}/render/experimental/object/api_sync.py +0 -0
  132. {render-1.5.0 → render-1.7.0}/render/experimental/object/client.py +0 -0
  133. {render-1.5.0 → render-1.7.0}/render/experimental/object/client_sync.py +0 -0
  134. {render-1.5.0 → render-1.7.0}/render/experimental/object/e2e_helpers.py +0 -0
  135. {render-1.5.0/render/experimental/sandbox → render-1.7.0/render/experimental/object}/tests/__init__.py +0 -0
  136. {render-1.5.0 → render-1.7.0}/render/experimental/object/tests/rate_limit.py +0 -0
  137. {render-1.5.0 → render-1.7.0}/render/experimental/object/tests/test_client.py +0 -0
  138. {render-1.5.0 → render-1.7.0}/render/experimental/object/tests/test_e2e.py +0 -0
  139. {render-1.5.0 → render-1.7.0}/render/experimental/object/tests/test_rate_limit.py +0 -0
  140. {render-1.5.0 → render-1.7.0}/render/experimental/object/types.py +0 -0
  141. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/_tar.py +0 -0
  142. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/files.py +0 -0
  143. {render-1.5.0/render/workflows → render-1.7.0/render/experimental/sandbox}/tests/__init__.py +0 -0
  144. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_client.py +0 -0
  145. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_download.py +0 -0
  146. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_e2e.py +0 -0
  147. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_snapshots.py +0 -0
  148. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_tar.py +0 -0
  149. {render-1.5.0 → render-1.7.0}/render/experimental/sandbox/tests/test_wait.py +0 -0
  150. {render-1.5.0 → render-1.7.0}/render/public_api/__init__.py +0 -0
  151. {render-1.5.0 → render-1.7.0}/render/public_api/api/__init__.py +0 -0
  152. {render-1.5.0 → render-1.7.0}/render/public_api/api/audit_logs/__init__.py +0 -0
  153. {render-1.5.0 → render-1.7.0}/render/public_api/api/audit_logs/list_organization_audit_logs.py +0 -0
  154. {render-1.5.0 → render-1.7.0}/render/public_api/api/audit_logs/list_owner_audit_logs.py +0 -0
  155. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/__init__.py +0 -0
  156. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/disconnect_blueprint.py +0 -0
  157. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/list_blueprint_syncs.py +0 -0
  158. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/list_blueprints.py +0 -0
  159. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/retrieve_blueprint.py +0 -0
  160. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/update_blueprint.py +0 -0
  161. {render-1.5.0 → render-1.7.0}/render/public_api/api/blueprints/validate_blueprint.py +0 -0
  162. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/__init__.py +0 -0
  163. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/add_or_update_build_source_secret_file.py +0 -0
  164. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/create_build_source.py +0 -0
  165. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/delete_build_source.py +0 -0
  166. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/delete_build_source_env_var.py +0 -0
  167. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/delete_build_source_secret_file.py +0 -0
  168. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/get_build_source.py +0 -0
  169. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/get_env_vars_for_build_source.py +0 -0
  170. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/link_env_group_to_build_source.py +0 -0
  171. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/list_build_sources.py +0 -0
  172. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/list_builds_in_build_source.py +0 -0
  173. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/list_secret_files_for_build_source.py +0 -0
  174. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/retrieve_build_source_build.py +0 -0
  175. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/retrieve_build_source_env_var.py +0 -0
  176. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/retrieve_build_source_secret_file.py +0 -0
  177. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/trigger_build_source_build.py +0 -0
  178. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/unlink_env_group_from_build_source.py +0 -0
  179. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/update_build_source.py +0 -0
  180. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/update_build_source_env_var.py +0 -0
  181. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/update_env_vars_for_build_source.py +0 -0
  182. {render-1.5.0 → render-1.7.0}/render/public_api/api/build_sources/update_secret_files_for_build_source.py +0 -0
  183. {render-1.5.0 → render-1.7.0}/render/public_api/api/custom_domains/__init__.py +0 -0
  184. {render-1.5.0 → render-1.7.0}/render/public_api/api/custom_domains/create_custom_domain.py +0 -0
  185. {render-1.5.0 → render-1.7.0}/render/public_api/api/custom_domains/delete_custom_domain.py +0 -0
  186. {render-1.5.0 → render-1.7.0}/render/public_api/api/custom_domains/list_custom_domains.py +0 -0
  187. {render-1.5.0 → render-1.7.0}/render/public_api/api/custom_domains/refresh_custom_domain.py +0 -0
  188. {render-1.5.0 → render-1.7.0}/render/public_api/api/custom_domains/retrieve_custom_domain.py +0 -0
  189. {render-1.5.0 → render-1.7.0}/render/public_api/api/dedicated_i_ps/__init__.py +0 -0
  190. {render-1.5.0 → render-1.7.0}/render/public_api/api/dedicated_i_ps/create_dedicated_ip.py +0 -0
  191. {render-1.5.0 → render-1.7.0}/render/public_api/api/dedicated_i_ps/delete_dedicated_ip.py +0 -0
  192. {render-1.5.0 → render-1.7.0}/render/public_api/api/dedicated_i_ps/list_dedicated_ips.py +0 -0
  193. {render-1.5.0 → render-1.7.0}/render/public_api/api/dedicated_i_ps/retrieve_dedicated_ip.py +0 -0
  194. {render-1.5.0 → render-1.7.0}/render/public_api/api/dedicated_i_ps/update_dedicated_ip.py +0 -0
  195. {render-1.5.0 → render-1.7.0}/render/public_api/api/deploys/__init__.py +0 -0
  196. {render-1.5.0 → render-1.7.0}/render/public_api/api/deploys/cancel_deploy.py +0 -0
  197. {render-1.5.0 → render-1.7.0}/render/public_api/api/deploys/create_deploy.py +0 -0
  198. {render-1.5.0 → render-1.7.0}/render/public_api/api/deploys/list_deploys.py +0 -0
  199. {render-1.5.0 → render-1.7.0}/render/public_api/api/deploys/retrieve_deploy.py +0 -0
  200. {render-1.5.0 → render-1.7.0}/render/public_api/api/deploys/rollback_deploy.py +0 -0
  201. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/__init__.py +0 -0
  202. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/add_disk.py +0 -0
  203. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/delete_disk.py +0 -0
  204. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/list_disks.py +0 -0
  205. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/list_snapshots.py +0 -0
  206. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/restore_snapshot.py +0 -0
  207. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/retrieve_disk.py +0 -0
  208. {render-1.5.0 → render-1.7.0}/render/public_api/api/disks/update_disk.py +0 -0
  209. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/__init__.py +0 -0
  210. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/create_env_group.py +0 -0
  211. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/delete_env_group.py +0 -0
  212. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/delete_env_group_env_var.py +0 -0
  213. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/delete_env_group_secret_file.py +0 -0
  214. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/link_service_to_env_group.py +0 -0
  215. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/list_env_groups.py +0 -0
  216. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/retrieve_env_group.py +0 -0
  217. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/retrieve_env_group_env_var.py +0 -0
  218. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/retrieve_env_group_secret_file.py +0 -0
  219. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/unlink_service_from_env_group.py +0 -0
  220. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/update_env_group.py +0 -0
  221. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/update_env_group_env_var.py +0 -0
  222. {render-1.5.0 → render-1.7.0}/render/public_api/api/environment_groups/update_env_group_secret_file.py +0 -0
  223. {render-1.5.0 → render-1.7.0}/render/public_api/api/events/__init__.py +0 -0
  224. {render-1.5.0 → render-1.7.0}/render/public_api/api/events/retrieve_event.py +0 -0
  225. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/__init__.py +0 -0
  226. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/create_key_value.py +0 -0
  227. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/delete_key_value.py +0 -0
  228. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/list_key_value.py +0 -0
  229. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/resume_key_value.py +0 -0
  230. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/retrieve_key_value.py +0 -0
  231. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/retrieve_key_value_connection_info.py +0 -0
  232. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/suspend_key_value.py +0 -0
  233. {render-1.5.0 → render-1.7.0}/render/public_api/api/key_value/update_key_value.py +0 -0
  234. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/__init__.py +0 -0
  235. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/delete_owner_log_stream.py +0 -0
  236. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/delete_resource_log_stream.py +0 -0
  237. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/get_owner_log_stream.py +0 -0
  238. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/get_resource_log_stream.py +0 -0
  239. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/list_logs.py +0 -0
  240. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/list_logs_values.py +0 -0
  241. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/list_resource_log_streams.py +0 -0
  242. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/subscribe_logs.py +0 -0
  243. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/update_owner_log_stream.py +0 -0
  244. {render-1.5.0 → render-1.7.0}/render/public_api/api/logs/update_resource_log_stream.py +0 -0
  245. {render-1.5.0 → render-1.7.0}/render/public_api/api/maintenance/__init__.py +0 -0
  246. {render-1.5.0 → render-1.7.0}/render/public_api/api/maintenance/list_maintenance.py +0 -0
  247. {render-1.5.0 → render-1.7.0}/render/public_api/api/maintenance/retrieve_maintenance.py +0 -0
  248. {render-1.5.0 → render-1.7.0}/render/public_api/api/maintenance/trigger_maintenance.py +0 -0
  249. {render-1.5.0 → render-1.7.0}/render/public_api/api/maintenance/update_maintenance.py +0 -0
  250. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/__init__.py +0 -0
  251. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/delete_owner_metrics_stream.py +0 -0
  252. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_active_connections.py +0 -0
  253. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_bandwidth.py +0 -0
  254. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_bandwidth_sources.py +0 -0
  255. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_cpu.py +0 -0
  256. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_cpu_limit.py +0 -0
  257. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_cpu_target.py +0 -0
  258. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_disk_capacity.py +0 -0
  259. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_disk_usage.py +0 -0
  260. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_http_latency.py +0 -0
  261. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_http_requests.py +0 -0
  262. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_instance_count.py +0 -0
  263. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_memory.py +0 -0
  264. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_memory_limit.py +0 -0
  265. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_memory_target.py +0 -0
  266. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_owner_metrics_stream.py +0 -0
  267. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_replication_lag.py +0 -0
  268. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_task_runs_completed.py +0 -0
  269. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/get_task_runs_queued.py +0 -0
  270. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/list_application_filter_values.py +0 -0
  271. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/list_http_filter_values.py +0 -0
  272. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/list_path_filter_values.py +0 -0
  273. {render-1.5.0 → render-1.7.0}/render/public_api/api/metrics/upsert_owner_metrics_stream.py +0 -0
  274. {render-1.5.0 → render-1.7.0}/render/public_api/api/notification_settings/__init__.py +0 -0
  275. {render-1.5.0 → render-1.7.0}/render/public_api/api/notification_settings/list_notification_overrides.py +0 -0
  276. {render-1.5.0 → render-1.7.0}/render/public_api/api/notification_settings/patch_owner_notification_settings.py +0 -0
  277. {render-1.5.0 → render-1.7.0}/render/public_api/api/notification_settings/patch_service_notification_overrides.py +0 -0
  278. {render-1.5.0 → render-1.7.0}/render/public_api/api/notification_settings/retrieve_owner_notification_settings.py +0 -0
  279. {render-1.5.0 → render-1.7.0}/render/public_api/api/notification_settings/retrieve_service_notification_overrides.py +0 -0
  280. {render-1.5.0 → render-1.7.0}/render/public_api/api/object_storage/__init__.py +0 -0
  281. {render-1.5.0 → render-1.7.0}/render/public_api/api/object_storage/delete_object.py +0 -0
  282. {render-1.5.0 → render-1.7.0}/render/public_api/api/object_storage/get_object.py +0 -0
  283. {render-1.5.0 → render-1.7.0}/render/public_api/api/object_storage/list_objects.py +0 -0
  284. {render-1.5.0 → render-1.7.0}/render/public_api/api/object_storage/put_object.py +0 -0
  285. {render-1.5.0 → render-1.7.0}/render/public_api/api/one_off_jobs/__init__.py +0 -0
  286. {render-1.5.0 → render-1.7.0}/render/public_api/api/one_off_jobs/cancel_job.py +0 -0
  287. {render-1.5.0 → render-1.7.0}/render/public_api/api/one_off_jobs/list_job.py +0 -0
  288. {render-1.5.0 → render-1.7.0}/render/public_api/api/one_off_jobs/post_job.py +0 -0
  289. {render-1.5.0 → render-1.7.0}/render/public_api/api/one_off_jobs/retrieve_job.py +0 -0
  290. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/__init__.py +0 -0
  291. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/create_postgres.py +0 -0
  292. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/create_postgres_export.py +0 -0
  293. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/create_postgres_user.py +0 -0
  294. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/delete_postgres.py +0 -0
  295. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/delete_postgres_user.py +0 -0
  296. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/failover_postgres.py +0 -0
  297. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_available_postgres_parameter_overrides.py +0 -0
  298. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres.py +0 -0
  299. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_export.py +0 -0
  300. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_parameter_overrides.py +0 -0
  301. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_processes.py +0 -0
  302. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_sizes.py +0 -0
  303. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_table_scans.py +0 -0
  304. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_top_queries.py +0 -0
  305. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/list_postgres_users.py +0 -0
  306. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/promote_postgres.py +0 -0
  307. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/recover_postgres.py +0 -0
  308. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/restart_postgres.py +0 -0
  309. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/resume_postgres.py +0 -0
  310. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/retrieve_postgres.py +0 -0
  311. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/retrieve_postgres_connection_info.py +0 -0
  312. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/retrieve_postgres_recovery_info.py +0 -0
  313. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/setup_postgres_replication.py +0 -0
  314. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/suspend_postgres.py +0 -0
  315. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/update_postgres.py +0 -0
  316. {render-1.5.0 → render-1.7.0}/render/public_api/api/postgres/update_postgres_parameter_overrides.py +0 -0
  317. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/__init__.py +0 -0
  318. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/add_resources_to_environment.py +0 -0
  319. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/create_environment.py +0 -0
  320. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/create_project.py +0 -0
  321. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/delete_environment.py +0 -0
  322. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/delete_project.py +0 -0
  323. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/list_environments.py +0 -0
  324. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/list_projects.py +0 -0
  325. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/remove_resources_from_environment.py +0 -0
  326. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/retrieve_environment.py +0 -0
  327. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/retrieve_project.py +0 -0
  328. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/update_environment.py +0 -0
  329. {render-1.5.0 → render-1.7.0}/render/public_api/api/projects_environments/update_project.py +0 -0
  330. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/__init__.py +0 -0
  331. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/create_redis.py +0 -0
  332. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/delete_redis.py +0 -0
  333. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/list_redis.py +0 -0
  334. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/resume_redis.py +0 -0
  335. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/retrieve_redis.py +0 -0
  336. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/retrieve_redis_connection_info.py +0 -0
  337. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/suspend_redis.py +0 -0
  338. {render-1.5.0 → render-1.7.0}/render/public_api/api/redis_deprecated/update_redis.py +0 -0
  339. {render-1.5.0 → render-1.7.0}/render/public_api/api/registry_credentials/__init__.py +0 -0
  340. {render-1.5.0 → render-1.7.0}/render/public_api/api/registry_credentials/create_registry_credential.py +0 -0
  341. {render-1.5.0 → render-1.7.0}/render/public_api/api/registry_credentials/delete_registry_credential.py +0 -0
  342. {render-1.5.0 → render-1.7.0}/render/public_api/api/registry_credentials/list_registry_credentials.py +0 -0
  343. {render-1.5.0 → render-1.7.0}/render/public_api/api/registry_credentials/retrieve_registry_credential.py +0 -0
  344. {render-1.5.0 → render-1.7.0}/render/public_api/api/registry_credentials/update_registry_credential.py +0 -0
  345. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/__init__.py +0 -0
  346. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/connect_sandbox_files.py +0 -0
  347. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/connect_sandbox_run.py +0 -0
  348. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/create_sandbox_build.py +0 -0
  349. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/create_sandbox_group.py +0 -0
  350. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/create_sandbox_snapshot.py +0 -0
  351. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/delete_sandbox_snapshot.py +0 -0
  352. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/list_sandbox_executions.py +0 -0
  353. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/list_sandbox_group_credential_versions.py +0 -0
  354. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/list_sandbox_group_credentials.py +0 -0
  355. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/list_sandbox_groups.py +0 -0
  356. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/list_sandbox_snapshots.py +0 -0
  357. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/list_sandboxes.py +0 -0
  358. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/retrieve_sandbox.py +0 -0
  359. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/retrieve_sandbox_build.py +0 -0
  360. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/retrieve_sandbox_execution.py +0 -0
  361. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/retrieve_sandbox_group.py +0 -0
  362. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/retrieve_sandbox_group_credential.py +0 -0
  363. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/retrieve_sandbox_snapshot.py +0 -0
  364. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/terminate_sandbox.py +0 -0
  365. {render-1.5.0 → render-1.7.0}/render/public_api/api/sandboxes/update_sandbox_group.py +0 -0
  366. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/__init__.py +0 -0
  367. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/add_or_update_secret_file.py +0 -0
  368. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/autoscale_service.py +0 -0
  369. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/create_ephemeral_shell.py +0 -0
  370. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/delete_autoscaling_config.py +0 -0
  371. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/delete_env_var.py +0 -0
  372. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/delete_secret_file.py +0 -0
  373. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/delete_service.py +0 -0
  374. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/get_env_vars_for_service.py +0 -0
  375. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/list_events.py +0 -0
  376. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/list_instances.py +0 -0
  377. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/list_secret_files_for_service.py +0 -0
  378. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/list_services.py +0 -0
  379. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/preview_service.py +0 -0
  380. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/purge_cache.py +0 -0
  381. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/restart_service.py +0 -0
  382. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/resume_service.py +0 -0
  383. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/retrieve_env_var.py +0 -0
  384. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/retrieve_secret_file.py +0 -0
  385. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/retrieve_service.py +0 -0
  386. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/retrieve_service_outbound_ips.py +0 -0
  387. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/scale_service.py +0 -0
  388. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/suspend_service.py +0 -0
  389. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/update_env_var.py +0 -0
  390. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/update_env_vars_for_service.py +0 -0
  391. {render-1.5.0 → render-1.7.0}/render/public_api/api/services/update_secret_files_for_service.py +0 -0
  392. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_cron_jobs/__init__.py +0 -0
  393. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_cron_jobs/cancel_cron_job_run.py +0 -0
  394. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_cron_jobs/run_cron_job.py +0 -0
  395. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_headers/__init__.py +0 -0
  396. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_headers/add_headers.py +0 -0
  397. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_headers/delete_header.py +0 -0
  398. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_headers/list_headers.py +0 -0
  399. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_headers/update_headers.py +0 -0
  400. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_routes/__init__.py +0 -0
  401. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_routes/add_route.py +0 -0
  402. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_routes/delete_route.py +0 -0
  403. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_routes/list_routes.py +0 -0
  404. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_routes/patch_route.py +0 -0
  405. {render-1.5.0 → render-1.7.0}/render/public_api/api/services_routes/put_routes.py +0 -0
  406. {render-1.5.0 → render-1.7.0}/render/public_api/api/users/__init__.py +0 -0
  407. {render-1.5.0 → render-1.7.0}/render/public_api/api/users/get_user.py +0 -0
  408. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/__init__.py +0 -0
  409. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/create_webhook.py +0 -0
  410. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/delete_webhook.py +0 -0
  411. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/list_webhook_events.py +0 -0
  412. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/list_webhooks.py +0 -0
  413. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/retrieve_webhook.py +0 -0
  414. {render-1.5.0 → render-1.7.0}/render/public_api/api/webhooks/update_webhook.py +0 -0
  415. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/__init__.py +0 -0
  416. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/cancel_flow_run.py +0 -0
  417. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/get_flow.py +0 -0
  418. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/get_flow_run.py +0 -0
  419. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/list_flow_runs.py +0 -0
  420. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/list_flows.py +0 -0
  421. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_flows/start_flow_run.py +0 -0
  422. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/__init__.py +0 -0
  423. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/cancel_task_run.py +0 -0
  424. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/create_task.py +0 -0
  425. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/get_task.py +0 -0
  426. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/get_task_run.py +0 -0
  427. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/list_task_runs.py +0 -0
  428. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/list_tasks.py +0 -0
  429. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflow_tasks/stream_task_runs_events.py +0 -0
  430. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/__init__.py +0 -0
  431. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/create_workflow.py +0 -0
  432. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/create_workflow_version.py +0 -0
  433. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/delete_workflow.py +0 -0
  434. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/get_workflow.py +0 -0
  435. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/get_workflow_version.py +0 -0
  436. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/list_workflow_versions.py +0 -0
  437. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/list_workflows.py +0 -0
  438. {render-1.5.0 → render-1.7.0}/render/public_api/api/workflows/update_workflow.py +0 -0
  439. {render-1.5.0 → render-1.7.0}/render/public_api/api/workspaces/__init__.py +0 -0
  440. {render-1.5.0 → render-1.7.0}/render/public_api/api/workspaces/list_owners.py +0 -0
  441. {render-1.5.0 → render-1.7.0}/render/public_api/api/workspaces/remove_workspace_member.py +0 -0
  442. {render-1.5.0 → render-1.7.0}/render/public_api/api/workspaces/retrieve_owner.py +0 -0
  443. {render-1.5.0 → render-1.7.0}/render/public_api/api/workspaces/retrieve_owner_members.py +0 -0
  444. {render-1.5.0 → render-1.7.0}/render/public_api/api/workspaces/update_workspace_member.py +0 -0
  445. {render-1.5.0 → render-1.7.0}/render/public_api/client.py +0 -0
  446. {render-1.5.0 → render-1.7.0}/render/public_api/errors.py +0 -0
  447. {render-1.5.0 → render-1.7.0}/render/public_api/models/add_headers_response_201.py +0 -0
  448. {render-1.5.0 → render-1.7.0}/render/public_api/models/add_or_update_build_source_secret_file_body.py +0 -0
  449. {render-1.5.0 → render-1.7.0}/render/public_api/models/add_or_update_secret_file_body.py +0 -0
  450. {render-1.5.0 → render-1.7.0}/render/public_api/models/artifact_fetch_failed.py +0 -0
  451. {render-1.5.0 → render-1.7.0}/render/public_api/models/artifact_source_changed.py +0 -0
  452. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log.py +0 -0
  453. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log_actor.py +0 -0
  454. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log_actor_type.py +0 -0
  455. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log_metadata.py +0 -0
  456. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log_status.py +0 -0
  457. {render-1.5.0 → render-1.7.0}/render/public_api/models/audit_log_with_cursor.py +0 -0
  458. {render-1.5.0 → render-1.7.0}/render/public_api/models/auto_deploy.py +0 -0
  459. {render-1.5.0 → render-1.7.0}/render/public_api/models/auto_deploy_disabled.py +0 -0
  460. {render-1.5.0 → render-1.7.0}/render/public_api/models/auto_deploy_enabled.py +0 -0
  461. {render-1.5.0 → render-1.7.0}/render/public_api/models/auto_deploy_trigger.py +0 -0
  462. {render-1.5.0 → render-1.7.0}/render/public_api/models/autoscaling_config.py +0 -0
  463. {render-1.5.0 → render-1.7.0}/render/public_api/models/autoscaling_config_changed.py +0 -0
  464. {render-1.5.0 → render-1.7.0}/render/public_api/models/autoscaling_criteria.py +0 -0
  465. {render-1.5.0 → render-1.7.0}/render/public_api/models/autoscaling_criteria_percentage.py +0 -0
  466. {render-1.5.0 → render-1.7.0}/render/public_api/models/autoscaling_ended.py +0 -0
  467. {render-1.5.0 → render-1.7.0}/render/public_api/models/autoscaling_started.py +0 -0
  468. {render-1.5.0 → render-1.7.0}/render/public_api/models/background_worker_details.py +0 -0
  469. {render-1.5.0 → render-1.7.0}/render/public_api/models/background_worker_details_patch.py +0 -0
  470. {render-1.5.0 → render-1.7.0}/render/public_api/models/background_worker_details_post.py +0 -0
  471. {render-1.5.0 → render-1.7.0}/render/public_api/models/blueprint_patch.py +0 -0
  472. {render-1.5.0 → render-1.7.0}/render/public_api/models/blueprint_with_cursor.py +0 -0
  473. {render-1.5.0 → render-1.7.0}/render/public_api/models/branch_deleted.py +0 -0
  474. {render-1.5.0 → render-1.7.0}/render/public_api/models/build.py +0 -0
  475. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_config.py +0 -0
  476. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_config_update.py +0 -0
  477. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_deploy_end_reason.py +0 -0
  478. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_deploy_end_reason_id.py +0 -0
  479. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_deploy_trigger.py +0 -0
  480. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_ended.py +0 -0
  481. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_filter.py +0 -0
  482. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_plan.py +0 -0
  483. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_run.py +0 -0
  484. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_run_runtime.py +0 -0
  485. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_run_status.py +0 -0
  486. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source.py +0 -0
  487. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_git.py +0 -0
  488. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_git_region.py +0 -0
  489. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_git_runtime.py +0 -0
  490. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_image.py +0 -0
  491. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_patch_git.py +0 -0
  492. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_patch_git_region.py +0 -0
  493. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_patch_git_runtime.py +0 -0
  494. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_patch_image.py +0 -0
  495. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_patch_input.py +0 -0
  496. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_post_input.py +0 -0
  497. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_service_link.py +0 -0
  498. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_source_with_cursor.py +0 -0
  499. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_started.py +0 -0
  500. {render-1.5.0 → render-1.7.0}/render/public_api/models/build_with_cursor.py +0 -0
  501. {render-1.5.0 → render-1.7.0}/render/public_api/models/cache.py +0 -0
  502. {render-1.5.0 → render-1.7.0}/render/public_api/models/cache_profile.py +0 -0
  503. {render-1.5.0 → render-1.7.0}/render/public_api/models/cidr_block_and_description.py +0 -0
  504. {render-1.5.0 → render-1.7.0}/render/public_api/models/commit_ignored.py +0 -0
  505. {render-1.5.0 → render-1.7.0}/render/public_api/models/commit_ref.py +0 -0
  506. {render-1.5.0 → render-1.7.0}/render/public_api/models/connect_sandbox_files_operation.py +0 -0
  507. {render-1.5.0 → render-1.7.0}/render/public_api/models/connect_sandbox_run_operation.py +0 -0
  508. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_custom_domain_body.py +0 -0
  509. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_deploy_body.py +0 -0
  510. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_deploy_body_clear_cache.py +0 -0
  511. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_ephemeral_shell_body.py +0 -0
  512. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_ephemeral_shell_response_201.py +0 -0
  513. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_registry_credential_body.py +0 -0
  514. {render-1.5.0 → render-1.7.0}/render/public_api/models/create_version.py +0 -0
  515. {render-1.5.0 → render-1.7.0}/render/public_api/models/credential_create_input.py +0 -0
  516. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_details.py +0 -0
  517. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_details_patch.py +0 -0
  518. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_details_post.py +0 -0
  519. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_run.py +0 -0
  520. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_run_ended.py +0 -0
  521. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_run_started.py +0 -0
  522. {render-1.5.0 → render-1.7.0}/render/public_api/models/cron_job_run_status.py +0 -0
  523. {render-1.5.0 → render-1.7.0}/render/public_api/models/custom_domain.py +0 -0
  524. {render-1.5.0 → render-1.7.0}/render/public_api/models/custom_domain_domain_type.py +0 -0
  525. {render-1.5.0 → render-1.7.0}/render/public_api/models/custom_domain_server.py +0 -0
  526. {render-1.5.0 → render-1.7.0}/render/public_api/models/custom_domain_verification_status.py +0 -0
  527. {render-1.5.0 → render-1.7.0}/render/public_api/models/custom_domain_with_cursor.py +0 -0
  528. {render-1.5.0 → render-1.7.0}/render/public_api/models/database_role.py +0 -0
  529. {render-1.5.0 → render-1.7.0}/render/public_api/models/database_status.py +0 -0
  530. {render-1.5.0 → render-1.7.0}/render/public_api/models/dedicated_ip.py +0 -0
  531. {render-1.5.0 → render-1.7.0}/render/public_api/models/dedicated_ip_status.py +0 -0
  532. {render-1.5.0 → render-1.7.0}/render/public_api/models/dedicated_ippatch.py +0 -0
  533. {render-1.5.0 → render-1.7.0}/render/public_api/models/dedicated_ippost.py +0 -0
  534. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy.py +0 -0
  535. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_commit.py +0 -0
  536. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_ended.py +0 -0
  537. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_image.py +0 -0
  538. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_mode.py +0 -0
  539. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_started.py +0 -0
  540. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_status.py +0 -0
  541. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_trigger.py +0 -0
  542. {render-1.5.0 → render-1.7.0}/render/public_api/models/deploy_with_cursor.py +0 -0
  543. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk.py +0 -0
  544. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_created.py +0 -0
  545. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_deleted.py +0 -0
  546. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_details.py +0 -0
  547. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_patch.py +0 -0
  548. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_post.py +0 -0
  549. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_snapshot.py +0 -0
  550. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_snapshot_restored.py +0 -0
  551. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_updated.py +0 -0
  552. {render-1.5.0 → render-1.7.0}/render/public_api/models/disk_with_cursor.py +0 -0
  553. {render-1.5.0 → render-1.7.0}/render/public_api/models/docker_details.py +0 -0
  554. {render-1.5.0 → render-1.7.0}/render/public_api/models/docker_details_patch.py +0 -0
  555. {render-1.5.0 → render-1.7.0}/render/public_api/models/docker_details_post.py +0 -0
  556. {render-1.5.0 → render-1.7.0}/render/public_api/models/edge_cache_disabled.py +0 -0
  557. {render-1.5.0 → render-1.7.0}/render/public_api/models/edge_cache_enabled.py +0 -0
  558. {render-1.5.0 → render-1.7.0}/render/public_api/models/edge_cache_purged.py +0 -0
  559. {render-1.5.0 → render-1.7.0}/render/public_api/models/edge_cache_trigger.py +0 -0
  560. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_group.py +0 -0
  561. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_group_link.py +0 -0
  562. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_group_meta.py +0 -0
  563. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_group_patch_input.py +0 -0
  564. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_group_post_input.py +0 -0
  565. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_var.py +0 -0
  566. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_var_generate_value.py +0 -0
  567. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_var_key_generate_value.py +0 -0
  568. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_var_key_value.py +0 -0
  569. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_var_value.py +0 -0
  570. {render-1.5.0 → render-1.7.0}/render/public_api/models/env_var_with_cursor.py +0 -0
  571. {render-1.5.0 → render-1.7.0}/render/public_api/models/environment.py +0 -0
  572. {render-1.5.0 → render-1.7.0}/render/public_api/models/environment_patch_input.py +0 -0
  573. {render-1.5.0 → render-1.7.0}/render/public_api/models/environment_post_input.py +0 -0
  574. {render-1.5.0 → render-1.7.0}/render/public_api/models/environment_resources_post_input.py +0 -0
  575. {render-1.5.0 → render-1.7.0}/render/public_api/models/environment_with_cursor.py +0 -0
  576. {render-1.5.0 → render-1.7.0}/render/public_api/models/error.py +0 -0
  577. {render-1.5.0 → render-1.7.0}/render/public_api/models/event.py +0 -0
  578. {render-1.5.0 → render-1.7.0}/render/public_api/models/event_status.py +0 -0
  579. {render-1.5.0 → render-1.7.0}/render/public_api/models/event_type.py +0 -0
  580. {render-1.5.0 → render-1.7.0}/render/public_api/models/execution.py +0 -0
  581. {render-1.5.0 → render-1.7.0}/render/public_api/models/execution_operation.py +0 -0
  582. {render-1.5.0 → render-1.7.0}/render/public_api/models/execution_type.py +0 -0
  583. {render-1.5.0 → render-1.7.0}/render/public_api/models/execution_with_cursor.py +0 -0
  584. {render-1.5.0 → render-1.7.0}/render/public_api/models/failure_reason.py +0 -0
  585. {render-1.5.0 → render-1.7.0}/render/public_api/models/filter_application_values_collection_item.py +0 -0
  586. {render-1.5.0 → render-1.7.0}/render/public_api/models/filter_application_values_collection_item_filter.py +0 -0
  587. {render-1.5.0 → render-1.7.0}/render/public_api/models/filter_http_values_collection_item.py +0 -0
  588. {render-1.5.0 → render-1.7.0}/render/public_api/models/filter_http_values_collection_item_filter.py +0 -0
  589. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow.py +0 -0
  590. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_input_type_1.py +0 -0
  591. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run.py +0 -0
  592. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_attempt.py +0 -0
  593. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_details.py +0 -0
  594. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_error_details.py +0 -0
  595. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_error_details_code.py +0 -0
  596. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_error_details_kind.py +0 -0
  597. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_status.py +0 -0
  598. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_step_status.py +0 -0
  599. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_step_type.py +0 -0
  600. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_run_with_cursor.py +0 -0
  601. {render-1.5.0 → render-1.7.0}/render/public_api/models/flow_with_cursor.py +0 -0
  602. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_bandwidth_sources_response_200.py +0 -0
  603. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_bandwidth_sources_response_200_data_item.py +0 -0
  604. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_bandwidth_sources_response_200_data_item_labels.py +0 -0
  605. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_bandwidth_sources_response_200_data_item_labels_traffic_source.py +0 -0
  606. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_bandwidth_sources_response_200_data_item_values_item.py +0 -0
  607. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_cpu_aggregation_method.py +0 -0
  608. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_http_requests_aggregate_by.py +0 -0
  609. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_object_output.py +0 -0
  610. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_task_runs_completed_aggregate_by.py +0 -0
  611. {render-1.5.0 → render-1.7.0}/render/public_api/models/get_task_runs_completed_state.py +0 -0
  612. {render-1.5.0 → render-1.7.0}/render/public_api/models/header.py +0 -0
  613. {render-1.5.0 → render-1.7.0}/render/public_api/models/header_input.py +0 -0
  614. {render-1.5.0 → render-1.7.0}/render/public_api/models/header_with_cursor.py +0 -0
  615. {render-1.5.0 → render-1.7.0}/render/public_api/models/image.py +0 -0
  616. {render-1.5.0 → render-1.7.0}/render/public_api/models/image_pull_failed.py +0 -0
  617. {render-1.5.0 → render-1.7.0}/render/public_api/models/initial_deploy_hook_ended.py +0 -0
  618. {render-1.5.0 → render-1.7.0}/render/public_api/models/initial_deploy_hook_started.py +0 -0
  619. {render-1.5.0 → render-1.7.0}/render/public_api/models/instance_count_changed.py +0 -0
  620. {render-1.5.0 → render-1.7.0}/render/public_api/models/instance_type_changed.py +0 -0
  621. {render-1.5.0 → render-1.7.0}/render/public_api/models/internal_routing.py +0 -0
  622. {render-1.5.0 → render-1.7.0}/render/public_api/models/job.py +0 -0
  623. {render-1.5.0 → render-1.7.0}/render/public_api/models/job_run_ended.py +0 -0
  624. {render-1.5.0 → render-1.7.0}/render/public_api/models/job_status.py +0 -0
  625. {render-1.5.0 → render-1.7.0}/render/public_api/models/job_with_cursor.py +0 -0
  626. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value.py +0 -0
  627. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_available.py +0 -0
  628. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_config_restart.py +0 -0
  629. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_connection_info.py +0 -0
  630. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_detail.py +0 -0
  631. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_options.py +0 -0
  632. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_patch_input.py +0 -0
  633. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_plan.py +0 -0
  634. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_post_input.py +0 -0
  635. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_unhealthy.py +0 -0
  636. {render-1.5.0 → render-1.7.0}/render/public_api/models/key_value_with_cursor.py +0 -0
  637. {render-1.5.0 → render-1.7.0}/render/public_api/models/label.py +0 -0
  638. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_custom_domains_domain_type.py +0 -0
  639. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_custom_domains_verification_status.py +0 -0
  640. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_logs_response_200.py +0 -0
  641. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_logs_values_label.py +0 -0
  642. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_objects_response.py +0 -0
  643. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_postgres_suspended_item.py +0 -0
  644. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_postgres_users_response_200_item.py +0 -0
  645. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_routes_type_item.py +0 -0
  646. {render-1.5.0 → render-1.7.0}/render/public_api/models/list_services_suspended_item.py +0 -0
  647. {render-1.5.0 → render-1.7.0}/render/public_api/models/log.py +0 -0
  648. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_direction.py +0 -0
  649. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_label.py +0 -0
  650. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_label_name.py +0 -0
  651. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_stream_owner_update.py +0 -0
  652. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_stream_preview_setting.py +0 -0
  653. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_stream_resource_update.py +0 -0
  654. {render-1.5.0 → render-1.7.0}/render/public_api/models/log_stream_setting.py +0 -0
  655. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_ended.py +0 -0
  656. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_mode.py +0 -0
  657. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_mode_enabled.py +0 -0
  658. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_mode_uri_updated.py +0 -0
  659. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_run.py +0 -0
  660. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_run_patch.py +0 -0
  661. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_run_with_resource.py +0 -0
  662. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_started.py +0 -0
  663. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_state.py +0 -0
  664. {render-1.5.0 → render-1.7.0}/render/public_api/models/maintenance_trigger.py +0 -0
  665. {render-1.5.0 → render-1.7.0}/render/public_api/models/maxmemory_policy.py +0 -0
  666. {render-1.5.0 → render-1.7.0}/render/public_api/models/metrics_stream.py +0 -0
  667. {render-1.5.0 → render-1.7.0}/render/public_api/models/metrics_stream_input.py +0 -0
  668. {render-1.5.0 → render-1.7.0}/render/public_api/models/native_environment_details.py +0 -0
  669. {render-1.5.0 → render-1.7.0}/render/public_api/models/native_environment_details_patch.py +0 -0
  670. {render-1.5.0 → render-1.7.0}/render/public_api/models/native_environment_details_post.py +0 -0
  671. {render-1.5.0 → render-1.7.0}/render/public_api/models/notification_override.py +0 -0
  672. {render-1.5.0 → render-1.7.0}/render/public_api/models/notification_override_with_cursor.py +0 -0
  673. {render-1.5.0 → render-1.7.0}/render/public_api/models/notification_service_override.py +0 -0
  674. {render-1.5.0 → render-1.7.0}/render/public_api/models/notification_service_override_patch.py +0 -0
  675. {render-1.5.0 → render-1.7.0}/render/public_api/models/notification_setting.py +0 -0
  676. {render-1.5.0 → render-1.7.0}/render/public_api/models/notification_setting_patch.py +0 -0
  677. {render-1.5.0 → render-1.7.0}/render/public_api/models/notify_override.py +0 -0
  678. {render-1.5.0 → render-1.7.0}/render/public_api/models/notify_preview_override.py +0 -0
  679. {render-1.5.0 → render-1.7.0}/render/public_api/models/notify_setting.py +0 -0
  680. {render-1.5.0 → render-1.7.0}/render/public_api/models/notify_setting_v2.py +0 -0
  681. {render-1.5.0 → render-1.7.0}/render/public_api/models/object_metadata.py +0 -0
  682. {render-1.5.0 → render-1.7.0}/render/public_api/models/object_with_cursor.py +0 -0
  683. {render-1.5.0 → render-1.7.0}/render/public_api/models/oom_killed.py +0 -0
  684. {render-1.5.0 → render-1.7.0}/render/public_api/models/otel_provider_type.py +0 -0
  685. {render-1.5.0 → render-1.7.0}/render/public_api/models/outbound_ips.py +0 -0
  686. {render-1.5.0 → render-1.7.0}/render/public_api/models/outbound_ips_type.py +0 -0
  687. {render-1.5.0 → render-1.7.0}/render/public_api/models/owner.py +0 -0
  688. {render-1.5.0 → render-1.7.0}/render/public_api/models/owner_log_stream_setting.py +0 -0
  689. {render-1.5.0 → render-1.7.0}/render/public_api/models/owner_type.py +0 -0
  690. {render-1.5.0 → render-1.7.0}/render/public_api/models/owner_with_cursor.py +0 -0
  691. {render-1.5.0 → render-1.7.0}/render/public_api/models/paid_plan.py +0 -0
  692. {render-1.5.0 → render-1.7.0}/render/public_api/models/patch_route_response_200.py +0 -0
  693. {render-1.5.0 → render-1.7.0}/render/public_api/models/persistence_mode.py +0 -0
  694. {render-1.5.0 → render-1.7.0}/render/public_api/models/pipeline_minutes_exhausted.py +0 -0
  695. {render-1.5.0 → render-1.7.0}/render/public_api/models/plan.py +0 -0
  696. {render-1.5.0 → render-1.7.0}/render/public_api/models/post_job_body.py +0 -0
  697. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres.py +0 -0
  698. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_available.py +0 -0
  699. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_available_parameter_override.py +0 -0
  700. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_available_parameter_overrides_result.py +0 -0
  701. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_backup_completed.py +0 -0
  702. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_backup_failed.py +0 -0
  703. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_backup_started.py +0 -0
  704. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_cluster_leader_changed.py +0 -0
  705. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_connection_info.py +0 -0
  706. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_connection_pool_changed.py +0 -0
  707. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_connection_pool_enabled_changed.py +0 -0
  708. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_created.py +0 -0
  709. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_detail.py +0 -0
  710. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_detail_suspended.py +0 -0
  711. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_disk_size_changed.py +0 -0
  712. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_export.py +0 -0
  713. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_ha_status_changed.py +0 -0
  714. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_parameter_overrides.py +0 -0
  715. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_parameter_overrides_wrapper.py +0 -0
  716. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_patch_input.py +0 -0
  717. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_pitr_checkpoint_completed.py +0 -0
  718. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_pitr_checkpoint_failed.py +0 -0
  719. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_pitr_checkpoint_started.py +0 -0
  720. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_plans.py +0 -0
  721. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_post_input.py +0 -0
  722. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_process.py +0 -0
  723. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_processes_result.py +0 -0
  724. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_put_parameter_overrides_result.py +0 -0
  725. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_query_statistic.py +0 -0
  726. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_read_replica_stale.py +0 -0
  727. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_read_replicas_changed.py +0 -0
  728. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_replication_setup_input.py +0 -0
  729. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_restarted.py +0 -0
  730. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_size.py +0 -0
  731. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_sizes_result.py +0 -0
  732. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_suspended.py +0 -0
  733. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_table_scan.py +0 -0
  734. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_table_scans_result.py +0 -0
  735. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_top_queries_result.py +0 -0
  736. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_unavailable.py +0 -0
  737. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_upgrade_failed.py +0 -0
  738. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_upgrade_started.py +0 -0
  739. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_upgrade_succeeded.py +0 -0
  740. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_version.py +0 -0
  741. {render-1.5.0 → render-1.7.0}/render/public_api/models/postgres_with_cursor.py +0 -0
  742. {render-1.5.0 → render-1.7.0}/render/public_api/models/pre_deploy_ended.py +0 -0
  743. {render-1.5.0 → render-1.7.0}/render/public_api/models/pre_deploy_started.py +0 -0
  744. {render-1.5.0 → render-1.7.0}/render/public_api/models/preview_input.py +0 -0
  745. {render-1.5.0 → render-1.7.0}/render/public_api/models/previews.py +0 -0
  746. {render-1.5.0 → render-1.7.0}/render/public_api/models/previews_generation.py +0 -0
  747. {render-1.5.0 → render-1.7.0}/render/public_api/models/private_service_details.py +0 -0
  748. {render-1.5.0 → render-1.7.0}/render/public_api/models/private_service_details_patch.py +0 -0
  749. {render-1.5.0 → render-1.7.0}/render/public_api/models/private_service_details_post.py +0 -0
  750. {render-1.5.0 → render-1.7.0}/render/public_api/models/project.py +0 -0
  751. {render-1.5.0 → render-1.7.0}/render/public_api/models/project_patch_input.py +0 -0
  752. {render-1.5.0 → render-1.7.0}/render/public_api/models/project_post_environment_input.py +0 -0
  753. {render-1.5.0 → render-1.7.0}/render/public_api/models/project_post_input.py +0 -0
  754. {render-1.5.0 → render-1.7.0}/render/public_api/models/project_with_cursor.py +0 -0
  755. {render-1.5.0 → render-1.7.0}/render/public_api/models/protected_status.py +0 -0
  756. {render-1.5.0 → render-1.7.0}/render/public_api/models/pull_request_previews_enabled.py +0 -0
  757. {render-1.5.0 → render-1.7.0}/render/public_api/models/put_object_input.py +0 -0
  758. {render-1.5.0 → render-1.7.0}/render/public_api/models/put_object_output.py +0 -0
  759. {render-1.5.0 → render-1.7.0}/render/public_api/models/read_replica.py +0 -0
  760. {render-1.5.0 → render-1.7.0}/render/public_api/models/read_replica_input.py +0 -0
  761. {render-1.5.0 → render-1.7.0}/render/public_api/models/recovery_info.py +0 -0
  762. {render-1.5.0 → render-1.7.0}/render/public_api/models/recovery_info_recovery_status.py +0 -0
  763. {render-1.5.0 → render-1.7.0}/render/public_api/models/recovery_input.py +0 -0
  764. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis.py +0 -0
  765. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_connection_info.py +0 -0
  766. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_detail.py +0 -0
  767. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_options.py +0 -0
  768. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_patch_input.py +0 -0
  769. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_plan.py +0 -0
  770. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_post_input.py +0 -0
  771. {render-1.5.0 → render-1.7.0}/render/public_api/models/redis_with_cursor.py +0 -0
  772. {render-1.5.0 → render-1.7.0}/render/public_api/models/region.py +0 -0
  773. {render-1.5.0 → render-1.7.0}/render/public_api/models/registry_credential.py +0 -0
  774. {render-1.5.0 → render-1.7.0}/render/public_api/models/registry_credential_registry.py +0 -0
  775. {render-1.5.0 → render-1.7.0}/render/public_api/models/registry_credential_summary.py +0 -0
  776. {render-1.5.0 → render-1.7.0}/render/public_api/models/render_subdomain_policy.py +0 -0
  777. {render-1.5.0 → render-1.7.0}/render/public_api/models/resource.py +0 -0
  778. {render-1.5.0 → render-1.7.0}/render/public_api/models/resource_log_stream_setting.py +0 -0
  779. {render-1.5.0 → render-1.7.0}/render/public_api/models/resource_ref.py +0 -0
  780. {render-1.5.0 → render-1.7.0}/render/public_api/models/resource_ref_type.py +0 -0
  781. {render-1.5.0 → render-1.7.0}/render/public_api/models/rollback_deploy_body.py +0 -0
  782. {render-1.5.0 → render-1.7.0}/render/public_api/models/route.py +0 -0
  783. {render-1.5.0 → render-1.7.0}/render/public_api/models/route_patch.py +0 -0
  784. {render-1.5.0 → render-1.7.0}/render/public_api/models/route_post.py +0 -0
  785. {render-1.5.0 → render-1.7.0}/render/public_api/models/route_put.py +0 -0
  786. {render-1.5.0 → render-1.7.0}/render/public_api/models/route_type.py +0 -0
  787. {render-1.5.0 → render-1.7.0}/render/public_api/models/route_with_cursor.py +0 -0
  788. {render-1.5.0 → render-1.7.0}/render/public_api/models/run_task.py +0 -0
  789. {render-1.5.0 → render-1.7.0}/render/public_api/models/runtime.py +0 -0
  790. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_build.py +0 -0
  791. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_build_post.py +0 -0
  792. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_build_post_registry_credential.py +0 -0
  793. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_build_source.py +0 -0
  794. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_build_status.py +0 -0
  795. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_connect_request.py +0 -0
  796. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_connect_response.py +0 -0
  797. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential.py +0 -0
  798. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential_create.py +0 -0
  799. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential_injection.py +0 -0
  800. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential_injection_type.py +0 -0
  801. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential_restore.py +0 -0
  802. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential_update.py +0 -0
  803. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_credential_version.py +0 -0
  804. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_egress_rule.py +0 -0
  805. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_egress_rule_protocol.py +0 -0
  806. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_group.py +0 -0
  807. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_group_patch.py +0 -0
  808. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_group_post.py +0 -0
  809. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_group_with_cursor.py +0 -0
  810. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_network_policy.py +0 -0
  811. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_network_policy_post.py +0 -0
  812. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_network_policy_type.py +0 -0
  813. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_plan.py +0 -0
  814. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_post_env.py +0 -0
  815. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_snapshot.py +0 -0
  816. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_snapshot_kind.py +0 -0
  817. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_snapshot_post.py +0 -0
  818. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_snapshot_status.py +0 -0
  819. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_snapshot_with_cursor.py +0 -0
  820. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_status.py +0 -0
  821. {render-1.5.0 → render-1.7.0}/render/public_api/models/sandbox_with_cursor.py +0 -0
  822. {render-1.5.0 → render-1.7.0}/render/public_api/models/scale_service_body.py +0 -0
  823. {render-1.5.0 → render-1.7.0}/render/public_api/models/schemas_build_filter.py +0 -0
  824. {render-1.5.0 → render-1.7.0}/render/public_api/models/schemas_image.py +0 -0
  825. {render-1.5.0 → render-1.7.0}/render/public_api/models/schemas_user.py +0 -0
  826. {render-1.5.0 → render-1.7.0}/render/public_api/models/secret_file.py +0 -0
  827. {render-1.5.0 → render-1.7.0}/render/public_api/models/secret_file_input.py +0 -0
  828. {render-1.5.0 → render-1.7.0}/render/public_api/models/secret_file_with_cursor.py +0 -0
  829. {render-1.5.0 → render-1.7.0}/render/public_api/models/server_available.py +0 -0
  830. {render-1.5.0 → render-1.7.0}/render/public_api/models/server_failed.py +0 -0
  831. {render-1.5.0 → render-1.7.0}/render/public_api/models/server_hardware_failure.py +0 -0
  832. {render-1.5.0 → render-1.7.0}/render/public_api/models/server_port.py +0 -0
  833. {render-1.5.0 → render-1.7.0}/render/public_api/models/server_port_protocol.py +0 -0
  834. {render-1.5.0 → render-1.7.0}/render/public_api/models/server_restarted.py +0 -0
  835. {render-1.5.0 → render-1.7.0}/render/public_api/models/service.py +0 -0
  836. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_and_deploy.py +0 -0
  837. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_disk.py +0 -0
  838. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_disk_usage_high.py +0 -0
  839. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_disk_usage_recovered.py +0 -0
  840. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_env.py +0 -0
  841. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_event.py +0 -0
  842. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_event_type.py +0 -0
  843. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_event_with_cursor.py +0 -0
  844. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_instance.py +0 -0
  845. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_patch.py +0 -0
  846. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_post.py +0 -0
  847. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_resumed.py +0 -0
  848. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_runtime.py +0 -0
  849. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_service_suspended_state.py +0 -0
  850. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_suspended.py +0 -0
  851. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_type.py +0 -0
  852. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_type_short.py +0 -0
  853. {render-1.5.0 → render-1.7.0}/render/public_api/models/service_with_cursor.py +0 -0
  854. {render-1.5.0 → render-1.7.0}/render/public_api/models/setup_postgres_replication_response_201.py +0 -0
  855. {render-1.5.0 → render-1.7.0}/render/public_api/models/snapshot_restore_post.py +0 -0
  856. {render-1.5.0 → render-1.7.0}/render/public_api/models/start_flow_run.py +0 -0
  857. {render-1.5.0 → render-1.7.0}/render/public_api/models/static_site_details.py +0 -0
  858. {render-1.5.0 → render-1.7.0}/render/public_api/models/static_site_details_patch.py +0 -0
  859. {render-1.5.0 → render-1.7.0}/render/public_api/models/static_site_details_post.py +0 -0
  860. {render-1.5.0 → render-1.7.0}/render/public_api/models/status.py +0 -0
  861. {render-1.5.0 → render-1.7.0}/render/public_api/models/stream_task_runs_events_accept.py +0 -0
  862. {render-1.5.0 → render-1.7.0}/render/public_api/models/suspender_added.py +0 -0
  863. {render-1.5.0 → render-1.7.0}/render/public_api/models/suspender_removed.py +0 -0
  864. {render-1.5.0 → render-1.7.0}/render/public_api/models/suspender_type.py +0 -0
  865. {render-1.5.0 → render-1.7.0}/render/public_api/models/sync.py +0 -0
  866. {render-1.5.0 → render-1.7.0}/render/public_api/models/sync_state.py +0 -0
  867. {render-1.5.0 → render-1.7.0}/render/public_api/models/sync_with_cursor.py +0 -0
  868. {render-1.5.0 → render-1.7.0}/render/public_api/models/task.py +0 -0
  869. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_attempt.py +0 -0
  870. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_attempt_details.py +0 -0
  871. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_data_type_1.py +0 -0
  872. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_run.py +0 -0
  873. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_run_details.py +0 -0
  874. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_run_status.py +0 -0
  875. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_run_with_cursor.py +0 -0
  876. {render-1.5.0 → render-1.7.0}/render/public_api/models/task_with_cursor.py +0 -0
  877. {render-1.5.0 → render-1.7.0}/render/public_api/models/team_member.py +0 -0
  878. {render-1.5.0 → render-1.7.0}/render/public_api/models/team_member_role.py +0 -0
  879. {render-1.5.0 → render-1.7.0}/render/public_api/models/team_member_status.py +0 -0
  880. {render-1.5.0 → render-1.7.0}/render/public_api/models/time_series.py +0 -0
  881. {render-1.5.0 → render-1.7.0}/render/public_api/models/time_series_value.py +0 -0
  882. {render-1.5.0 → render-1.7.0}/render/public_api/models/update_env_group_secret_file_body.py +0 -0
  883. {render-1.5.0 → render-1.7.0}/render/public_api/models/update_registry_credential_body.py +0 -0
  884. {render-1.5.0 → render-1.7.0}/render/public_api/models/update_workspace_member_body.py +0 -0
  885. {render-1.5.0 → render-1.7.0}/render/public_api/models/user.py +0 -0
  886. {render-1.5.0 → render-1.7.0}/render/public_api/models/validate_blueprint_request.py +0 -0
  887. {render-1.5.0 → render-1.7.0}/render/public_api/models/validate_blueprint_response.py +0 -0
  888. {render-1.5.0 → render-1.7.0}/render/public_api/models/validation_error.py +0 -0
  889. {render-1.5.0 → render-1.7.0}/render/public_api/models/validation_plan_summary.py +0 -0
  890. {render-1.5.0 → render-1.7.0}/render/public_api/models/web_service_details.py +0 -0
  891. {render-1.5.0 → render-1.7.0}/render/public_api/models/web_service_details_patch.py +0 -0
  892. {render-1.5.0 → render-1.7.0}/render/public_api/models/web_service_details_post.py +0 -0
  893. {render-1.5.0 → render-1.7.0}/render/public_api/models/webhook.py +0 -0
  894. {render-1.5.0 → render-1.7.0}/render/public_api/models/webhook_event.py +0 -0
  895. {render-1.5.0 → render-1.7.0}/render/public_api/models/webhook_event_with_cursor.py +0 -0
  896. {render-1.5.0 → render-1.7.0}/render/public_api/models/webhook_patch_input.py +0 -0
  897. {render-1.5.0 → render-1.7.0}/render/public_api/models/webhook_post_input.py +0 -0
  898. {render-1.5.0 → render-1.7.0}/render/public_api/models/webhook_with_cursor.py +0 -0
  899. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow.py +0 -0
  900. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow_create.py +0 -0
  901. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow_update.py +0 -0
  902. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow_version.py +0 -0
  903. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow_version_status.py +0 -0
  904. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow_version_with_cursor.py +0 -0
  905. {render-1.5.0 → render-1.7.0}/render/public_api/models/workflow_with_cursor.py +0 -0
  906. {render-1.5.0 → render-1.7.0}/render/public_api/models/zero_downtime_redeploy_ended.py +0 -0
  907. {render-1.5.0 → render-1.7.0}/render/public_api/models/zero_downtime_redeploy_started.py +0 -0
  908. {render-1.5.0 → render-1.7.0}/render/public_api/py.typed +0 -0
  909. {render-1.5.0 → render-1.7.0}/render/public_api/types.py +0 -0
  910. {render-1.5.0 → render-1.7.0}/render/py.typed +0 -0
  911. {render-1.5.0 → render-1.7.0}/render/render.py +0 -0
  912. {render-1.5.0 → render-1.7.0}/render/render_async.py +0 -0
  913. {render-1.5.0 → render-1.7.0}/render/version.py +0 -0
  914. {render-1.5.0 → render-1.7.0}/render/workflows/cli.py +0 -0
  915. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_app.py +0 -0
  916. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_cli.py +0 -0
  917. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_lazy_imports.py +0 -0
  918. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_registration.py +0 -0
  919. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_startup.py +0 -0
  920. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_uds_http.py +0 -0
  921. {render-1.5.0 → render-1.7.0}/render/workflows/tests/test_version.py +0 -0
  922. {render-1.5.0 → render-1.7.0}/tox.ini +0 -0
  923. {render-1.5.0 → render-1.7.0}/typing_tests/README.md +0 -0
  924. {render-1.5.0 → render-1.7.0}/typing_tests/run_inference.py +0 -0
@@ -1,5 +1,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.7.0] - 2026-11-02
4
+
5
+ ### Added
6
+
7
+ - (Workflows) Durable flows: register a flow with `@app.flow`. A flow is a function that takes a `FlowContext` as its first parameter. `ctx.step(name, fn, *args, retry=...)` runs a plain function inline as a durable step and records its result. After a crash, the flow reruns from the top and finished steps return their recorded results. A replay that makes different `ctx` calls fails the run with `DeterminismError`.
8
+ - (Workflows) `run_flow()` on `render.workflows` and the sync client (joining the other methods from 1.6.0).
9
+ - `ErrorCode.BUILD_SOURCE_REGION_MISMATCH` for the `build_source_region_mismatch` API error code.
10
+ - `owner_id` on `Blueprint` and `BlueprintDetail`.
11
+
12
+ ### Fixed
13
+
14
+ - `AuditLogEvent` accepts `UpdateBuildSourceEvent` and `UpdateServiceBuildSourceEvent`. Before, the client raised `ValueError` on audit logs that contain these events.
15
+
16
+ ## [1.6.0] - 2026-10-29
17
+
18
+ ### Added
19
+
20
+ - (Sandboxes) Sandbox images: `sandboxes.images.import_()` imports an OCI image so sandboxes can start from it, `images.from_id()` fetches an image, and `images.wait_until_ready()` waits for the import to succeed. Private registries are supported with `registry_credentials`.
21
+ - (Sandboxes) `sandboxes.create()` accepts `image`, an image ID or name.
22
+ - (Workflows) Flow runs: `start_flow()`, `get_flow_run()`, `cancel_flow_run()`, and `list_flow_runs()` on `render.workflows` and the sync client.
23
+ - `ErrorCode.INSUFFICIENT_TOKEN_SCOPE` for the `insufficient_token_scope` API error code.
24
+
25
+ ### Changed
26
+
27
+ - (Sandboxes) The `sandboxes.create()` docs state that a `timeout_seconds` of `0` disables the sandbox lifetime limit. This is a documentation change; the SDK sends the value as before.
28
+
29
+ ### Deprecated
30
+
31
+ - (Sandboxes) `sandboxes.builds`, `Build`, `BuildSource`, `RegistryCredential`, `BuildNotFoundError`, and `BuildNotReadyError`. Use `sandboxes.images`, `Image`, `ImageSource`, `RegistryCredentials`, `ImageNotFoundError`, and `ImageNotReadyError`.
32
+ - (Sandboxes) The `build_id` and `build_name` arguments of `sandboxes.create()`. Use `image`.
33
+
34
+ ### Fixed
35
+
36
+ - `AuditLogEvent` accepts `DeleteBuildSourceEvent`, `LinkBuildSourceEnvGroupEvent`, and `UnlinkBuildSourceEnvGroupEvent`. Before, the client raised `ValueError` on audit logs that contain these events.
37
+
3
38
  ## [1.5.0] - 2026-10-27
4
39
 
5
40
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: render
3
- Version: 1.5.0
3
+ Version: 1.7.0
4
4
  Summary: Python SDK for Render Workflows
5
5
  Author-email: Render <support@render.com>
6
6
  License-File: LICENSE
@@ -25,9 +25,20 @@ Description-Content-Type: text/markdown
25
25
 
26
26
  # Render SDK for Python
27
27
 
28
- The official Python SDK for Render. Define Workflow tasks, manage task runs, and access experimental platform features like object storage.
28
+ The official Python SDK for Render. Define Workflow tasks and flows, manage task runs and flow runs, and access experimental platform features like object storage.
29
29
 
30
- **⚠️ Early Access:** This SDK is in early access and subject to breaking changes without notice.
30
+ ## Features
31
+
32
+ - **REST API Client**: Run, monitor, cancel, and list task runs and flow runs
33
+ - **Task Definition**: Decorator-based task registration with the `Workflows` class
34
+ - **Durable Flows**: Flows that replay after a crash, with steps that retry in-process
35
+ - **Server-Sent Events**: Real-time streaming of task run events
36
+ - **Sync & Async**: Synchronous `Render` client (default) and async `RenderAsync` variant
37
+ - **Retry Configuration**: Configurable retry behavior with exponential backoff
38
+ - **Subtask Execution**: Execute tasks from within other tasks
39
+ - **Task Composition**: Combine tasks from multiple modules with `Workflows.from_workflows()`
40
+ - **Object Storage**: Experimental object storage API with upload, download, and list
41
+ - **Key Value**: Experimental Render Key value client with auto-provisioning and configuration sync
31
42
 
32
43
  ## Installation
33
44
 
@@ -35,9 +46,146 @@ The official Python SDK for Render. Define Workflow tasks, manage task runs, and
35
46
  pip install render
36
47
  ```
37
48
 
38
- ## Usage
49
+ Or with uv:
50
+
51
+ ```bash
52
+ uv add render
53
+ ```
54
+
55
+ ## Quick Start
56
+
57
+ ### REST API Client
58
+
59
+ Use the `Render` client to run tasks and flows and monitor their status:
60
+
61
+ ```python
62
+ from render import Render
63
+ from render.client import ListTaskRunsParams
64
+ from render.client.errors import TaskRunError
65
+
66
+ render = Render() # Uses RENDER_API_KEY from the environment
67
+
68
+ # run_task() starts a task and waits for completion in one call.
69
+ try:
70
+ result = render.workflows.run_task("my-workflow/my-task", [3, 4])
71
+ print(result.results)
72
+ except TaskRunError as e:
73
+ print(f"Task failed: {e}")
74
+
75
+ # start_task() starts a task without waiting for the result.
76
+ task_run = render.workflows.start_task("my-workflow/my-task", [3, 4])
77
+ print(f"Task started: {task_run.id}")
78
+
79
+ # Get task run details by ID
80
+ details = render.workflows.get_task_run(task_run.id)
81
+ print(f"Status: {details.status}")
82
+
83
+ # Cancel a running task
84
+ render.workflows.cancel_task_run(task_run.id)
85
+
86
+ # Stream task run events
87
+ for event in render.workflows.task_run_events([task_run.id]):
88
+ print(f"{event.id} status={event.status}")
89
+
90
+ # List recent task runs
91
+ runs = render.workflows.list_task_runs(ListTaskRunsParams(limit=10))
92
+ ```
93
+
94
+ #### Idempotency Keys
39
95
 
40
- ### Defining Tasks
96
+ Pass an `idempotency_key` to make starting a run safe to retry. Repeating a call
97
+ with the same key within 24 hours returns the run the first call started instead
98
+ of starting another one, so a client that retries after a timeout does not run
99
+ the task twice. Keys are scoped to a workflow.
100
+
101
+ ```python
102
+ task_run = render.workflows.start_task(
103
+ "my-workflow/charge", [order_id], idempotency_key=f"charge-{order_id}"
104
+ )
105
+ ```
106
+
107
+ #### Async Usage
108
+
109
+ For async contexts (e.g. FastAPI), use `RenderAsync`:
110
+
111
+ ```python
112
+ import asyncio
113
+ from render import RenderAsync
114
+
115
+ async def main():
116
+ render = RenderAsync()
117
+
118
+ result = await render.workflows.run_task("my-workflow/my-task", [3, 4])
119
+ print(result.results)
120
+
121
+ # start_task() returns an awaitable task run
122
+ task_run = await render.workflows.start_task("my-workflow/my-task", [3, 4])
123
+ result = await task_run # wait when ready
124
+
125
+ # Stream task run events
126
+ async for event in render.workflows.task_run_events([task_run.id]):
127
+ print(f"{event.id} status={event.status}")
128
+
129
+ asyncio.run(main())
130
+ ```
131
+
132
+ #### Running Flows
133
+
134
+ The client starts, inspects, lists and cancels flow runs the same way it does
135
+ task runs. A flow slug has the format `workflow-slug/flow-name`. Append
136
+ `:version` to run a specific version; otherwise the latest version runs.
137
+
138
+ ```python
139
+ from render import Render
140
+ from render.client import ListFlowRunsParams
141
+ from render.client.errors import FlowRunError
142
+
143
+ render = Render() # Uses RENDER_API_KEY from the environment
144
+
145
+ # run_flow() starts a flow run and waits for it to finish in one call.
146
+ try:
147
+ details = render.workflows.run_flow(
148
+ "my-workflow/fulfill_order", ["ord_123", 4200, "customer@example.com"]
149
+ )
150
+ print(details.results)
151
+ except FlowRunError as e:
152
+ print(f"Flow run {e.flow_run_id} did not succeed: {e}")
153
+
154
+ # start_flow() starts a flow run without waiting for it to finish.
155
+ flow_run = render.workflows.start_flow(
156
+ "my-workflow/fulfill_order",
157
+ ["ord_123", 4200, "customer@example.com"],
158
+ idempotency_key="fulfill-ord_123",
159
+ )
160
+ print(f"Flow started: {flow_run.id}")
161
+
162
+ # Get flow run details by ID
163
+ details = render.workflows.get_flow_run(flow_run.id)
164
+ print(f"Status: {details.status}")
165
+
166
+ # Cancel a running flow
167
+ render.workflows.cancel_flow_run(flow_run.id)
168
+
169
+ # List recent failed flow runs
170
+ runs = render.workflows.list_flow_runs(ListFlowRunsParams(limit=10, status=["failed"]))
171
+ ```
172
+
173
+ `run_flow` checks the run's status with backoff (1 second, doubling up to 60)
174
+ until it finishes, and keeps waiting while the run is paused. It returns the
175
+ details of a succeeded run and raises `FlowRunError` if the run fails or is
176
+ canceled; the error's `details` carry the final status and `error`. It has no
177
+ deadline. `start_flow` returns after the run is created; the details from
178
+ `get_flow_run` carry the run's `results`, `error` and `attempts`.
179
+
180
+ `RenderAsync` has the same methods as coroutines:
181
+
182
+ ```python
183
+ details = await render.workflows.run_flow("my-workflow/fulfill_order", [...])
184
+ flow_run = await render.workflows.start_flow("my-workflow/fulfill_order", [...])
185
+ details = await render.workflows.get_flow_run(flow_run.id)
186
+ ```
187
+
188
+ ### Task Definition
41
189
 
42
190
  Use the `Workflows` class to define and register tasks. Every task takes a
43
191
  `TaskContext` as its first parameter, followed by its inputs:
@@ -102,7 +250,7 @@ from tasks_b import app as app_b
102
250
  combined = Workflows.from_workflows(app_a, app_b)
103
251
  ```
104
252
 
105
- ### Task run IDs
253
+ #### Task run IDs
106
254
 
107
255
  The task context exposes a read-only `ctx.metadata` object with
108
256
  `task_run_id`, `root_task_run_id`, and `parent_task_run_id` fields. The SDK reads
@@ -113,102 +261,96 @@ For a root run, `ctx.metadata.root_task_run_id` equals
113
261
  `ctx.metadata.task_run_id` and `ctx.metadata.parent_task_run_id` is `None`.
114
262
  IDs are `None` when unavailable.
115
263
 
116
- ### Running the Local Task Server
117
-
118
- For local development, use the Render CLI:
119
-
120
- ```bash
121
- render workflows dev -- <start command>
122
- ```
123
-
124
- For example:
125
-
126
- ```bash
127
- render workflows dev -- python main.py
128
- ```
129
-
130
- To interact with tasks registered to the local task server, run CLI commands with the `--local` flag in another terminal. For example:
131
-
132
- ```bash
133
- render workflows tasks start <task name> --local
134
- ```
264
+ ### Durable Flows
135
265
 
136
- ### Running Tasks
266
+ A flow is a task that resumes after a crash. Register one with `@app.flow`.
267
+ Each `ctx` call in a flow is a durable **step**, and the SDK records its
268
+ result. After a crash, the flow reruns from the top, and `ctx` calls for
269
+ finished steps return the recorded results instead of running again.
137
270
 
138
- Use the `Render` client to run tasks and monitor their status:
271
+ A flow is a sync function that takes a `FlowContext` as its first parameter.
272
+ `ctx.step(name, fn, *args, retry=...)` runs `fn` inline, in the flow's process,
273
+ and returns its result. Without `retry`, a step makes one attempt.
139
274
 
140
275
  ```python
141
- from render import Render
142
- from render.client import ListTaskRunsParams
143
- from render.client.errors import TaskRunError
276
+ import uuid
144
277
 
145
- render = Render() # Uses RENDER_API_KEY from the environment
146
-
147
- # run_task() starts a task and waits for completion in one call.
148
- try:
149
- result = render.workflows.run_task("my-workflow/my-task", [3, 4])
150
- print(result.results)
151
- except TaskRunError as e:
152
- print(f"Task failed: {e}")
278
+ from render import FlowContext, Retry, Workflows
153
279
 
154
- # start_task() starts a task without waiting for the result.
155
- task_run = render.workflows.start_task("my-workflow/my-task", [3, 4])
156
- print(f"Task started: {task_run.id}")
280
+ app = Workflows()
157
281
 
158
- # Get task run details by ID
159
- details = render.workflows.get_task_run(task_run.id)
160
- print(f"Status: {details.status}")
161
282
 
162
- # Cancel a running task
163
- render.workflows.cancel_task_run(task_run.id)
283
+ # A plain function. From a flow, it runs inline as a step.
284
+ def charge_card(order_id: str, total: int) -> dict:
285
+ return payments.charge(order_id, total)
164
286
 
165
- # Stream task run events
166
- for event in render.workflows.task_run_events([task_run.id]):
167
- print(f"{event.id} status={event.status}")
168
287
 
169
- # List recent task runs
170
- runs = render.workflows.list_task_runs(ListTaskRunsParams(limit=10))
288
+ @app.flow
289
+ def fulfill_order(ctx: FlowContext, order_id: str, total: int, email: str) -> dict:
290
+ charge = ctx.step(
291
+ "charge",
292
+ charge_card,
293
+ order_id,
294
+ total,
295
+ retry=Retry(max_retries=3, wait_duration_ms=1000),
296
+ )
297
+ invoice = ctx.step("invoice", create_invoice, order_id)
298
+ receipt_id = ctx.step("receipt_id", lambda: str(uuid.uuid4()))
299
+ ctx.step("send", send_receipt, email, invoice["id"], receipt_id)
300
+ return {"charge": charge["id"], "invoice": invoice["id"]}
171
301
  ```
172
302
 
173
- #### Idempotency Keys
303
+ Rules for flow code:
304
+ - **Be deterministic.** A replay must make the same `ctx` calls in the same
305
+ order with the same inputs. Put I/O, clocks, random values and anything else
306
+ non-deterministic inside a step.
307
+ - **Run one step at a time.** Parallel steps are not supported yet.
308
+ - **Steps are sync functions and make no `ctx` calls.** A step's arguments and
309
+ result are recorded as JSON.
310
+ - **Set retries on steps, not flows.** Flows take no retry policy: they replay
311
+ after infrastructure failures instead.
312
+ - **If a step fails for good, the run fails**, even if the flow catches the
313
+ error. Raise `TerminalFlowError` from a step to fail it without retrying.
314
+ - **Don't pass secrets through step inputs or outputs.** Render stores them.
315
+ - `ctx.invoke` and `ctx.sleep` are not supported yet, so flows can't run
316
+ registered tasks. Call the task's plain function as a step instead.
317
+
318
+ For limits, supported regions and how flow runs recover, see the
319
+ [Workflows documentation](https://render.com/docs/workflows).
320
+
321
+ ### Run the Local Task Server
174
322
 
175
- Pass an `idempotency_key` to make starting a run safe to retry. Repeating a call
176
- with the same key within 24 hours returns the run the first call started instead
177
- of starting another one, so a client that retries after a timeout does not run
178
- the task twice. Keys are scoped to a workflow.
323
+ For local development, use the Render CLI:
179
324
 
180
- ```python
181
- task_run = render.workflows.start_task(
182
- "my-workflow/charge", [order_id], idempotency_key=f"charge-{order_id}"
183
- )
325
+ ```bash
326
+ render workflows dev -- <start command>
184
327
  ```
185
328
 
186
- #### Async Usage
187
-
188
- For async contexts (e.g. FastAPI), use `RenderAsync`:
189
-
190
- ```python
191
- import asyncio
192
- from render import RenderAsync
329
+ For example:
193
330
 
194
- async def main():
195
- render = RenderAsync()
331
+ ```bash
332
+ render workflows dev -- python main.py
333
+ ```
196
334
 
197
- result = await render.workflows.run_task("my-workflow/my-task", [3, 4])
198
- print(result.results)
335
+ To interact with tasks registered to the local task server, run CLI commands with the `--local` flag in another terminal. For example:
199
336
 
200
- # start_task() returns an awaitable task run
201
- task_run = await render.workflows.start_task("my-workflow/my-task", [3, 4])
202
- result = await task_run # wait when ready
337
+ ```bash
338
+ render workflows tasks start <task name> --local
339
+ ```
203
340
 
204
- # Stream task run events
205
- async for event in render.workflows.task_run_events([task_run.id]):
206
- print(f"{event.id} status={event.status}")
341
+ ## Environment Variables
207
342
 
208
- asyncio.run(main())
209
- ```
343
+ - `RENDER_API_KEY` - Your Render API key
344
+ - `RENDER_WORKSPACE_ID` - Default owner ID for object storage (workspace team ID, e.g. `tea-xxxxx`)
345
+ - `RENDER_REGION` - Default region for object storage (e.g. `oregon`, `frankfurt`)
346
+ - `RENDER_USE_LOCAL_DEV` - Enable local development mode (`true`/`false`)
347
+ - `RENDER_LOCAL_DEV_URL` - Local development URL (default: `http://localhost:8120`)
348
+ - `RENDER_SDK_MODE` - Task execution mode (`run` or `register`)
349
+ - `RENDER_SDK_SOCKET_PATH` - Unix socket path for task communication
350
+ - `RENDER_LOCAL_REDIS_HOST` - Custom host for local Redis / Valkey instance (default: `localhost`) (requires `RENDER_USE_LOCAL_DEV=true`)
351
+ - `RENDER_LOCAL_REDIS_PORT` - Custom port for local Redis / Valkey instance (default: `6379`) (requires `RENDER_USE_LOCAL_DEV=true`)
210
352
 
211
- ### Object Storage
353
+ ## Object Storage
212
354
 
213
355
  ```python
214
356
  from render import Render
@@ -229,7 +371,7 @@ obj = render.experimental.storage.objects.get(key="path/to/file.png")
229
371
  response = render.experimental.storage.objects.list()
230
372
  ```
231
373
 
232
- ### Key Value
374
+ ## Key Value
233
375
 
234
376
  The Key Value API provides a Redis client backed by Render's managed Key Value service. It supports automatic instance provisioning and configuration sync.
235
377
 
@@ -241,7 +383,7 @@ pip install redis
241
383
 
242
384
  The Key Value provider is async-only and must be used with `RenderAsync`:
243
385
 
244
- #### Basic usage
386
+ ### Basic usage
245
387
 
246
388
  You can look up an instance by name and the SDK will create it if it doesn't exist. Note that the workspace ID needs to be set, either through the `RENDER_WORKSPACE_ID` environment variable or by passing the `owner_id` explicitly when calling the SDK:
247
389
 
@@ -269,7 +411,7 @@ async def main():
269
411
  asyncio.run(main())
270
412
  ```
271
413
 
272
- #### Look up by service ID
414
+ ### Look up by service ID
273
415
 
274
416
  If you already have a Render Key Value service ID, pass it directly to skip the name lookup:
275
417
 
@@ -281,7 +423,7 @@ redis = await render.experimental.key_value.new_client(
281
423
  )
282
424
  ```
283
425
 
284
- #### Auto-provisioning with configuration
426
+ ### Auto-provisioning with configuration
285
427
 
286
428
  Pass an `auto_provision` configuration to control the plan and eviction policy. If the instance doesn't exist it will be created; if it exists but its settings differ they will be updated:
287
429
 
@@ -307,7 +449,7 @@ redis = await render.experimental.key_value.new_client(
307
449
  )
308
450
  ```
309
451
 
310
- #### Connection info only
452
+ ### Connection info only
311
453
 
312
454
  Use `connection_info` when you need the host and port rather than a ready-made client:
313
455
 
@@ -318,7 +460,7 @@ info = await render.experimental.key_value.connection_info(
318
460
  print(f"redis://{info.host}:{info.port}")
319
461
  ```
320
462
 
321
- #### Local development
463
+ ### Local development
322
464
 
323
465
  When `RENDER_USE_LOCAL_DEV=true` is set, the client connects to a local Valkey instance instead of the Render API. The easiest option for getting a local instance running is to use the [official Valkey Docker image](https://hub.docker.com/r/valkey/valkey):
324
466
 
@@ -328,30 +470,6 @@ docker run -p 6379:6379 valkey/valkey
328
470
 
329
471
  When using the SDK in local development mode, the host and port default to `localhost:6379`. They can be overridden with the environment variables `RENDER_LOCAL_REDIS_HOST` and `RENDER_LOCAL_REDIS_PORT`.
330
472
 
331
- ## Environment Variables
332
-
333
- - `RENDER_API_KEY` - Your Render API key (required)
334
- - `RENDER_WORKSPACE_ID` - Default owner ID for object storage (workspace team ID, e.g. `tea-xxxxx`)
335
- - `RENDER_REGION` - Default region for object storage (e.g. `oregon`, `frankfurt`)
336
- - `RENDER_USE_LOCAL_DEV` - Enable local development mode (`true`/`false`)
337
- - `RENDER_LOCAL_DEV_URL` - Local development URL (default: `http://localhost:8120`)
338
- - `RENDER_SDK_MODE` - Task execution mode (`run` or `register`)
339
- - `RENDER_SDK_SOCKET_PATH` - Unix socket path for task communication
340
- - `RENDER_LOCAL_REDIS_HOST` - Custom host for local Redis / Valkey instance (default: `localhost`) (requires `RENDER_USE_LOCAL_DEV=true`)
341
- - `RENDER_LOCAL_REDIS_PORT` - Custom port for local Redis / Valkey instance (default: `6379`) (requires `RENDER_USE_LOCAL_DEV=true`)
342
-
343
- ## Features
344
-
345
- - **REST API Client**: Run, monitor, cancel, and list task runs
346
- - **Task Definition**: Decorator-based task registration with the `Workflows` class
347
- - **Server-Sent Events**: Real-time streaming of task run events
348
- - **Sync & Async**: Synchronous `Render` client (default) and async `RenderAsync` variant
349
- - **Retry Configuration**: Configurable retry behavior with exponential backoff
350
- - **Subtask Execution**: Execute tasks from within other tasks
351
- - **Task Composition**: Combine tasks from multiple modules with `Workflows.from_workflows()`
352
- - **Object Storage**: Experimental object storage API with upload, download, and list
353
- - **Key Value**: Experimental Render Key value client with auto-provisioning and configuration sync
354
-
355
473
  ## Development
356
474
 
357
475
  This project uses [uv](https://docs.astral.sh/uv/) for dependency management and [tox](https://tox.wiki/) for testing across multiple Python versions.