prefect-client 3.7.5.dev3__tar.gz → 3.7.5.dev4__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.5.dev3 → prefect_client-3.7.5.dev4}/PKG-INFO +1 -1
  2. prefect_client-3.7.5.dev4/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/AGENTS.md +2 -2
  4. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_event_emitter.py +24 -16
  5. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/server.py +17 -14
  6. prefect_client-3.7.5.dev3/src/prefect/_build_info.py +0 -5
  7. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/.gitignore +0 -0
  8. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/LICENSE +0 -0
  9. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/README.md +0 -0
  10. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/hatch_build.py +0 -0
  11. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/pyproject.toml +0 -0
  12. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/.prefectignore +0 -0
  13. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/AGENTS.md +0 -0
  14. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/__init__.py +0 -0
  15. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/__main__.py +0 -0
  16. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/__init__.py +0 -0
  17. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/_launchers.py +0 -0
  18. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/bundles/__init__.py +0 -0
  19. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/bundles/execute.py +0 -0
  20. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/plugins/__init__.py +0 -0
  21. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/plugins/apply.py +0 -0
  22. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  23. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/plugins/manager.py +0 -0
  24. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/plugins/spec.py +0 -0
  25. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/sla/__init__.py +0 -0
  26. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/sla/client.py +0 -0
  27. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_experimental/sla/objects.py +0 -0
  28. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_flow_run_suspension.py +0 -0
  29. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/__init__.py +0 -0
  30. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/_logging.py +0 -0
  31. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/__init__.py +0 -0
  32. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/ci_detection.py +0 -0
  33. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/client.py +0 -0
  34. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/device_id.py +0 -0
  35. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/emit.py +0 -0
  36. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/enabled.py +0 -0
  37. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/events.py +0 -0
  38. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/milestones.py +0 -0
  39. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/notice.py +0 -0
  40. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/analytics/service.py +0 -0
  41. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/ast_utils.py +0 -0
  42. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/buildx.py +0 -0
  43. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/__init__.py +0 -0
  44. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  45. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/backports.py +0 -0
  46. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/blocks.py +0 -0
  47. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  48. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
  49. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/migration.py +0 -0
  50. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/compatibility/starlette.py +0 -0
  51. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/__init__.py +0 -0
  52. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/api.py +0 -0
  53. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/calls.py +0 -0
  54. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  55. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  56. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/inspection.py +0 -0
  57. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/primitives.py +0 -0
  58. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/services.py +0 -0
  59. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/threads.py +0 -0
  60. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/concurrency/waiters.py +0 -0
  61. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/control_listener.py +0 -0
  62. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/deprecated.py +0 -0
  63. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/engine.py +0 -0
  64. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/git.py +0 -0
  65. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
  66. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/installation.py +0 -0
  67. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/integrations.py +0 -0
  68. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/launchers.py +0 -0
  69. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/lazy.py +0 -0
  70. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/metrics.py +0 -0
  71. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/observability.py +0 -0
  72. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/observers.py +0 -0
  73. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/__init__.py +0 -0
  74. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/apply.py +0 -0
  75. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/collections.py +0 -0
  76. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/diagnostics.py +0 -0
  77. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/manager.py +0 -0
  78. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/spec.py +0 -0
  79. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/plugins/startup.py +0 -0
  80. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/pydantic/__init__.py +0 -0
  81. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/pydantic/schemas.py +0 -0
  82. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  83. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  84. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  85. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/pytz.py +0 -0
  86. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/result_records.py +0 -0
  87. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/retries.py +0 -0
  88. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schema.py +0 -0
  89. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schemas/__init__.py +0 -0
  90. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schemas/_registry.py +0 -0
  91. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schemas/bases.py +0 -0
  92. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schemas/fields.py +0 -0
  93. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schemas/serializers.py +0 -0
  94. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/schemas/validators.py +0 -0
  95. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
  96. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/states.py +0 -0
  97. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/testing.py +0 -0
  98. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/urls.py +0 -0
  99. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/uuid7.py +0 -0
  100. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/version_checking.py +0 -0
  101. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/versioning.py +0 -0
  102. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/waiters.py +0 -0
  103. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_internal/websockets.py +0 -0
  104. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/__init__.py +0 -0
  105. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/fetcher.py +0 -0
  106. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/generator.py +0 -0
  107. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/models.py +0 -0
  108. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/naming.py +0 -0
  109. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/renderer.py +0 -0
  110. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/schema_converter.py +0 -0
  111. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/templates/__init__.py +0 -0
  112. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
  113. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/types.py +0 -0
  114. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_sdk/unions.py +0 -0
  115. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_vendor/croniter/__init__.py +0 -0
  116. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/_vendor/croniter/croniter.py +0 -0
  117. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/agent.py +0 -0
  118. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/analytics/__init__.py +0 -0
  119. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/artifacts.py +0 -0
  120. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/assets/__init__.py +0 -0
  121. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/assets/core.py +0 -0
  122. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/assets/materialize.py +0 -0
  123. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/automations.py +0 -0
  124. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/AGENTS.md +0 -0
  125. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/__init__.py +0 -0
  126. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/abstract.py +0 -0
  127. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/core.py +0 -0
  128. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/fields.py +0 -0
  129. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/notifications.py +0 -0
  130. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/redis.py +0 -0
  131. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/system.py +0 -0
  132. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/blocks/webhook.py +0 -0
  133. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/__init__.py +0 -0
  134. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/_file_collector.py +0 -0
  135. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/_ignore_filter.py +0 -0
  136. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/_path_resolver.py +0 -0
  137. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/_zip_builder.py +0 -0
  138. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/_zip_extractor.py +0 -0
  139. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/bundles/execute.py +0 -0
  140. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/cache_policies.py +0 -0
  141. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/AGENTS.md +0 -0
  142. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/__init__.py +0 -0
  143. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/attribution.py +0 -0
  144. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/base.py +0 -0
  145. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/cloud.py +0 -0
  146. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/collections.py +0 -0
  147. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/constants.py +0 -0
  148. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/__init__.py +0 -0
  149. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  150. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  151. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  152. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_automations/client.py +0 -0
  153. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  154. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  155. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  156. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  157. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  158. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  159. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  160. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  161. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  162. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  163. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  164. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_events/client.py +0 -0
  165. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  166. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  167. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  168. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_flows/client.py +0 -0
  169. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  170. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_logs/client.py +0 -0
  171. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  172. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_variables/client.py +0 -0
  173. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  174. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  175. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/base.py +0 -0
  176. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/orchestration/routes.py +0 -0
  177. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/__init__.py +0 -0
  178. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/actions.py +0 -0
  179. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/events.py +0 -0
  180. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/filters.py +0 -0
  181. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/objects.py +0 -0
  182. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/responses.py +0 -0
  183. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/schedules.py +0 -0
  184. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/sorting.py +0 -0
  185. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/schemas/worker_channel.py +0 -0
  186. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/subscriptions.py +0 -0
  187. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/types/__init__.py +0 -0
  188. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  189. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/client/utilities.py +0 -0
  190. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/AGENTS.md +0 -0
  191. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/__init__.py +0 -0
  192. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/_asyncio.py +0 -0
  193. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/_events.py +0 -0
  194. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/_leases.py +0 -0
  195. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/_sync.py +0 -0
  196. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/asyncio.py +0 -0
  197. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/context.py +0 -0
  198. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/services.py +0 -0
  199. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/sync.py +0 -0
  200. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/__init__.py +0 -0
  201. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  202. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/_events.py +0 -0
  203. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/asyncio.py +0 -0
  204. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/context.py +0 -0
  205. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/services.py +0 -0
  206. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/concurrency/v1/sync.py +0 -0
  207. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/context.py +0 -0
  208. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/AGENTS.md +0 -0
  209. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/__init__.py +0 -0
  210. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/base.py +0 -0
  211. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/deployments.py +0 -0
  212. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/flow_runs.py +0 -0
  213. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/runner.py +0 -0
  214. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/schedules.py +0 -0
  215. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/steps/__init__.py +0 -0
  216. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/steps/core.py +0 -0
  217. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/steps/pull.py +0 -0
  218. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/deployments/steps/utility.py +0 -0
  219. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/docker/__init__.py +0 -0
  220. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/docker/_buildx.py +0 -0
  221. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/docker/docker_image.py +0 -0
  222. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/engine.py +0 -0
  223. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/AGENTS.md +0 -0
  224. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/__init__.py +0 -0
  225. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/actions.py +0 -0
  226. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/clients.py +0 -0
  227. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/filters.py +0 -0
  228. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/related.py +0 -0
  229. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/schemas/__init__.py +0 -0
  230. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/schemas/automations.py +0 -0
  231. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  232. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/schemas/events.py +0 -0
  233. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/schemas/labelling.py +0 -0
  234. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/subscribers.py +0 -0
  235. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/utilities.py +0 -0
  236. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/events/worker.py +0 -0
  237. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/exceptions.py +0 -0
  238. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/filesystems.py +0 -0
  239. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/flow_engine.py +0 -0
  240. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/flow_runs.py +0 -0
  241. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/flows.py +0 -0
  242. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/futures.py +0 -0
  243. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/__init__.py +0 -0
  244. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/base.py +0 -0
  245. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  246. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  247. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  248. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  249. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  250. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  251. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/input/__init__.py +0 -0
  252. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/input/actions.py +0 -0
  253. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/input/run_input.py +0 -0
  254. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/locking/__init__.py +0 -0
  255. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/locking/_filelock.py +0 -0
  256. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/locking/filesystem.py +0 -0
  257. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/locking/memory.py +0 -0
  258. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/locking/protocol.py +0 -0
  259. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/AGENTS.md +0 -0
  260. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/__init__.py +0 -0
  261. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/clients.py +0 -0
  262. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/configuration.py +0 -0
  263. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/filters.py +0 -0
  264. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/formatters.py +0 -0
  265. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/handlers.py +0 -0
  266. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/highlighters.py +0 -0
  267. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/loggers.py +0 -0
  268. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/logging/logging.yml +0 -0
  269. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/main.py +0 -0
  270. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/plugins.py +0 -0
  271. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/py.typed +0 -0
  272. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/results.py +0 -0
  273. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/__init__.py +0 -0
  274. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_cancel_finalizer.py +0 -0
  275. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_cancellation_manager.py +0 -0
  276. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_control_channel.py +0 -0
  277. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_deployment_registry.py +0 -0
  278. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_flow_resolver.py +0 -0
  279. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_flow_run_executor.py +0 -0
  280. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_hook_runner.py +0 -0
  281. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_limit_manager.py +0 -0
  282. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_process_manager.py +0 -0
  283. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_scheduled_run_poller.py +0 -0
  284. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_starter_bundle.py +0 -0
  285. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_starter_direct.py +0 -0
  286. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_starter_engine.py +0 -0
  287. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_state_proposer.py +0 -0
  288. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_workspace_resolver.py +0 -0
  289. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/_workspace_starter.py +0 -0
  290. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/runner.py +0 -0
  291. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/server.py +0 -0
  292. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runner/storage.py +0 -0
  293. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runtime/__init__.py +0 -0
  294. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runtime/deployment.py +0 -0
  295. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runtime/flow_run.py +0 -0
  296. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/runtime/task_run.py +0 -0
  297. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/schedules.py +0 -0
  298. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/serializers.py +0 -0
  299. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/__init__.py +0 -0
  300. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/_ui_static.py +0 -0
  301. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/admin.py +0 -0
  302. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/artifacts.py +0 -0
  303. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/automations.py +0 -0
  304. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/background_workers.py +0 -0
  305. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/block_capabilities.py +0 -0
  306. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/block_documents.py +0 -0
  307. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/block_schemas.py +0 -0
  308. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/block_types.py +0 -0
  309. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/clients.py +0 -0
  310. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/collections.py +0 -0
  311. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  312. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/concurrency_limits.py +0 -0
  313. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  314. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/csrf_token.py +0 -0
  315. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/dependencies.py +0 -0
  316. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/deployments.py +0 -0
  317. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/events.py +0 -0
  318. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/flow_run_states.py +0 -0
  319. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/flow_runs.py +0 -0
  320. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/flows.py +0 -0
  321. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/logs.py +0 -0
  322. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/middleware.py +0 -0
  323. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/root.py +0 -0
  324. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/run_history.py +0 -0
  325. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/saved_searches.py +0 -0
  326. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  327. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/task_run_states.py +0 -0
  328. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/task_runs.py +0 -0
  329. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/task_workers.py +0 -0
  330. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/templates.py +0 -0
  331. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/ui/__init__.py +0 -0
  332. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/ui/flow_runs.py +0 -0
  333. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/ui/flows.py +0 -0
  334. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/ui/schemas.py +0 -0
  335. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/ui/task_runs.py +0 -0
  336. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/validation.py +0 -0
  337. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/variables.py +0 -0
  338. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/work_queues.py +0 -0
  339. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/server/api/workers.py +0 -0
  340. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/AGENTS.md +0 -0
  341. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/__init__.py +0 -0
  342. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/_types.py +0 -0
  343. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/base.py +0 -0
  344. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/constants.py +0 -0
  345. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/context.py +0 -0
  346. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/legacy.py +0 -0
  347. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/__init__.py +0 -0
  348. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/_defaults.py +0 -0
  349. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/api.py +0 -0
  350. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/cli.py +0 -0
  351. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/client.py +0 -0
  352. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/cloud.py +0 -0
  353. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/deployments.py +0 -0
  354. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/events.py +0 -0
  355. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/experiments.py +0 -0
  356. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/flows.py +0 -0
  357. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/internal.py +0 -0
  358. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/logging.py +0 -0
  359. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/plugins.py +0 -0
  360. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/results.py +0 -0
  361. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/root.py +0 -0
  362. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/runner.py +0 -0
  363. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/__init__.py +0 -0
  364. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/api.py +0 -0
  365. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/concurrency.py +0 -0
  366. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/database.py +0 -0
  367. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/deployments.py +0 -0
  368. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/docket.py +0 -0
  369. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/ephemeral.py +0 -0
  370. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/events.py +0 -0
  371. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  372. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/logs.py +0 -0
  373. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/root.py +0 -0
  374. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/services.py +0 -0
  375. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/tasks.py +0 -0
  376. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/ui.py +0 -0
  377. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/server/worker_channel.py +0 -0
  378. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/tasks.py +0 -0
  379. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/telemetry.py +0 -0
  380. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/testing.py +0 -0
  381. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/models/worker.py +0 -0
  382. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/profiles.py +0 -0
  383. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/profiles.toml +0 -0
  384. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/settings/sources.py +0 -0
  385. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/states.py +0 -0
  386. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/task_engine.py +0 -0
  387. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/task_runners.py +0 -0
  388. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/task_runs.py +0 -0
  389. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/task_worker.py +0 -0
  390. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/tasks.py +0 -0
  391. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/telemetry/__init__.py +0 -0
  392. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/telemetry/run_telemetry.py +0 -0
  393. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/transactions.py +0 -0
  394. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/types/__init__.py +0 -0
  395. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/types/_concurrency.py +0 -0
  396. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/types/_datetime.py +0 -0
  397. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/types/entrypoint.py +0 -0
  398. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/types/names.py +0 -0
  399. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/AGENTS.md +0 -0
  400. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/__init__.py +0 -0
  401. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/annotations.py +0 -0
  402. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
  403. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/asyncutils/__init__.py +0 -0
  404. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/callables/AGENTS.md +0 -0
  405. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/callables/__init__.py +0 -0
  406. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/collections.py +0 -0
  407. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/compat.py +0 -0
  408. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/context.py +0 -0
  409. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/dispatch.py +0 -0
  410. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/dockerutils.py +0 -0
  411. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/engine/AGENTS.md +0 -0
  412. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/engine/__init__.py +0 -0
  413. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
  414. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/filesystem/__init__.py +0 -0
  415. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/generics.py +0 -0
  416. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/hashing.py +0 -0
  417. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/importtools.py +0 -0
  418. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/math.py +0 -0
  419. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/names.py +0 -0
  420. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/processutils/AGENTS.md +0 -0
  421. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/processutils/__init__.py +0 -0
  422. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/pydantic.py +0 -0
  423. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/render_swagger.py +0 -0
  424. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
  425. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  426. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  427. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/schema_tools/validation.py +0 -0
  428. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/services.py +0 -0
  429. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/slugify.py +0 -0
  430. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/templating/AGENTS.md +0 -0
  431. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/templating/__init__.py +0 -0
  432. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/text.py +0 -0
  433. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/timeout.py +0 -0
  434. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/urls.py +0 -0
  435. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/utilities/visualization.py +0 -0
  436. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/variables.py +0 -0
  437. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/AGENTS.md +0 -0
  438. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/__init__.py +0 -0
  439. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_cleanup.py +0 -0
  440. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_cleanup_handlers.py +0 -0
  441. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_worker_channel/__init__.py +0 -0
  442. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
  443. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_worker_channel/_state.py +0 -0
  444. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_worker_channel/_sync.py +0 -0
  445. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/_worker_channel/_transport.py +0 -0
  446. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/base.py +0 -0
  447. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/block.py +0 -0
  448. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/cloud.py +0 -0
  449. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/process.py +0 -0
  450. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/src/prefect/workers/server.py +0 -0
  451. {prefect_client-3.7.5.dev3 → prefect_client-3.7.5.dev4}/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.5.dev3
