prefect-client 3.7.3.dev4__tar.gz → 3.7.3.dev5__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 (451) hide show
  1. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/PKG-INFO +1 -1
  2. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/AGENTS.md +1 -0
  3. prefect_client-3.7.3.dev5/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/result_records.py +9 -0
  5. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/results.py +4 -0
  6. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/AGENTS.md +5 -1
  7. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_workspace_starter.py +4 -0
  8. prefect_client-3.7.3.dev5/src/prefect/server/api/__init__.py +86 -0
  9. prefect_client-3.7.3.dev5/src/prefect/settings/_types.py +225 -0
  10. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/context.py +9 -3
  11. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/root.py +56 -11
  12. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/runner.py +9 -0
  13. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/api.py +10 -0
  14. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/root.py +5 -0
  15. prefect_client-3.7.3.dev5/src/prefect/settings/models/server/worker_channel.py +54 -0
  16. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/states.py +5 -1
  17. prefect_client-3.7.3.dev4/src/prefect/_build_info.py +0 -5
  18. prefect_client-3.7.3.dev4/src/prefect/server/api/__init__.py +0 -33
  19. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/.gitignore +0 -0
  20. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/LICENSE +0 -0
  21. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/README.md +0 -0
  22. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/hatch_build.py +0 -0
  23. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/pyproject.toml +0 -0
  24. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/.prefectignore +0 -0
  25. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/__init__.py +0 -0
  26. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/__main__.py +0 -0
  27. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/__init__.py +0 -0
  28. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/_launchers.py +0 -0
  29. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/bundles/__init__.py +0 -0
  30. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/bundles/execute.py +0 -0
  31. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/plugins/__init__.py +0 -0
  32. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/plugins/apply.py +0 -0
  33. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  34. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/plugins/manager.py +0 -0
  35. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/plugins/spec.py +0 -0
  36. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/sla/__init__.py +0 -0
  37. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/sla/client.py +0 -0
  38. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_experimental/sla/objects.py +0 -0
  39. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_flow_run_suspension.py +0 -0
  40. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/__init__.py +0 -0
  41. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/_logging.py +0 -0
  42. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/__init__.py +0 -0
  43. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/ci_detection.py +0 -0
  44. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/client.py +0 -0
  45. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/device_id.py +0 -0
  46. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/emit.py +0 -0
  47. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/enabled.py +0 -0
  48. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/events.py +0 -0
  49. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/milestones.py +0 -0
  50. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/notice.py +0 -0
  51. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/analytics/service.py +0 -0
  52. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/ast_utils.py +0 -0
  53. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/buildx.py +0 -0
  54. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/__init__.py +0 -0
  55. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  56. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/backports.py +0 -0
  57. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/blocks.py +0 -0
  58. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  59. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
  60. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/migration.py +0 -0
  61. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/compatibility/starlette.py +0 -0
  62. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/__init__.py +0 -0
  63. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/api.py +0 -0
  64. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/calls.py +0 -0
  65. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  66. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  67. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/inspection.py +0 -0
  68. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/primitives.py +0 -0
  69. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/services.py +0 -0
  70. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/threads.py +0 -0
  71. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/concurrency/waiters.py +0 -0
  72. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/control_listener.py +0 -0
  73. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/deprecated.py +0 -0
  74. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/engine.py +0 -0
  75. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/git.py +0 -0
  76. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
  77. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/installation.py +0 -0
  78. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/integrations.py +0 -0
  79. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/launchers.py +0 -0
  80. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/lazy.py +0 -0
  81. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/metrics.py +0 -0
  82. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/observability.py +0 -0
  83. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/observers.py +0 -0
  84. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/__init__.py +0 -0
  85. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/apply.py +0 -0
  86. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/collections.py +0 -0
  87. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/diagnostics.py +0 -0
  88. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/manager.py +0 -0
  89. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/spec.py +0 -0
  90. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/plugins/startup.py +0 -0
  91. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/pydantic/__init__.py +0 -0
  92. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/pydantic/schemas.py +0 -0
  93. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  94. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  95. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  96. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/pytz.py +0 -0
  97. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/retries.py +0 -0
  98. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/schema.py +0 -0
  99. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/schemas/__init__.py +0 -0
  100. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/schemas/bases.py +0 -0
  101. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/schemas/fields.py +0 -0
  102. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/schemas/serializers.py +0 -0
  103. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/schemas/validators.py +0 -0
  104. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
  105. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/states.py +0 -0
  106. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/testing.py +0 -0
  107. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/urls.py +0 -0
  108. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/uuid7.py +0 -0
  109. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/version_checking.py +0 -0
  110. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/versioning.py +0 -0
  111. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/waiters.py +0 -0
  112. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_internal/websockets.py +0 -0
  113. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/__init__.py +0 -0
  114. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/fetcher.py +0 -0
  115. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/generator.py +0 -0
  116. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/models.py +0 -0
  117. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/naming.py +0 -0
  118. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/renderer.py +0 -0
  119. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/schema_converter.py +0 -0
  120. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/templates/__init__.py +0 -0
  121. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
  122. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/types.py +0 -0
  123. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_sdk/unions.py +0 -0
  124. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_vendor/croniter/__init__.py +0 -0
  125. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/_vendor/croniter/croniter.py +0 -0
  126. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/agent.py +0 -0
  127. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/analytics/__init__.py +0 -0
  128. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/artifacts.py +0 -0
  129. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/assets/__init__.py +0 -0
  130. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/assets/core.py +0 -0
  131. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/assets/materialize.py +0 -0
  132. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/automations.py +0 -0
  133. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/AGENTS.md +0 -0
  134. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/__init__.py +0 -0
  135. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/abstract.py +0 -0
  136. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/core.py +0 -0
  137. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/fields.py +0 -0
  138. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/notifications.py +0 -0
  139. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/redis.py +0 -0
  140. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/system.py +0 -0
  141. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/blocks/webhook.py +0 -0
  142. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/__init__.py +0 -0
  143. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/_file_collector.py +0 -0
  144. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/_ignore_filter.py +0 -0
  145. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/_path_resolver.py +0 -0
  146. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/_zip_builder.py +0 -0
  147. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/_zip_extractor.py +0 -0
  148. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/bundles/execute.py +0 -0
  149. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/cache_policies.py +0 -0
  150. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/AGENTS.md +0 -0
  151. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/__init__.py +0 -0
  152. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/attribution.py +0 -0
  153. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/base.py +0 -0
  154. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/cloud.py +0 -0
  155. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/collections.py +0 -0
  156. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/constants.py +0 -0
  157. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/__init__.py +0 -0
  158. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  159. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  160. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  161. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_automations/client.py +0 -0
  162. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  163. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  164. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  165. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  166. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  167. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  168. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  169. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  170. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  171. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  172. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  173. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_events/client.py +0 -0
  174. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  175. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  176. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  177. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_flows/client.py +0 -0
  178. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  179. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_logs/client.py +0 -0
  180. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  181. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_variables/client.py +0 -0
  182. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  183. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  184. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/base.py +0 -0
  185. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/orchestration/routes.py +0 -0
  186. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/__init__.py +0 -0
  187. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/actions.py +0 -0
  188. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/events.py +0 -0
  189. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/filters.py +0 -0
  190. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/objects.py +0 -0
  191. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/responses.py +0 -0
  192. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/schedules.py +0 -0
  193. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/sorting.py +0 -0
  194. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/schemas/worker_channel.py +0 -0
  195. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/subscriptions.py +0 -0
  196. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/types/__init__.py +0 -0
  197. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  198. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/client/utilities.py +0 -0
  199. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/AGENTS.md +0 -0
  200. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/__init__.py +0 -0
  201. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/_asyncio.py +0 -0
  202. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/_events.py +0 -0
  203. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/_leases.py +0 -0
  204. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/_sync.py +0 -0
  205. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/asyncio.py +0 -0
  206. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/context.py +0 -0
  207. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/services.py +0 -0
  208. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/sync.py +0 -0
  209. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/__init__.py +0 -0
  210. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  211. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/_events.py +0 -0
  212. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/asyncio.py +0 -0
  213. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/context.py +0 -0
  214. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/services.py +0 -0
  215. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/concurrency/v1/sync.py +0 -0
  216. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/context.py +0 -0
  217. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/AGENTS.md +0 -0
  218. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/__init__.py +0 -0
  219. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/base.py +0 -0
  220. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/deployments.py +0 -0
  221. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/flow_runs.py +0 -0
  222. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/runner.py +0 -0
  223. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/schedules.py +0 -0
  224. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/steps/__init__.py +0 -0
  225. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/steps/core.py +0 -0
  226. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/steps/pull.py +0 -0
  227. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/deployments/steps/utility.py +0 -0
  228. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/docker/__init__.py +0 -0
  229. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/docker/_buildx.py +0 -0
  230. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/docker/docker_image.py +0 -0
  231. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/engine.py +0 -0
  232. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/AGENTS.md +0 -0
  233. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/__init__.py +0 -0
  234. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/actions.py +0 -0
  235. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/clients.py +0 -0
  236. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/filters.py +0 -0
  237. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/related.py +0 -0
  238. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/schemas/__init__.py +0 -0
  239. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/schemas/automations.py +0 -0
  240. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  241. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/schemas/events.py +0 -0
  242. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/schemas/labelling.py +0 -0
  243. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/subscribers.py +0 -0
  244. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/utilities.py +0 -0
  245. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/events/worker.py +0 -0
  246. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/exceptions.py +0 -0
  247. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/filesystems.py +0 -0
  248. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/flow_engine.py +0 -0
  249. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/flow_runs.py +0 -0
  250. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/flows.py +0 -0
  251. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/futures.py +0 -0
  252. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/__init__.py +0 -0
  253. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/base.py +0 -0
  254. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  255. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  256. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  257. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  258. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  259. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  260. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/input/__init__.py +0 -0
  261. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/input/actions.py +0 -0
  262. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/input/run_input.py +0 -0
  263. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/locking/__init__.py +0 -0
  264. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/locking/_filelock.py +0 -0
  265. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/locking/filesystem.py +0 -0
  266. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/locking/memory.py +0 -0
  267. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/locking/protocol.py +0 -0
  268. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/AGENTS.md +0 -0
  269. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/__init__.py +0 -0
  270. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/clients.py +0 -0
  271. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/configuration.py +0 -0
  272. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/filters.py +0 -0
  273. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/formatters.py +0 -0
  274. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/handlers.py +0 -0
  275. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/highlighters.py +0 -0
  276. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/loggers.py +0 -0
  277. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/logging/logging.yml +0 -0
  278. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/main.py +0 -0
  279. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/plugins.py +0 -0
  280. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/py.typed +0 -0
  281. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/__init__.py +0 -0
  282. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_cancel_finalizer.py +0 -0
  283. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_cancellation_manager.py +0 -0
  284. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_control_channel.py +0 -0
  285. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_deployment_registry.py +0 -0
  286. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_event_emitter.py +0 -0
  287. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_flow_resolver.py +0 -0
  288. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_flow_run_executor.py +0 -0
  289. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_hook_runner.py +0 -0
  290. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_limit_manager.py +0 -0
  291. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_process_manager.py +0 -0
  292. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_scheduled_run_poller.py +0 -0
  293. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_starter_bundle.py +0 -0
  294. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_starter_direct.py +0 -0
  295. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_starter_engine.py +0 -0
  296. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_state_proposer.py +0 -0
  297. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/_workspace_resolver.py +0 -0
  298. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/runner.py +0 -0
  299. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/server.py +0 -0
  300. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runner/storage.py +0 -0
  301. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runtime/__init__.py +0 -0
  302. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runtime/deployment.py +0 -0
  303. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runtime/flow_run.py +0 -0
  304. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/runtime/task_run.py +0 -0
  305. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/schedules.py +0 -0
  306. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/serializers.py +0 -0
  307. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/_ui_static.py +0 -0
  308. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/admin.py +0 -0
  309. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/artifacts.py +0 -0
  310. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/automations.py +0 -0
  311. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/background_workers.py +0 -0
  312. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/block_capabilities.py +0 -0
  313. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/block_documents.py +0 -0
  314. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/block_schemas.py +0 -0
  315. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/block_types.py +0 -0
  316. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/clients.py +0 -0
  317. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/collections.py +0 -0
  318. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  319. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/concurrency_limits.py +0 -0
  320. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  321. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/csrf_token.py +0 -0
  322. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/dependencies.py +0 -0
  323. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/deployments.py +0 -0
  324. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/events.py +0 -0
  325. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/flow_run_states.py +0 -0
  326. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/flow_runs.py +0 -0
  327. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/flows.py +0 -0
  328. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/logs.py +0 -0
  329. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/middleware.py +0 -0
  330. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/root.py +0 -0
  331. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/run_history.py +0 -0
  332. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/saved_searches.py +0 -0
  333. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/server.py +0 -0
  334. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  335. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/task_run_states.py +0 -0
  336. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/task_runs.py +0 -0
  337. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/task_workers.py +0 -0
  338. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/templates.py +0 -0
  339. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/ui/__init__.py +0 -0
  340. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/ui/flow_runs.py +0 -0
  341. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/ui/flows.py +0 -0
  342. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/ui/schemas.py +0 -0
  343. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/ui/task_runs.py +0 -0
  344. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/validation.py +0 -0
  345. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/variables.py +0 -0
  346. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/work_queues.py +0 -0
  347. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/server/api/workers.py +0 -0
  348. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/AGENTS.md +0 -0
  349. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/__init__.py +0 -0
  350. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/base.py +0 -0
  351. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/constants.py +0 -0
  352. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/legacy.py +0 -0
  353. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/__init__.py +0 -0
  354. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/_defaults.py +0 -0
  355. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/api.py +0 -0
  356. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/cli.py +0 -0
  357. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/client.py +0 -0
  358. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/cloud.py +0 -0
  359. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/deployments.py +0 -0
  360. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/events.py +0 -0
  361. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/experiments.py +0 -0
  362. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/flows.py +0 -0
  363. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/internal.py +0 -0
  364. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/logging.py +0 -0
  365. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/plugins.py +0 -0
  366. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/results.py +0 -0
  367. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/__init__.py +0 -0
  368. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/concurrency.py +0 -0
  369. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/database.py +0 -0
  370. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/deployments.py +0 -0
  371. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/docket.py +0 -0
  372. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/ephemeral.py +0 -0
  373. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/events.py +0 -0
  374. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  375. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/logs.py +0 -0
  376. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/services.py +0 -0
  377. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/tasks.py +0 -0
  378. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/server/ui.py +0 -0
  379. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/tasks.py +0 -0
  380. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/telemetry.py +0 -0
  381. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/testing.py +0 -0
  382. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/models/worker.py +0 -0
  383. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/profiles.py +0 -0
  384. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/profiles.toml +0 -0
  385. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/settings/sources.py +0 -0
  386. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/task_engine.py +0 -0
  387. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/task_runners.py +0 -0
  388. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/task_runs.py +0 -0
  389. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/task_worker.py +0 -0
  390. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/tasks.py +0 -0
  391. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/telemetry/__init__.py +0 -0
  392. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/telemetry/run_telemetry.py +0 -0
  393. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/transactions.py +0 -0
  394. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/types/__init__.py +0 -0
  395. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/types/_concurrency.py +0 -0
  396. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/types/_datetime.py +0 -0
  397. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/types/entrypoint.py +0 -0
  398. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/types/names.py +0 -0
  399. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/AGENTS.md +0 -0
  400. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/__init__.py +0 -0
  401. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/annotations.py +0 -0
  402. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
  403. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/asyncutils/__init__.py +0 -0
  404. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/callables/AGENTS.md +0 -0
  405. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/callables/__init__.py +0 -0
  406. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/collections.py +0 -0
  407. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/compat.py +0 -0
  408. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/context.py +0 -0
  409. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/dispatch.py +0 -0
  410. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/dockerutils.py +0 -0
  411. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/engine/AGENTS.md +0 -0
  412. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/engine/__init__.py +0 -0
  413. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
  414. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/filesystem/__init__.py +0 -0
  415. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/generics.py +0 -0
  416. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/hashing.py +0 -0
  417. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/importtools.py +0 -0
  418. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/math.py +0 -0
  419. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/names.py +0 -0
  420. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/processutils/AGENTS.md +0 -0
  421. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/processutils/__init__.py +0 -0
  422. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/pydantic.py +0 -0
  423. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/render_swagger.py +0 -0
  424. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
  425. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  426. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  427. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/schema_tools/validation.py +0 -0
  428. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/services.py +0 -0
  429. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/slugify.py +0 -0
  430. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/templating/AGENTS.md +0 -0
  431. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/templating/__init__.py +0 -0
  432. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/text.py +0 -0
  433. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/timeout.py +0 -0
  434. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/urls.py +0 -0
  435. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/utilities/visualization.py +0 -0
  436. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/variables.py +0 -0
  437. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/AGENTS.md +0 -0
  438. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/__init__.py +0 -0
  439. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_cleanup.py +0 -0
  440. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_cleanup_handlers.py +0 -0
  441. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_worker_channel/__init__.py +0 -0
  442. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
  443. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_worker_channel/_state.py +0 -0
  444. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_worker_channel/_sync.py +0 -0
  445. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/_worker_channel/_transport.py +0 -0
  446. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/base.py +0 -0
  447. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/block.py +0 -0
  448. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/cloud.py +0 -0
  449. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/process.py +0 -0
  450. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/server.py +0 -0
  451. {prefect_client-3.7.3.dev4 → prefect_client-3.7.3.dev5}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.7.3.dev4
