prefect-client 3.6.26.dev2__tar.gz → 3.6.26.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 (410) hide show
  1. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/PKG-INFO +1 -1
  2. prefect_client-3.6.26.dev4/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/schemas/validators.py +139 -0
  4. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/actions.py +18 -3
  5. prefect_client-3.6.26.dev2/src/prefect/_build_info.py +0 -5
  6. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/.gitignore +0 -0
  7. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/LICENSE +0 -0
  8. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/README.md +0 -0
  9. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/pyproject.toml +0 -0
  10. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/.prefectignore +0 -0
  11. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/AGENTS.md +0 -0
  12. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/__init__.py +0 -0
  13. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/__main__.py +0 -0
  14. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/__init__.py +0 -0
  15. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/__init__.py +0 -0
  16. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/_file_collector.py +0 -0
  17. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/_ignore_filter.py +0 -0
  18. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/_path_resolver.py +0 -0
  19. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/_zip_builder.py +0 -0
  20. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/_zip_extractor.py +0 -0
  21. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/bundles/execute.py +0 -0
  22. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/plugins/__init__.py +0 -0
  23. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/plugins/apply.py +0 -0
  24. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  25. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/plugins/manager.py +0 -0
  26. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/plugins/spec.py +0 -0
  27. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/sla/__init__.py +0 -0
  28. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/sla/client.py +0 -0
  29. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_experimental/sla/objects.py +0 -0
  30. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/__init__.py +0 -0
  31. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/_logging.py +0 -0
  32. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/__init__.py +0 -0
  33. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/ci_detection.py +0 -0
  34. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/client.py +0 -0
  35. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/device_id.py +0 -0
  36. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/emit.py +0 -0
  37. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/enabled.py +0 -0
  38. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/events.py +0 -0
  39. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/milestones.py +0 -0
  40. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/notice.py +0 -0
  41. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/analytics/service.py +0 -0
  42. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/__init__.py +0 -0
  43. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  44. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/backports.py +0 -0
  45. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/blocks.py +0 -0
  46. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  47. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/migration.py +0 -0
  48. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/compatibility/starlette.py +0 -0
  49. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/__init__.py +0 -0
  50. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/api.py +0 -0
  51. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/calls.py +0 -0
  52. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  53. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  54. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/inspection.py +0 -0
  55. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/primitives.py +0 -0
  56. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/services.py +0 -0
  57. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/threads.py +0 -0
  58. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/concurrency/waiters.py +0 -0
  59. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/installation.py +0 -0
  60. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/integrations.py +0 -0
  61. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/lazy.py +0 -0
  62. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/observability.py +0 -0
  63. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/pydantic/__init__.py +0 -0
  64. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/pydantic/schemas.py +0 -0
  65. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  66. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  67. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  68. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/pytz.py +0 -0
  69. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/retries.py +0 -0
  70. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/schemas/__init__.py +0 -0
  71. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/schemas/bases.py +0 -0
  72. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/schemas/fields.py +0 -0
  73. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/schemas/serializers.py +0 -0
  74. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
  75. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/testing.py +0 -0
  76. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/urls.py +0 -0
  77. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/uuid7.py +0 -0
  78. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_internal/websockets.py +0 -0
  79. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_observers.py +0 -0
  80. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_result_records.py +0 -0
  81. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/__init__.py +0 -0
  82. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/fetcher.py +0 -0
  83. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/generator.py +0 -0
  84. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/models.py +0 -0
  85. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/naming.py +0 -0
  86. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/renderer.py +0 -0
  87. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/schema_converter.py +0 -0
  88. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/templates/__init__.py +0 -0
  89. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
  90. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/types.py +0 -0
  91. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_sdk/unions.py +0 -0
  92. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_states.py +0 -0
  93. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_vendor/croniter/__init__.py +0 -0
  94. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_vendor/croniter/croniter.py +0 -0
  95. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_versioning.py +0 -0
  96. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/_waiters.py +0 -0
  97. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/agent.py +0 -0
  98. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/analytics/__init__.py +0 -0
  99. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/artifacts.py +0 -0
  100. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/assets/__init__.py +0 -0
  101. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/assets/core.py +0 -0
  102. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/assets/materialize.py +0 -0
  103. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/automations.py +0 -0
  104. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/AGENTS.md +0 -0
  105. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/__init__.py +0 -0
  106. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/abstract.py +0 -0
  107. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/core.py +0 -0
  108. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/fields.py +0 -0
  109. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/notifications.py +0 -0
  110. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/redis.py +0 -0
  111. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/system.py +0 -0
  112. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/blocks/webhook.py +0 -0
  113. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/cache_policies.py +0 -0
  114. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/AGENTS.md +0 -0
  115. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/__init__.py +0 -0
  116. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/_version_checking.py +0 -0
  117. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/attribution.py +0 -0
  118. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/base.py +0 -0
  119. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/cloud.py +0 -0
  120. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/collections.py +0 -0
  121. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/constants.py +0 -0
  122. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/__init__.py +0 -0
  123. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  124. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  125. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  126. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_automations/client.py +0 -0
  127. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  128. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  129. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  130. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  131. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  132. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  133. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  134. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  135. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  136. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  137. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  138. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_events/client.py +0 -0
  139. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  140. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  141. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  142. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_flows/client.py +0 -0
  143. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  144. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_logs/client.py +0 -0
  145. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  146. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_variables/client.py +0 -0
  147. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  148. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  149. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/base.py +0 -0
  150. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/orchestration/routes.py +0 -0
  151. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/__init__.py +0 -0
  152. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/events.py +0 -0
  153. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/filters.py +0 -0
  154. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/objects.py +0 -0
  155. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/responses.py +0 -0
  156. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/schedules.py +0 -0
  157. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/schemas/sorting.py +0 -0
  158. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/subscriptions.py +0 -0
  159. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/types/__init__.py +0 -0
  160. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  161. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/client/utilities.py +0 -0
  162. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/AGENTS.md +0 -0
  163. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/__init__.py +0 -0
  164. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/_asyncio.py +0 -0
  165. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/_events.py +0 -0
  166. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/_leases.py +0 -0
  167. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/_sync.py +0 -0
  168. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/asyncio.py +0 -0
  169. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/context.py +0 -0
  170. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/services.py +0 -0
  171. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/sync.py +0 -0
  172. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/__init__.py +0 -0
  173. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  174. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/_events.py +0 -0
  175. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/asyncio.py +0 -0
  176. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/context.py +0 -0
  177. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/services.py +0 -0
  178. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/concurrency/v1/sync.py +0 -0
  179. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/context.py +0 -0
  180. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/AGENTS.md +0 -0
  181. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/__init__.py +0 -0
  182. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/base.py +0 -0
  183. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/deployments.py +0 -0
  184. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/flow_runs.py +0 -0
  185. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/runner.py +0 -0
  186. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/schedules.py +0 -0
  187. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/steps/__init__.py +0 -0
  188. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/steps/core.py +0 -0
  189. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/steps/pull.py +0 -0
  190. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/deployments/steps/utility.py +0 -0
  191. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/docker/__init__.py +0 -0
  192. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/docker/_buildx.py +0 -0
  193. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/docker/docker_image.py +0 -0
  194. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/engine.py +0 -0
  195. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/AGENTS.md +0 -0
  196. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/__init__.py +0 -0
  197. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/actions.py +0 -0
  198. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/clients.py +0 -0
  199. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/filters.py +0 -0
  200. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/related.py +0 -0
  201. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/schemas/__init__.py +0 -0
  202. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/schemas/automations.py +0 -0
  203. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  204. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/schemas/events.py +0 -0
  205. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/schemas/labelling.py +0 -0
  206. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/subscribers.py +0 -0
  207. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/utilities.py +0 -0
  208. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/events/worker.py +0 -0
  209. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/exceptions.py +0 -0
  210. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/filesystems.py +0 -0
  211. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/flow_engine.py +0 -0
  212. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/flow_runs.py +0 -0
  213. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/flows.py +0 -0
  214. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/futures.py +0 -0
  215. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/__init__.py +0 -0
  216. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/base.py +0 -0
  217. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  218. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  219. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  220. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  221. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  222. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  223. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/input/__init__.py +0 -0
  224. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/input/actions.py +0 -0
  225. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/input/run_input.py +0 -0
  226. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/locking/__init__.py +0 -0
  227. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/locking/filesystem.py +0 -0
  228. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/locking/memory.py +0 -0
  229. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/locking/protocol.py +0 -0
  230. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/AGENTS.md +0 -0
  231. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/__init__.py +0 -0
  232. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/clients.py +0 -0
  233. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/configuration.py +0 -0
  234. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/filters.py +0 -0
  235. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/formatters.py +0 -0
  236. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/handlers.py +0 -0
  237. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/highlighters.py +0 -0
  238. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/loggers.py +0 -0
  239. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/logging/logging.yml +0 -0
  240. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/main.py +0 -0
  241. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/plugins.py +0 -0
  242. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/py.typed +0 -0
  243. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/results.py +0 -0
  244. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/AGENTS.md +0 -0
  245. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/__init__.py +0 -0
  246. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_cancellation_manager.py +0 -0
  247. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_deployment_registry.py +0 -0
  248. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_event_emitter.py +0 -0
  249. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_flow_resolver.py +0 -0
  250. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_flow_run_executor.py +0 -0
  251. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_hook_runner.py +0 -0
  252. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_limit_manager.py +0 -0
  253. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_process_manager.py +0 -0
  254. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_scheduled_run_poller.py +0 -0
  255. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_starter_bundle.py +0 -0
  256. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_starter_direct.py +0 -0
  257. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_starter_engine.py +0 -0
  258. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/_state_proposer.py +0 -0
  259. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/runner.py +0 -0
  260. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/server.py +0 -0
  261. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runner/storage.py +0 -0
  262. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runtime/__init__.py +0 -0
  263. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runtime/deployment.py +0 -0
  264. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runtime/flow_run.py +0 -0
  265. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/runtime/task_run.py +0 -0
  266. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/schedules.py +0 -0
  267. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/serializers.py +0 -0
  268. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/__init__.py +0 -0
  269. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/admin.py +0 -0
  270. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/artifacts.py +0 -0
  271. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/automations.py +0 -0
  272. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/background_workers.py +0 -0
  273. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/block_capabilities.py +0 -0
  274. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/block_documents.py +0 -0
  275. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/block_schemas.py +0 -0
  276. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/block_types.py +0 -0
  277. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/clients.py +0 -0
  278. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/collections.py +0 -0
  279. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  280. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/concurrency_limits.py +0 -0
  281. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  282. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/csrf_token.py +0 -0
  283. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/dependencies.py +0 -0
  284. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/deployments.py +0 -0
  285. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/events.py +0 -0
  286. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/flow_run_states.py +0 -0
  287. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/flow_runs.py +0 -0
  288. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/flows.py +0 -0
  289. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/logs.py +0 -0
  290. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/middleware.py +0 -0
  291. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/root.py +0 -0
  292. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/run_history.py +0 -0
  293. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/saved_searches.py +0 -0
  294. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/server.py +0 -0
  295. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  296. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/task_run_states.py +0 -0
  297. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/task_runs.py +0 -0
  298. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/task_workers.py +0 -0
  299. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/templates.py +0 -0
  300. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/ui/__init__.py +0 -0
  301. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/ui/flow_runs.py +0 -0
  302. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/ui/flows.py +0 -0
  303. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/ui/schemas.py +0 -0
  304. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/ui/task_runs.py +0 -0
  305. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/validation.py +0 -0
  306. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/variables.py +0 -0
  307. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/work_queues.py +0 -0
  308. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/server/api/workers.py +0 -0
  309. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/AGENTS.md +0 -0
  310. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/__init__.py +0 -0
  311. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/base.py +0 -0
  312. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/constants.py +0 -0
  313. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/context.py +0 -0
  314. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/legacy.py +0 -0
  315. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/__init__.py +0 -0
  316. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/_defaults.py +0 -0
  317. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/api.py +0 -0
  318. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/cli.py +0 -0
  319. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/client.py +0 -0
  320. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/cloud.py +0 -0
  321. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/deployments.py +0 -0
  322. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/events.py +0 -0
  323. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/experiments.py +0 -0
  324. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/flows.py +0 -0
  325. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/internal.py +0 -0
  326. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/logging.py +0 -0
  327. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/results.py +0 -0
  328. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/root.py +0 -0
  329. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/runner.py +0 -0
  330. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/__init__.py +0 -0
  331. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/api.py +0 -0
  332. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/concurrency.py +0 -0
  333. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/database.py +0 -0
  334. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/deployments.py +0 -0
  335. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/docket.py +0 -0
  336. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/ephemeral.py +0 -0
  337. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/events.py +0 -0
  338. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  339. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/logs.py +0 -0
  340. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/root.py +0 -0
  341. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/services.py +0 -0
  342. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/tasks.py +0 -0
  343. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/server/ui.py +0 -0
  344. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/tasks.py +0 -0
  345. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/telemetry.py +0 -0
  346. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/testing.py +0 -0
  347. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/models/worker.py +0 -0
  348. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/profiles.py +0 -0
  349. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/profiles.toml +0 -0
  350. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/settings/sources.py +0 -0
  351. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/states.py +0 -0
  352. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/task_engine.py +0 -0
  353. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/task_runners.py +0 -0
  354. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/task_runs.py +0 -0
  355. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/task_worker.py +0 -0
  356. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/tasks.py +0 -0
  357. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/telemetry/__init__.py +0 -0
  358. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/telemetry/_metrics.py +0 -0
  359. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/telemetry/run_telemetry.py +0 -0
  360. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/transactions.py +0 -0
  361. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/types/__init__.py +0 -0
  362. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/types/_concurrency.py +0 -0
  363. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/types/_datetime.py +0 -0
  364. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/types/_schema.py +0 -0
  365. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/types/entrypoint.py +0 -0
  366. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/types/names.py +0 -0
  367. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/AGENTS.md +0 -0
  368. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/__init__.py +0 -0
  369. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/_ast.py +0 -0
  370. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/_deprecated.py +0 -0
  371. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/_engine.py +0 -0
  372. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/_git.py +0 -0
  373. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/_infrastructure_exit_codes.py +0 -0
  374. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/annotations.py +0 -0
  375. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/asyncutils.py +0 -0
  376. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/callables.py +0 -0
  377. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/collections.py +0 -0
  378. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/compat.py +0 -0
  379. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/context.py +0 -0
  380. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/dispatch.py +0 -0
  381. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/dockerutils.py +0 -0
  382. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/engine.py +0 -0
  383. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/filesystem.py +0 -0
  384. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/generics.py +0 -0
  385. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/hashing.py +0 -0
  386. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/importtools.py +0 -0
  387. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/math.py +0 -0
  388. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/names.py +0 -0
  389. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/processutils.py +0 -0
  390. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/pydantic.py +0 -0
  391. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/render_swagger.py +0 -0
  392. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  393. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  394. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/schema_tools/validation.py +0 -0
  395. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/services.py +0 -0
  396. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/slugify.py +0 -0
  397. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/templating.py +0 -0
  398. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/text.py +0 -0
  399. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/timeout.py +0 -0
  400. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/urls.py +0 -0
  401. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/utilities/visualization.py +0 -0
  402. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/variables.py +0 -0
  403. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/AGENTS.md +0 -0
  404. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/__init__.py +0 -0
  405. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/base.py +0 -0
  406. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/block.py +0 -0
  407. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/cloud.py +0 -0
  408. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/process.py +0 -0
  409. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.dev4}/src/prefect/workers/server.py +0 -0
  410. {prefect_client-3.6.26.dev2 → prefect_client-3.6.26.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.6.26.dev2
3
+ Version: 3.6.26.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.6.26.dev4"
3
+ __build_date__ = "2026-04-08 08:32:05.083908+00:00"
4
+ __git_commit__ = "a6344b22b58356eab60d6e21163d3520134df4b0"
5
+ __dirty__ = False
@@ -306,6 +306,145 @@ def validate_rrule_string(v: str) -> str:
306
306
  return v
307
307
 
308
308
 
309
+ # RRule's implicit anchor when no DTSTART is supplied. Kept for backward
310
+ # compatibility with rules that already exist in the wild and for shapes
311
+ # where we cannot prove a phase-equivalent advance is safe (anything with
312
+ # COUNT, or any FREQ above MINUTELY).
313
+ DEFAULT_RRULE_ANCHOR = datetime.datetime(2020, 1, 1, 0, 0, 0)
314
+
315
+
316
+ def normalize_rrule_string(
317
+ rrule_string: str,
318
+ *,
319
+ now: Optional[datetime.datetime] = None,
320
+ ) -> str:
321
+ """Inject a `DTSTART` line into an rrule string if it doesn't already have one.
322
+
323
+ See PrefectHQ/prefect#21362 for context. Without an explicit `DTSTART`,
324
+ `dateutil.rrule.rrulestr` falls back to the implicit anchor of
325
+ 2020-01-01, and `xafter()` walks every occurrence from then to "now"
326
+ on each call. For high-frequency rules (FREQ=MINUTELY/SECONDLY without
327
+ COUNT) that's millions of occurrences and can saturate a CPU core
328
+ across a handful of deployments.
329
+
330
+ The fix is to make `DTSTART` explicit on every persisted rrule. To
331
+ avoid silently re-phasing existing schedules, we split the work:
332
+
333
+ - **High-frequency rules without `COUNT`** (`FREQ=SECONDLY` or
334
+ `FREQ=MINUTELY`): we pick a *phase-equivalent recent anchor* —
335
+ `DEFAULT_RRULE_ANCHOR + k * (INTERVAL * unit)` for the largest `k`
336
+ that keeps the new dtstart at or before `now`. This is provably
337
+ occurrence-set-equivalent for any query time at or after the new
338
+ dtstart, and shrinks dateutil's working set from millions of
339
+ cached datetimes to a handful.
340
+
341
+ - **Everything else** (HOURLY/DAILY/WEEKLY/MONTHLY/YEARLY, anything
342
+ with `COUNT`, rrulesets with multiple components): we inject the
343
+ legacy `DTSTART:20200101T000000` so observable behavior is
344
+ byte-for-byte preserved. These shapes don't suffer from the
345
+ memory/CPU pain in practice (a 6-year HOURLY cache is ~50k
346
+ datetimes, ~3 MB).
347
+
348
+ Strings that already contain a `DTSTART` are returned unchanged.
349
+ """
350
+ import dateutil.rrule
351
+
352
+ # Already anchored — leave it alone.
353
+ if "DTSTART" in rrule_string.upper():
354
+ return rrule_string
355
+
356
+ # Try to introspect the rule. We need FREQ/INTERVAL/COUNT to decide
357
+ # which bucket the rule falls into. If parsing fails for any reason,
358
+ # leave the input unchanged — synthesizing a DTSTART for an invalid
359
+ # rrule would just create different garbage. The real validator
360
+ # (`validate_rrule_string`) surfaces the error on the action-schema
361
+ # path; the migration's caller skips unchanged rows.
362
+ try:
363
+ parsed = dateutil.rrule.rrulestr(
364
+ rrule_string,
365
+ dtstart=DEFAULT_RRULE_ANCHOR,
366
+ cache=False,
367
+ )
368
+ except (ValueError, TypeError):
369
+ return rrule_string
370
+
371
+ # Rrulesets (multiple RRULEs, EXRULEs, RDATEs, EXDATEs) take the safe
372
+ # path. Phase-advancing them correctly would require reasoning about
373
+ # all components together, and they're rare enough not to matter.
374
+ if not isinstance(parsed, dateutil.rrule.rrule):
375
+ return _prepend_dtstart(rrule_string, DEFAULT_RRULE_ANCHOR)
376
+
377
+ # dateutil exposes these only as private attributes; use `getattr`
378
+ # so that any future change to dateutil's internal interface
379
+ # degrades gracefully to the safe 2020-anchor path instead of
380
+ # raising `AttributeError`.
381
+ freq = getattr(parsed, "_freq", None)
382
+ interval = getattr(parsed, "_interval", None)
383
+ count = getattr(parsed, "_count", None)
384
+
385
+ # Only the high-frequency, no-COUNT shapes are eligible for advance.
386
+ # If dateutil's internals ever stop exposing these, we fall through
387
+ # to the safe 2020-anchor path.
388
+ if (
389
+ freq is None
390
+ or interval is None
391
+ or count is not None
392
+ or freq not in (dateutil.rrule.SECONDLY, dateutil.rrule.MINUTELY)
393
+ ):
394
+ return _prepend_dtstart(rrule_string, DEFAULT_RRULE_ANCHOR)
395
+
396
+ unit_seconds = 1 if freq == dateutil.rrule.SECONDLY else 60
397
+ period_seconds = unit_seconds * interval
398
+
399
+ if now is None:
400
+ now = datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
401
+ elif now.tzinfo is not None:
402
+ now = now.astimezone(datetime.timezone.utc).replace(tzinfo=None)
403
+
404
+ delta_seconds = (now - DEFAULT_RRULE_ANCHOR).total_seconds()
405
+ if delta_seconds <= 0:
406
+ # `now` is at or before the legacy anchor — nothing to advance to.
407
+ return _prepend_dtstart(rrule_string, DEFAULT_RRULE_ANCHOR)
408
+
409
+ k = int(delta_seconds // period_seconds)
410
+ new_dtstart = DEFAULT_RRULE_ANCHOR + datetime.timedelta(seconds=k * period_seconds)
411
+ return _prepend_dtstart(rrule_string, new_dtstart)
412
+
413
+
414
+ def _prepend_dtstart(rrule_string: str, dt: datetime.datetime) -> str:
415
+ """Prepend a floating-time `DTSTART` line to an rrule string.
416
+
417
+ The format is RFC 5545 "floating" local time (no `Z`, no `TZID`); the
418
+ schedule's `timezone` field continues to handle localization at
419
+ materialization time. This matches what `RRuleSchedule.to_rrule` was
420
+ doing implicitly when it passed `DEFAULT_ANCHOR_DATE` as a naive date.
421
+ """
422
+ return f"DTSTART:{dt.strftime('%Y%m%dT%H%M%S')}\n{rrule_string}"
423
+
424
+
425
+ _T = TypeVar("_T")
426
+
427
+
428
+ def normalize_schedule_rrule(schedule: _T) -> _T:
429
+ """`AfterValidator` for action-schema schedule fields.
430
+
431
+ Used as `Annotated[SCHEDULE_TYPES, AfterValidator(normalize_schedule_rrule)]`
432
+ on the `schedule` field of `DeploymentScheduleCreate` /
433
+ `DeploymentScheduleUpdate` (both client and server). Duck-typed so a
434
+ single helper covers both `RRuleSchedule` classes without an import
435
+ cycle into `_internal/`.
436
+
437
+ Non-RRule schedules and `None` pass through unchanged.
438
+ """
439
+ rrule = getattr(schedule, "rrule", None)
440
+ if not isinstance(rrule, str):
441
+ return schedule
442
+ normalized = normalize_rrule_string(rrule)
443
+ if normalized == rrule:
444
+ return schedule
445
+ return type(schedule)(rrule=normalized, timezone=schedule.timezone) # type: ignore[call-arg]
446
+
447
+
309
448
  ### STATE SCHEMA VALIDATORS ###
310
449
 
311
450
 
@@ -2,11 +2,12 @@ from __future__ import annotations
2
2
 
3
3
  import datetime
4
4
  from copy import deepcopy
5
- from typing import Any, Callable, Optional, TypeVar, Union
5
+ from typing import Annotated, Any, Callable, Optional, TypeVar, Union
6
6
  from uuid import UUID, uuid4
7
7
 
8
8
  import jsonschema
9
9
  from pydantic import (
10
+ AfterValidator,
10
11
  BaseModel,
11
12
  Field,
12
13
  field_serializer,
@@ -18,6 +19,7 @@ import prefect.client.schemas.objects as objects
18
19
  from prefect._internal.schemas.bases import ActionBaseModel
19
20
  from prefect._internal.schemas.validators import (
20
21
  convert_to_strings,
22
+ normalize_schedule_rrule,
21
23
  remove_old_deployment_fields,
22
24
  validate_name_present_on_nonanonymous_blocks,
23
25
  validate_schedule_max_scheduled_runs,
@@ -98,8 +100,21 @@ class FlowUpdate(ActionBaseModel):
98
100
  )
99
101
 
100
102
 
103
+ # Bare RRule schedules arriving via the API write path get an explicit
104
+ # DTSTART injected here so the scheduler doesn't fall back to the legacy
105
+ # 2020 anchor on every loop. The validator is attached to the *field*
106
+ # (via Annotated) rather than to RRuleSchedule itself — if it lived on
107
+ # the schedule class, it would also fire on every DB read and re-phase
108
+ # INTERVAL>1 schedules. See PrefectHQ/prefect#21362.
109
+ #
110
+ # Fields that accept `None` (e.g. `DeploymentScheduleUpdate.schedule`)
111
+ # use `Optional[NormalizedSchedule]` directly — Pydantic only runs the
112
+ # `AfterValidator` on the non-None branch.
113
+ NormalizedSchedule = Annotated[SCHEDULE_TYPES, AfterValidator(normalize_schedule_rrule)]
114
+
115
+
101
116
  class DeploymentScheduleCreate(ActionBaseModel):
102
- schedule: SCHEDULE_TYPES = Field(
117
+ schedule: NormalizedSchedule = Field(
103
118
  default=..., description="The schedule for the deployment."
104
119
  )
105
120
  active: bool = Field(
@@ -180,7 +195,7 @@ class DeploymentScheduleCreate(ActionBaseModel):
180
195
 
181
196
 
182
197
  class DeploymentScheduleUpdate(ActionBaseModel):
183
- schedule: Optional[SCHEDULE_TYPES] = Field(
198
+ schedule: Optional[NormalizedSchedule] = Field(
184
199
  default=None, description="The schedule for the deployment."
185
200
  )
186
201
  active: Optional[bool] = Field(
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.6.26.dev2"
3
- __build_date__ = "2026-04-05 08:17:02.527706+00:00"
4
- __git_commit__ = "b1b196328332166faba5bdb79491fd0d52d01edd"
5
- __dirty__ = False