3
+ Version: 3.7.5.dev4
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
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.7.5.dev4"
3
+ __build_date__ = "2026-06-16 09:53:11.473641+00:00"
4
+ __git_commit__ = "d26ca5871053fae88d1f757a6c1e9eab7ae48ac1"
5
+ __dirty__ = False
@@ -15,7 +15,7 @@ Thin facade over single-responsibility extracted classes. New behavior belongs i
15
15
  | CancelFinalizer | _cancel_finalizer.py | Persist Cancelled state after kill; fall back to Crashed if state cannot be confirmed |
16
16
  | ControlChannel | _control_channel.py | Runner-side TCP loopback IPC for delivering cancel intent to child processes before kill |
17
17
  | HookRunner | _hook_runner.py | on_cancellation / on_crashed hook execution |
18
- | EventEmitter | _event_emitter.py | Event emission via EventsClient; degrades to NullEventsClient on WebSocket rejection |
18
+ | EventEmitter | _event_emitter.py | Event emission via EventsClient; degrades to NullEventsClient on any WebSocket connection failure |
19
19
  | LimitManager | _limit_manager.py | Concurrency limiting |
20
20
  | DeploymentRegistry | _deployment_registry.py | Deployment/flow/storage/bundle maps |
21
21
  | ScheduledRunPoller | _scheduled_run_poller.py | Poll loop, run discovery, scheduling |