3
+ Version: 3.7.3.dev5
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -32,6 +32,7 @@ There is no formal public/private boundary beyond the `_` prefix convention. Mod
32
32
  - **Nested task submissions on a bounded `ThreadPoolTaskRunner` can deadlock.** When a worker task submits children and blocks on `.result()` while all `max_workers` threads are busy, the pool starves. `_warn_if_nested_submit_would_deadlock` detects this and emits a one-time warning — preserve this detection when changing pool management.
33
33
  - **Result storage resolves through three tiers, potentially making an API call.** `get_default_result_storage()` checks: (1) `PREFECT_DEFAULT_RESULT_STORAGE_BLOCK` setting, (2) server-configured default block (API call to the server's Configuration store), (3) local storage path. The API call is silently suppressed on any HTTP error. Engines use `_get_default_persist_result()` — not `should_persist_result()` — at context setup time to auto-enable persistence when a server default block is configured. Do not swap `_get_default_persist_result()` back to `should_persist_result()` in engine initialization paths; `should_persist_result()` does not consult the server default.
34
34
  - **`ResultRecordMetadata` tolerates unknown serializer types.** When loading persisted metadata, an unrecognized serializer `type` is converted to an `UnknownSerializer` placeholder rather than raising `ValidationError`. This allows inspecting result metadata when the serializer implementation is unavailable in the current environment. However, known serializer types with invalid fields still raise `ValidationError`. `UnknownSerializer.dumps()` and `UnknownSerializer.loads()` raise `RuntimeError` — the tolerance is for inspection only, not actual serialization/deserialization.
35
+ - **`ResultRecord` must be marked persisted after every storage write.** `ResultStore` calls `mark_persisted()` on every record it writes; `to_state_create` in `states.py` consults `is_persisted` as a fallback when `should_persist_result()` returns `False` (e.g., after run context teardown). Any new sync or async persist path that omits `mark_persisted()` will silently drop state metadata for already-written results.
35
36
  - **Flow-run suspension is enforced at orchestration boundaries.** Suspension is delivered via `FlowRunSuspensionRequest` and raised with `raise_if_flow_run_suspension_requested()`. When changing engines, futures, task runners, or generator execution, check before returning control to flow user code or proposing a flow state that could leave `Suspended`; keep sync/async paths aligned and avoid per-boundary API reads.
36
37
 
37
38
  ## Logging
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.7.3.dev5"
3
+ __build_date__ = "2026-05-28 09:23:34.780141+00:00"
4
+ __git_commit__ = "f7d76f21e9731cedf0462e3f9632133e1c23a439"
5
+ __dirty__ = False
@@ -16,6 +16,7 @@ from uuid import UUID
16
16
  from pydantic import (
17
17
  BaseModel,
18
18
  Field,
19
+ PrivateAttr,
19
20
  ValidationError,
20
21
  field_validator,
21
22
  model_validator,
@@ -105,6 +106,14 @@ class ResultRecord(BaseModel, Generic[R]):
105
106
 
106
107
  metadata: ResultRecordMetadata
107
108
  result: R
109
+ _persisted: bool = PrivateAttr(default=False)
110
+
111
+ @property
112
+ def is_persisted(self) -> bool:
113
+ return self._persisted
114
+
115
+ def mark_persisted(self) -> None:
116
+ self._persisted = True
108
117
 
109
118
  @property
110
119
  def expiration(self) -> DateTime | None:
@@ -867,6 +867,7 @@ class ResultStore(BaseModel):
867
867
 
868
868
  if self.cache_result_in_memory:
869
869
  self.cache[resolved_key_path] = result_record
870
+ result_record.mark_persisted()
870
871
  return result_record
871
872
 
872
873
  def _read(self, key: str, holder: str) -> "ResultRecord[Any]":
@@ -936,6 +937,7 @@ class ResultStore(BaseModel):
936
937
 
937
938
  if self.cache_result_in_memory:
938
939
  self.cache[resolved_key_path] = result_record
940
+ result_record.mark_persisted()
939
941
  return result_record
940
942
 
941
943
  def read(
@@ -1122,6 +1124,7 @@ class ResultStore(BaseModel):
1122
1124
  (result_record.metadata.storage_key,),
1123
1125
  {"content": result_record.serialize()},
1124
1126
  )
1127
+ result_record.mark_persisted()
1125
1128
  if self.cache_result_in_memory:
1126
1129
  self.cache[key] = result_record
1127
1130
 
@@ -1185,6 +1188,7 @@ class ResultStore(BaseModel):
1185
1188
  (result_record.metadata.storage_key,),
1186
1189
  {"content": result_record.serialize()},
1187
1190
  )
1191
+ result_record.mark_persisted()
1188
1192
  if self.cache_result_in_memory:
1189
1193
  self.cache[key] = result_record
1190
1194
 
@@ -138,7 +138,11 @@ These validations exist to prevent git argument injection. Do not bypass them wh
138
138
 
139
139
  **Env/sys.path isolation:** `_prepared_workspace_context` mutates `os.environ` and `sys.path` in the caller process but does NOT change `os.getcwd()`. The parent working directory is preserved.
140
140
 
141
- **Automatic `uv` command selection:** When no explicit command is passed, `WorkspaceResolvingEngineCommandStarter` auto-selects `uv run --project <project_root> -m prefect.flow_engine` but only when all three conditions hold: `pyproject.toml` exists at `project_root`, the `project.dependencies` list includes `prefect`, and `uv` is found via the workspace's `PATH` env var (not the system PATH). If any condition fails, the command falls back to `None`. Explicit commands always take precedence.
141
+ **Local path in-place execution:** When no pull steps are configured and the entrypoint file exists at `deployment.path` but not in the workspace root, `prepare_workspace` sets `working_directory` to the local path not under `workspace_root`. The workspace directory is still created but is not the execution root. This is the "image-baked" pattern: code lives at a fixed local path (e.g., inside a container), not in object storage.
142
+
143
+ **Pull-step directory fallback:** When pull steps run but none produces a `directory` output or changes CWD, `_ensure_entrypoint_in_workspace` copies storage into the workspace root as a fallback. This handles setup-only pull steps (e.g., `run_shell_script` for environment prep) that do not control the working directory themselves.
144
+
145
+ **Automatic dependency installation:** By default, `WorkspaceResolvingEngineCommandStarter` does not install dependencies before starting a flow run. When no explicit command is passed and `PREFECT_RUNNER_AUTO_INSTALL_DEPENDENCIES` is true, it auto-selects `uv run --no-default-groups --project <project_root> -m prefect.flow_engine` — but only when all three conditions hold: `pyproject.toml` exists at `project_root`, the `project.dependencies` list includes `prefect`, and `uv` is found via the workspace's `PATH` env var (not the system PATH). If the setting is false or any condition fails, the command falls back to `None`. Explicit commands always take precedence.
142
146
 
143
147
  ## Reference
144
148
 
@@ -167,6 +167,9 @@ def _pyproject_declares_prefect_dependency(pyproject: Path) -> bool:
167
167
 
168
168
 
169
169
  def _uv_run_command(workspace: PreparedWorkspace) -> str | None:
170
+ if not get_current_settings().runner.auto_install_dependencies:
171
+ return None
172
+
170
173
  project_root = workspace.project_root
171
174
  if project_root is None:
172
175
  return None
@@ -188,6 +191,7 @@ def _uv_run_command(workspace: PreparedWorkspace) -> str | None:
188
191
  [
189
192
  uv_executable,
190
193
  "run",
194
+ "--no-default-groups",
191
195
  "--project",
192
196
  str(project_root),
193
197
  "-m",
@@ -0,0 +1,86 @@
1
+ from __future__ import annotations
2
+
3
+ import importlib
4
+ from typing import TYPE_CHECKING
5
+
6
+ if TYPE_CHECKING:
7
+ from prefect.server.api import (
8
+ admin,
9
+ artifacts,
10
+ automations,
11
+ block_capabilities,
12
+ block_documents,
13
+ block_schemas,
14
+ block_types,
15
+ collections,
16
+ concurrency_limits,
17
+ concurrency_limits_v2,
18
+ csrf_token,
19
+ dependencies,
20
+ deployments,
21
+ events,
22
+ flow_run_states,
23
+ flow_runs,
24
+ flows,
25
+ logs,
26
+ middleware,
27
+ root,
28
+ run_history,
29
+ saved_searches,
30
+ server,
31
+ task_run_states,
32
+ task_runs,
33
+ task_workers,
34
+ templates,
35
+ ui,
36
+ variables,
37
+ work_queues,
38
+ workers,
39
+ )
40
+
41
+ __all__ = [
42
+ "admin",
43
+ "artifacts",
44
+ "automations",
45
+ "block_capabilities",
46
+ "block_documents",
47
+ "block_schemas",
48
+ "block_types",
49
+ "collections",
50
+ "concurrency_limits",
51
+ "concurrency_limits_v2",
52
+ "csrf_token",
53
+ "dependencies",
54
+ "deployments",
55
+ "events",
56
+ "flow_run_states",
57
+ "flow_runs",
58
+ "flows",
59
+ "logs",
60
+ "middleware",
61
+ "root",
62
+ "run_history",
63
+ "saved_searches",
64
+ "server",
65
+ "task_run_states",
66
+ "task_runs",
67
+ "task_workers",
68
+ "templates",
69
+ "ui",
70
+ "variables",
71
+ "work_queues",
72
+ "workers",
73
+ ]
74
+
75
+
76
+ def __getattr__(name: str) -> object:
77
+ module_name = f"{__name__}.{name}"
78
+ try:
79
+ module = importlib.import_module(module_name)
80
+ except ModuleNotFoundError as exc:
81
+ if exc.name != module_name:
82
+ raise
83
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}") from None
84
+
85
+ globals()[name] = module
86
+ return module
@@ -0,0 +1,225 @@
1
+ # This file is generated by `scripts/generate_settings_types.py`.
2
+ # Update the generation script to update this file.
3
+ from typing import Literal, TypeAlias
4
+
5
+ SettingAccessor: TypeAlias = Literal[
6
+ "api.auth_string",
7
+ "api.enable_http2",
8
+ "api.key",
9
+ "api.request_timeout",
10
+ "api.ssl_cert_file",
11
+ "api.tls_insecure_skip_verify",
12
+ "api.url",
13
+ "cli.colors",
14
+ "cli.prompt",
15
+ "cli.wrap_lines",
16
+ "client.csrf_support_enabled",
17
+ "client.custom_headers",
18
+ "client.max_retries",
19
+ "client.metrics.enabled",
20
+ "client.metrics.port",
21
+ "client.retry_extra_codes",
22
+ "client.retry_jitter_factor",
23
+ "client.server_version_check_enabled",
24
+ "cloud.api_url",
25
+ "cloud.enable_orchestration_telemetry",
26
+ "cloud.max_log_size",
27
+ "cloud.ui_url",
28
+ "debug_mode",
29
+ "deployments.default_docker_build_namespace",
30
+ "deployments.default_work_pool_name",
31
+ "events.worker_max_queue_size",
32
+ "experiments.warn",
33
+ "flows.default_retries",
34
+ "flows.default_retry_delay_seconds",
35
+ "flows.heartbeat_frequency",
36
+ "home",
37
+ "internal.logging_level",
38
+ "logging.colors",
39
+ "logging.config_path",
40
+ "logging.extra_loggers",
41
+ "logging.level",
42
+ "logging.log_prints",
43
+ "logging.markup",
44
+ "logging.to_api.batch_interval",
45
+ "logging.to_api.batch_size",
46
+ "logging.to_api.enabled",
47
+ "logging.to_api.max_log_size",
48
+ "logging.to_api.when_missing_flow",
49
+ "plugins.allow",
50
+ "plugins.deny",
51
+ "plugins.enabled",
52
+ "plugins.safe_mode",
53
+ "plugins.setup_timeout_seconds",
54
+ "plugins.strict",
55
+ "profiles_path",
56
+ "results.default_serializer",
57
+ "results.default_storage_block",
58
+ "results.local_storage_path",
59
+ "results.persist_by_default",
60
+ "runner.crash_on_cancellation_failure",
61
+ "runner.poll_frequency",
62
+ "runner.process_limit",
63
+ "runner.server.enable",
64
+ "runner.server.host",
65
+ "runner.server.log_level",
66
+ "runner.server.missed_polls_tolerance",
67
+ "runner.server.port",
68
+ "server.analytics_enabled",
69
+ "server.api.auth_string",
70
+ "server.api.base_path",
71
+ "server.api.cors_allowed_headers",
72
+ "server.api.cors_allowed_methods",
73
+ "server.api.cors_allowed_origins",
74
+ "server.api.csrf_protection_enabled",
75
+ "server.api.csrf_token_expiration",
76
+ "server.api.default_limit",
77
+ "server.api.host",
78
+ "server.api.keepalive_timeout",
79
+ "server.api.max_parameter_size",
80
+ "server.api.port",
81
+ "server.api.websocket_ping_interval",
82
+ "server.api.websocket_ping_timeout",
83
+ "server.concurrency.initial_deployment_lease_duration",
84
+ "server.concurrency.lease_storage",
85
+ "server.concurrency.maximum_concurrency_slot_wait_seconds",
86
+ "server.database.connection_timeout",
87
+ "server.database.connection_url",
88
+ "server.database.driver",
89
+ "server.database.echo",
90
+ "server.database.host",
91
+ "server.database.migrate_on_start",
92
+ "server.database.name",
93
+ "server.database.password",
94
+ "server.database.port",
95
+ "server.database.sqlalchemy.connect_args.application_name",
96
+ "server.database.sqlalchemy.connect_args.prepared_statement_cache_size",
97
+ "server.database.sqlalchemy.connect_args.search_path",
98
+ "server.database.sqlalchemy.connect_args.statement_cache_size",
99
+ "server.database.sqlalchemy.connect_args.tls.ca_file",
100
+ "server.database.sqlalchemy.connect_args.tls.cert_file",
101
+ "server.database.sqlalchemy.connect_args.tls.check_hostname",
102
+ "server.database.sqlalchemy.connect_args.tls.enabled",
103
+ "server.database.sqlalchemy.connect_args.tls.key_file",
104
+ "server.database.sqlalchemy.max_overflow",
105
+ "server.database.sqlalchemy.pool_recycle",
106
+ "server.database.sqlalchemy.pool_size",
107
+ "server.database.sqlalchemy.pool_timeout",
108
+ "server.database.timeout",
109
+ "server.database.user",
110
+ "server.deployment_schedule_max_scheduled_runs",
111
+ "server.deployments.concurrency_slot_wait_seconds",
112
+ "server.docket.name",
113
+ "server.docket.url",
114
+ "server.ephemeral.enabled",
115
+ "server.ephemeral.startup_timeout_seconds",
116
+ "server.events.causal_ordering",
117
+ "server.events.expired_bucket_buffer",
118
+ "server.events.maximum_event_name_length",
119
+ "server.events.maximum_labels_per_resource",
120
+ "server.events.maximum_related_resources",
121
+ "server.events.maximum_size_bytes",
122
+ "server.events.maximum_websocket_backfill",
123
+ "server.events.messaging_broker",
124
+ "server.events.messaging_cache",
125
+ "server.events.proactive_granularity",
126
+ "server.events.related_resource_cache_ttl",
127
+ "server.events.retention_period",
128
+ "server.events.stream_out_enabled",
129
+ "server.events.websocket_backfill_page_size",
130
+ "server.flow_run_graph.max_artifacts",
131
+ "server.flow_run_graph.max_nodes",
132
+ "server.log_retryable_errors",
133
+ "server.logging_level",
134
+ "server.logs.stream_out_enabled",
135
+ "server.logs.stream_publishing_enabled",
136
+ "server.memo_store_path",
137
+ "server.memoize_block_auto_registration",
138
+ "server.metrics_enabled",
139
+ "server.register_blocks_on_start",
140
+ "server.services.cancellation_cleanup.enabled",
141
+ "server.services.cancellation_cleanup.loop_seconds",
142
+ "server.services.db_vacuum.batch_size",
143
+ "server.services.db_vacuum.enabled",
144
+ "server.services.db_vacuum.event_retention_overrides",
145
+ "server.services.db_vacuum.loop_seconds",
146
+ "server.services.db_vacuum.retention_period",
147
+ "server.services.event_logger.enabled",
148
+ "server.services.event_persister.batch_size",
149
+ "server.services.event_persister.enabled",
150
+ "server.services.event_persister.flush_interval",
151
+ "server.services.event_persister.max_flush_retries",
152
+ "server.services.event_persister.queue_max_size",
153
+ "server.services.event_persister.read_batch_size",
154
+ "server.services.foreman.deployment_last_polled_timeout_seconds",
155
+ "server.services.foreman.enabled",
156
+ "server.services.foreman.fallback_heartbeat_interval_seconds",
157
+ "server.services.foreman.inactivity_heartbeat_multiple",
158
+ "server.services.foreman.loop_seconds",
159
+ "server.services.foreman.work_queue_last_polled_timeout_seconds",
160
+ "server.services.late_runs.after_seconds",
161
+ "server.services.late_runs.enabled",
162
+ "server.services.late_runs.loop_seconds",
163
+ "server.services.pause_expirations.enabled",
164
+ "server.services.pause_expirations.loop_seconds",
165
+ "server.services.repossessor.enabled",
166
+ "server.services.repossessor.loop_seconds",
167
+ "server.services.scheduler.deployment_batch_size",
168
+ "server.services.scheduler.enabled",
169
+ "server.services.scheduler.insert_batch_size",
170
+ "server.services.scheduler.loop_seconds",
171
+ "server.services.scheduler.max_runs",
172
+ "server.services.scheduler.max_scheduled_time",
173
+ "server.services.scheduler.min_runs",
174
+ "server.services.scheduler.min_scheduled_time",
175
+ "server.services.scheduler.recent_deployments_loop_seconds",
176
+ "server.services.task_run_recorder.batch_size",
177
+ "server.services.task_run_recorder.enabled",
178
+ "server.services.task_run_recorder.flush_interval",
179
+ "server.services.task_run_recorder.read_batch_size",
180
+ "server.services.triggers.enabled",
181
+ "server.services.triggers.pg_notify_heartbeat_interval_seconds",
182
+ "server.services.triggers.pg_notify_reconnect_interval_seconds",
183
+ "server.services.triggers.read_batch_size",
184
+ "server.tasks.max_cache_key_length",
185
+ "server.tasks.scheduling.max_retry_queue_size",
186
+ "server.tasks.scheduling.max_scheduled_queue_size",
187
+ "server.tasks.scheduling.pending_task_timeout",
188
+ "server.tasks.tag_concurrency_slot_wait_seconds",
189
+ "server.ui.api_url",
190
+ "server.ui.enabled",
191
+ "server.ui.serve_base",
192
+ "server.ui.show_promotional_content",
193
+ "server.ui.static_directory",
194
+ "server.ui.v2_enabled",
195
+ "server.worker_channel.cleanup_completed_idempotency_retention_seconds",
196
+ "server.worker_channel.cleanup_lease_seconds",
197
+ "server.worker_channel.cleanup_max_delivery_attempts",
198
+ "server.worker_channel.cleanup_queue_storage",
199
+ "silence_api_url_misconfiguration",
200
+ "tasks.default_no_cache",
201
+ "tasks.default_persist_result",
202
+ "tasks.default_retries",
203
+ "tasks.default_retry_delay_seconds",
204
+ "tasks.disable_caching",
205
+ "tasks.refresh_cache",
206
+ "tasks.runner.process_pool_max_workers",
207
+ "tasks.runner.thread_pool_max_workers",
208
+ "tasks.scheduling.default_storage_block",
209
+ "tasks.scheduling.delete_failed_submissions",
210
+ "telemetry.enable_resource_metrics",
211
+ "telemetry.resource_metrics_interval_seconds",
212
+ "testing.test_mode",
213
+ "testing.test_setting",
214
+ "testing.unit_test_loop_debug",
215
+ "testing.unit_test_mode",
216
+ "ui_url",
217
+ "worker.cancellation_poll_seconds",
218
+ "worker.debug_mode",
219
+ "worker.enable_cancellation",
220
+ "worker.heartbeat_seconds",
221
+ "worker.prefetch_seconds",
222
+ "worker.query_seconds",
223
+ "worker.webserver.host",
224
+ "worker.webserver.port",
225
+ ]
@@ -4,8 +4,11 @@ from typing import TYPE_CHECKING, Any, Generator, Iterable, Mapping, Optional
4
4
  from prefect.settings.models.root import Settings
5
5
 
6
6
  if TYPE_CHECKING:
7
+ from prefect.settings._types import SettingAccessor
7
8
  from prefect.settings.legacy import Setting
8
9
 
10
+ SettingKey = Setting | SettingAccessor
11
+
9
12
 
10
13
  def get_current_settings() -> Settings:
11
14
  """
@@ -23,9 +26,9 @@ def get_current_settings() -> Settings:
23
26
 
24
27
  @contextmanager
25
28
  def temporary_settings(
26
- updates: Optional[Mapping["Setting", Any]] = None,
27
- set_defaults: Optional[Mapping["Setting", Any]] = None,
28
- restore_defaults: Optional[Iterable["Setting"]] = None,
29
+ updates: Optional[Mapping["SettingKey", Any]] = None,
30
+ set_defaults: Optional[Mapping["SettingKey", Any]] = None,
31
+ restore_defaults: Optional[Iterable["SettingKey"]] = None,
29
32
  ) -> Generator[Settings, None, None]:
30
33
  """
31
34
  Temporarily override the current settings by entering a new profile.
@@ -40,6 +43,9 @@ def temporary_settings(
40
43
  with temporary_settings(updates={PREFECT_API_URL: "foo"}):
41
44
  assert PREFECT_API_URL.value() == "foo"
42
45
 
46
+ with temporary_settings(updates={"api.url": "bar"}):
47
+ assert get_current_settings().api.url == "bar"
48
+
43
49
  with temporary_settings(set_defaults={PREFECT_API_URL: "bar"}):
44
50
  assert PREFECT_API_URL.value() == "foo"
45
51
 
@@ -1,4 +1,6 @@
1
+ import inspect
1
2
  import warnings
3
+ from functools import cache
2
4
  from pathlib import Path
3
5
  from typing import (
4
6
  TYPE_CHECKING,
@@ -11,7 +13,7 @@ from typing import (
11
13
  )
12
14
  from urllib.parse import urlparse
13
15
 
14
- from pydantic import BeforeValidator, Field, SecretStr, model_validator
16
+ from pydantic import AliasChoices, BeforeValidator, Field, SecretStr, model_validator
15
17
  from pydantic_settings import SettingsConfigDict
16
18
  from typing_extensions import Self
17
19
 
@@ -44,9 +46,51 @@ from .server import ServerSettings
44
46
  from .telemetry import TelemetrySettings
45
47
 
46
48
  if TYPE_CHECKING:
49
+ from prefect.settings._types import SettingAccessor
47
50
  from prefect.settings.legacy import Setting
48
51
 
49
52
 
53
+ @cache
54
+ def _get_settings_accessors(
55
+ settings: type[PrefectBaseSettings], accessor_prefix: Optional[str] = None
56
+ ) -> dict[str, str]:
57
+ settings_accessors: dict[str, str] = {}
58
+ for field_name, field in settings.model_fields.items():
59
+ accessor = (
60
+ field_name if accessor_prefix is None else f"{accessor_prefix}.{field_name}"
61
+ )
62
+ if inspect.isclass(field.annotation) and issubclass(
63
+ field.annotation, PrefectBaseSettings
64
+ ):
65
+ settings_accessors.update(
66
+ _get_settings_accessors(field.annotation, accessor)
67
+ )
68
+ else:
69
+ settings_accessors[accessor] = accessor
70
+ if field.validation_alias and isinstance(
71
+ field.validation_alias, AliasChoices
72
+ ):
73
+ for alias in field.validation_alias.choices:
74
+ if isinstance(alias, str):
75
+ settings_accessors[alias.upper()] = accessor
76
+ else:
77
+ settings_accessors[
78
+ f"{settings.model_config.get('env_prefix')}{field_name.upper()}"
79
+ ] = accessor
80
+
81
+ return settings_accessors
82
+
83
+
84
+ def _get_setting_accessor(setting: "Setting | str") -> str:
85
+ if not isinstance(setting, str):
86
+ return setting.accessor
87
+
88
+ try:
89
+ return _get_settings_accessors(Settings)[setting]
90
+ except KeyError:
91
+ raise ValueError(f"Unknown setting: {setting!r}") from None
92
+
93
+
50
94
  class Settings(PrefectBaseSettings):
51
95
  """
52
96
  Settings for Prefect using Pydantic settings.
@@ -336,9 +380,9 @@ class Settings(PrefectBaseSettings):
336
380
 
337
381
  def copy_with_update(
338
382
  self: Self,
339
- updates: Optional[Mapping["Setting", Any]] = None,
340
- set_defaults: Optional[Mapping["Setting", Any]] = None,
341
- restore_defaults: Optional[Iterable["Setting"]] = None,
383
+ updates: Optional[Mapping["Setting | SettingAccessor", Any]] = None,
384
+ set_defaults: Optional[Mapping["Setting | SettingAccessor", Any]] = None,
385
+ restore_defaults: Optional[Iterable["Setting | SettingAccessor"]] = None,
342
386
  ) -> Self:
343
387
  """
344
388
  Create a new Settings object with validation.
@@ -358,7 +402,8 @@ class Settings(PrefectBaseSettings):
358
402
  # defaults, all settings sources will be ignored.
359
403
  restore_defaults_obj: dict[str, Any] = {}
360
404
  for r in restore_defaults or []:
361
- path = r.accessor.split(".")
405
+ accessor = _get_setting_accessor(r)
406
+ path = accessor.split(".")
362
407
  model = self
363
408
  model_cls = model.__class__
364
409
  model_fields = model_cls.model_fields
@@ -366,11 +411,11 @@ class Settings(PrefectBaseSettings):
366
411
  model_field = model_fields[key]
367
412
  model_cls = model_field.annotation
368
413
  if model_cls is None:
369
- raise ValueError(f"Invalid setting path: {r.accessor}")
414
+ raise ValueError(f"Invalid setting path: {accessor}")
370
415
  model_fields = model_cls.model_fields
371
416
 
372
417
  model_field = model_fields[path[-1]]
373
- assert model_field is not None, f"Invalid setting path: {r.accessor}"
418
+ assert model_field is not None, f"Invalid setting path: {accessor}"
374
419
  if hasattr(model_field, "default"):
375
420
  default = model_field.default
376
421
  elif (
@@ -378,10 +423,10 @@ class Settings(PrefectBaseSettings):
378
423
  ):
379
424
  default = model_field.default_factory()
380
425
  else:
381
- raise ValueError(f"No default value for setting: {r.accessor}")
426
+ raise ValueError(f"No default value for setting: {accessor}")
382
427
  set_in_dict(
383
428
  restore_defaults_obj,
384
- r.accessor,
429
+ accessor,
385
430
  default,
386
431
  )
387
432
  updates = updates or {}
@@ -389,11 +434,11 @@ class Settings(PrefectBaseSettings):
389
434
 
390
435
  set_defaults_obj: dict[str, Any] = {}
391
436
  for setting, value in set_defaults.items():
392
- set_in_dict(set_defaults_obj, setting.accessor, value)
437
+ set_in_dict(set_defaults_obj, _get_setting_accessor(setting), value)
393
438
 
394
439
  updates_obj: dict[str, Any] = {}
395
440
  for setting, value in updates.items():
396
- set_in_dict(updates_obj, setting.accessor, value)
441
+ set_in_dict(updates_obj, _get_setting_accessor(setting), value)
397
442
 
398
443
  new_settings = self.__class__.model_validate(
399
444
  deep_merge_dicts(
@@ -71,6 +71,15 @@ class RunnerSettings(PrefectBaseSettings):
71
71
  ),
72
72
  )
73
73
 
74
+ auto_install_dependencies: bool = Field(
75
+ default=False,
76
+ description=(
77
+ "Whether runners may install dependencies before executing flow runs. "
78
+ "Enable this when deployments pull code that needs dependencies prepared "
79
+ "at runtime."
80
+ ),
81
+ )
82
+
74
83
  server: RunnerServerSettings = Field(
75
84
  default_factory=RunnerServerSettings,
76
85
  description="Settings for controlling runner server behavior",
@@ -144,6 +144,16 @@ class ServerAPISettings(PrefectBaseSettings):
144
144
  ),
145
145
  )
146
146
 
147
+ websocket_ping_interval: float = Field(
148
+ default=20.0,
149
+ description="WebSocket ping interval in seconds. Only applies when starting the server with `prefect server start`.",
150
+ )
151
+
152
+ websocket_ping_timeout: float = Field(
153
+ default=20.0,
154
+ description="WebSocket ping timeout in seconds. Only applies when starting the server with `prefect server start`.",
155
+ )
156
+
147
157
  max_parameter_size: int = Field(
148
158
  default=524_288,
149
159
  description="The maximum size of parameters (in bytes, JSON-serialized) that can be stored on a flow run or deployment. Set to 0 to disable the limit.",
@@ -22,6 +22,7 @@ from .logs import ServerLogsSettings
22
22
  from .services import ServerServicesSettings
23
23
  from .tasks import ServerTasksSettings
24
24
  from .ui import ServerUISettings
25
+ from .worker_channel import ServerWorkerChannelSettings
25
26
 
26
27
 
27
28
  class ServerSettings(PrefectBaseSettings):
@@ -157,3 +158,7 @@ class ServerSettings(PrefectBaseSettings):
157
158
  default_factory=ServerUISettings,
158
159
  description="Settings for controlling server UI behavior",
159
160
  )
161
+ worker_channel: ServerWorkerChannelSettings = Field(
162
+ default_factory=ServerWorkerChannelSettings,
163
+ description="Settings for controlling server worker channel behavior",
164
+ )