@@ -49,7 +49,7 @@ These will be removed once internal callers (notably ProcessWorker) are migrated
49
49
 
50
50
  ## EventEmitter WebSocket Degradation
51
51
 
52
- `EventEmitter.__aenter__` catches `websockets.exceptions.InvalidStatus` (HTTP 4xx rejections) and silently swaps the failed client for a `NullEventsClient`. This handles old clients (≤3.6.13) connecting to servers ≥3.6.14 with `PREFECT_SERVER_API_AUTH_STRING` configured the server rejects the WebSocket handshake, but events are non-critical telemetry so the flow run must not crash. A `WARNING` is logged. If `__aenter__` raises, `__aexit__` is **not** called on the original client (it was never successfully entered); the replacement `NullEventsClient` is entered instead.
52
+ `EventEmitter.__aenter__` catches connection failures and silently swaps the failed client for a `NullEventsClient` events are non-critical telemetry (the runner emits only `prefect.runner.cancelled-flow-run`), so the flow run must not crash when the events WebSocket is unreachable. Two failure classes are caught (`_NONFATAL_CONNECTION_EXCEPTIONS`): permanent rejections (`websockets.exceptions.InvalidStatus`, i.e. HTTP 4xx — e.g. a client ≤3.6.13 connecting to a server ≥3.6.14 with `PREFECT_SERVER_API_AUTH_STRING` configured) and transient failures (`RETRYABLE_EXCEPTIONS` from `events/clients.py`: `ConnectionClosed`, `TimeoutError`, `OSError`) that outlive the events client's own reconnection attempts. A `WARNING` is logged. If `__aenter__` raises, `__aexit__` is **not** called on the original client (it was never successfully entered); the replacement `NullEventsClient` is entered instead.
53
53
 
54
54
  ## AsyncExitStack LIFO Ordering
55
55
 
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Callable
5
5
  from cachetools import TTLCache
6
6
  from websockets.exceptions import InvalidStatus as _WsInvalidStatus
7
7
 
8
- from prefect.events.clients import NullEventsClient
8
+ from prefect.events.clients import RETRYABLE_EXCEPTIONS, NullEventsClient
9
9
  from prefect.events.related import tags_as_related_resources
10
10
  from prefect.events.schemas.events import Event, RelatedResource, Resource
11
11
  from prefect.logging import get_logger
@@ -18,12 +18,19 @@ if TYPE_CHECKING:
18
18
  from prefect.client.schemas.responses import DeploymentResponse
19
19
  from prefect.events.clients import EventsClient
20
20
 
21
- # Exceptions that indicate a permanent connection failure (e.g. auth rejected).
22
- # On these, EventEmitter degrades gracefully to NullEventsClient rather than
23
- # crashing the flow run. This preserves backwards-compatibility with clients
24
- # running against a server that has PREFECT_SERVER_API_AUTH_STRING configured
25
- # (server >=3.6.14) where the WS handshake is rejected with HTTP 401/403.
26
- _NONFATAL_CONNECTION_EXCEPTIONS: tuple[type[Exception], ...] = (_WsInvalidStatus,)
21
+ # Connection failures that must not crash the flow run. The events WebSocket
22
+ # carries non-critical telemetry, so a failure to connect degrades to
23
+ # NullEventsClient rather than taking the flow run down with it.
24
+ # - _WsInvalidStatus: the server rejected the handshake (HTTP 401/403), e.g. a
25
+ # client <=3.6.13 connecting to a server >=3.6.14 that has
26
+ # PREFECT_SERVER_API_AUTH_STRING configured. A permanent failure.
27
+ # - RETRYABLE_EXCEPTIONS: transient failures (handshake timeout, dropped
28
+ # connection, network errors) that the events client already retries; once
29
+ # those retries are exhausted the error must still not be fatal here.
30
+ _NONFATAL_CONNECTION_EXCEPTIONS: tuple[type[Exception], ...] = (
31
+ _WsInvalidStatus,
32
+ *RETRYABLE_EXCEPTIONS,
33
+ )
27
34
 
28
35
 
29
36
  def _default_get_events_client() -> "EventsClient":
@@ -60,17 +67,18 @@ class EventEmitter:
60
67
  try:
61
68
  await self._events_client.__aenter__()
62
69
  except _NONFATAL_CONNECTION_EXCEPTIONS as exc:
63
- # The events WebSocket was rejected by the server (e.g. HTTP 401/403).
64
- # This happens when an old client (<=3.6.13) connects to a server
65
- # >=3.6.14 that has PREFECT_SERVER_API_AUTH_STRING configured: the
66
- # server now requires the "prefect" subprotocol + auth handshake, but
67
- # old clients omit it. Events are non-critical telemetry, so we
68
- # degrade gracefully instead of crashing the flow run.
70
+ # The events WebSocket could not be established -- either rejected by
71
+ # the server (HTTP 401/403, e.g. a client <=3.6.13 connecting to a
72
+ # server >=3.6.14 with PREFECT_SERVER_API_AUTH_STRING configured) or a
73
+ # transient connection failure that outlived the events client's own
74
+ # retries. Events are non-critical telemetry, so degrade gracefully
75
+ # instead of crashing the flow run.
69
76
  self._logger.warning(
70
77
  "Unable to connect to the events WebSocket (%s). "
71
- "Event data will not be emitted for this runner. "
72
- "Upgrade the Prefect client to >=3.6.14 to restore event support "
73
- "when the server has authentication configured.",
78
+ "Event data will not be emitted for this runner; the flow run "
79
+ "will continue. Upgrade the Prefect client to >=3.6.14 to "
80
+ "restore event support if the server has authentication "
81
+ "configured.",
74
82
  exc,
75
83
  )
76
84
  # __aenter__ failed, so __aexit__ must NOT be called on the original
@@ -10,6 +10,7 @@ import base64
10
10
  import contextlib
11
11
  import gc
12
12
  import hmac
13
+ import importlib.metadata
13
14
  import logging
14
15
  import mimetypes
15
16
  import os
@@ -41,6 +42,7 @@ from fastapi.middleware.gzip import GZipMiddleware
41
42
  from fastapi.openapi.utils import get_openapi
42
43
  from fastapi.responses import JSONResponse, RedirectResponse
43
44
  from fastapi.staticfiles import StaticFiles
45
+ from packaging.version import Version
44
46
  from starlette.exceptions import HTTPException
45
47
  from typing_extensions import Self
46
48
 
@@ -73,6 +75,12 @@ from prefect.utilities.hashing import hash_objects
73
75
 
74
76
  logfire: Any | None = configure_logfire()
75
77
 
78
+ # FastAPI < 0.137 copies routes when including a router; 0.137+ keeps a
79
+ # reference to the original via _IncludedRouter.
80
+ _FASTAPI_COPIES_ROUTES_ON_INCLUDE: bool = Version(
81
+ importlib.metadata.version("fastapi")
82
+ ) < Version("0.137.0")
83
+
76
84
  TITLE = "Prefect Server"
77
85
  API_TITLE = "Prefect REST API"
78
86
  UI_TITLE = "Prefect REST API UI"
@@ -491,21 +499,16 @@ def create_api_app(
491
499
 
492
500
  for router in API_ROUTERS:
493
501
  api_app.include_router(router, dependencies=dependencies)
494
- if final:
495
- # Important note about how FastAPI works:
496
- #
497
- # When including a router, FastAPI copies the routes and builds entirely new
498
- # Pydantic models to represent the request bodies of the routes in the
499
- # router. This is because the dependencies may change if the same router is
500
- # included multiple times, but it also means that we are holding onto an
501
- # entire set of Pydantic models on the original routers for the duration of
502
- # the server process that will never be used.
502
+ if final and _FASTAPI_COPIES_ROUTES_ON_INCLUDE:
503
+ # When including a router, older versions of FastAPI (< 0.137) copy
504
+ # the routes and build entirely new Pydantic models. Since Prefect
505
+ # does not reuse routers, we can delete the originals to reclaim
506
+ # ~50-55 MB of memory.
503
507
  #
504
- # Because Prefect does not reuse routers, we are free to clean up the routes
505
- # because we know they won't be used again. Thus, if we have the hint that
506
- # this is the final instance we will create in this process, we can clean up
507
- # the routes on the original source routers to conserve memory (~50-55MB as
508
- # of introducing this change).
508
+ # FastAPI 0.137+ wraps included routers in an _IncludedRouter that
509
+ # references the original router for request matching, so the
510
+ # originals must be kept. The duplication no longer occurs in this
511
+ # case either, so the optimisation is unnecessary.
509
512
  del router.routes
510
513
 
511
514
  if final:
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.7.5.dev3"
3
- __build_date__ = "2026-06-13 09:10:40.924494+00:00"
4
- __git_commit__ = "7d7cd722bc2d696ba5b2cb79135f69e8b67811a8"
5
- __dirty__ = False