prefect-client 3.4.11.dev4__tar.gz → 3.4.11.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/PKG-INFO +1 -1
  2. prefect_client-3.4.11.dev5/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/objects.py +3 -0
  4. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/_asyncio.py +0 -21
  5. prefect_client-3.4.11.dev5/src/prefect/concurrency/_leases.py +137 -0
  6. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/asyncio.py +4 -38
  7. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/sync.py +6 -41
  8. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/flow_engine.py +26 -2
  9. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/flow_runs.py +7 -2
  10. prefect_client-3.4.11.dev4/src/prefect/_build_info.py +0 -5
  11. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/.gitignore +0 -0
  12. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/LICENSE +0 -0
  13. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/README.md +0 -0
  14. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/pyproject.toml +0 -0
  15. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/.prefectignore +0 -0
  16. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/AGENTS.md +0 -0
  17. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/__init__.py +0 -0
  18. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/__main__.py +0 -0
  19. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/__init__.py +0 -0
  20. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/bundles/__init__.py +0 -0
  21. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/bundles/execute.py +0 -0
  22. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/lineage.py +0 -0
  23. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/sla/__init__.py +0 -0
  24. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/sla/client.py +0 -0
  25. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_experimental/sla/objects.py +0 -0
  26. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/__init__.py +0 -0
  27. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/_logging.py +0 -0
  28. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/compatibility/__init__.py +0 -0
  29. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  30. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/compatibility/blocks.py +0 -0
  31. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  32. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/compatibility/migration.py +0 -0
  33. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/__init__.py +0 -0
  34. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/api.py +0 -0
  35. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/calls.py +0 -0
  36. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  37. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  38. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/inspection.py +0 -0
  39. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/primitives.py +0 -0
  40. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/services.py +0 -0
  41. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/threads.py +0 -0
  42. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/concurrency/waiters.py +0 -0
  43. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/integrations.py +0 -0
  44. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/pydantic/__init__.py +0 -0
  45. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/pydantic/schemas.py +0 -0
  46. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  47. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  48. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  49. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/pytz.py +0 -0
  50. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/retries.py +0 -0
  51. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/schemas/__init__.py +0 -0
  52. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/schemas/bases.py +0 -0
  53. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/schemas/fields.py +0 -0
  54. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/schemas/serializers.py +0 -0
  55. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/schemas/validators.py +0 -0
  56. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/uuid7.py +0 -0
  57. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_internal/websockets.py +0 -0
  58. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_result_records.py +0 -0
  59. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_vendor/croniter/__init__.py +0 -0
  60. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_vendor/croniter/croniter.py +0 -0
  61. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_versioning.py +0 -0
  62. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/_waiters.py +0 -0
  63. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/agent.py +0 -0
  64. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/artifacts.py +0 -0
  65. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/assets/__init__.py +0 -0
  66. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/assets/core.py +0 -0
  67. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/assets/materialize.py +0 -0
  68. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/automations.py +0 -0
  69. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/__init__.py +0 -0
  70. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/abstract.py +0 -0
  71. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/core.py +0 -0
  72. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/fields.py +0 -0
  73. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/notifications.py +0 -0
  74. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/redis.py +0 -0
  75. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/system.py +0 -0
  76. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/blocks/webhook.py +0 -0
  77. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/cache_policies.py +0 -0
  78. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/__init__.py +0 -0
  79. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/base.py +0 -0
  80. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/cloud.py +0 -0
  81. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/collections.py +0 -0
  82. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/constants.py +0 -0
  83. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/__init__.py +0 -0
  84. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  85. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  86. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  87. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_automations/client.py +0 -0
  88. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  89. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  90. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  91. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  92. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  93. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  94. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  95. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  96. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  97. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  98. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  99. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  100. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  101. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_flows/client.py +0 -0
  102. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  103. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_logs/client.py +0 -0
  104. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  105. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_variables/client.py +0 -0
  106. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  107. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  108. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/base.py +0 -0
  109. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/orchestration/routes.py +0 -0
  110. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/__init__.py +0 -0
  111. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/actions.py +0 -0
  112. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/filters.py +0 -0
  113. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/responses.py +0 -0
  114. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/schedules.py +0 -0
  115. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/schemas/sorting.py +0 -0
  116. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/subscriptions.py +0 -0
  117. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/types/__init__.py +0 -0
  118. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  119. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/client/utilities.py +0 -0
  120. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/__init__.py +0 -0
  121. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/_events.py +0 -0
  122. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/context.py +0 -0
  123. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/services.py +0 -0
  124. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/__init__.py +0 -0
  125. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  126. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/_events.py +0 -0
  127. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/asyncio.py +0 -0
  128. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/context.py +0 -0
  129. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/services.py +0 -0
  130. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/concurrency/v1/sync.py +0 -0
  131. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/context.py +0 -0
  132. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/__init__.py +0 -0
  133. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/base.py +0 -0
  134. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/deployments.py +0 -0
  135. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/flow_runs.py +0 -0
  136. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/runner.py +0 -0
  137. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/schedules.py +0 -0
  138. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/steps/__init__.py +0 -0
  139. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/steps/core.py +0 -0
  140. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/steps/pull.py +0 -0
  141. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/deployments/steps/utility.py +0 -0
  142. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/docker/__init__.py +0 -0
  143. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/docker/docker_image.py +0 -0
  144. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/engine.py +0 -0
  145. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/__init__.py +0 -0
  146. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/actions.py +0 -0
  147. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/cli/__init__.py +0 -0
  148. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/cli/automations.py +0 -0
  149. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/clients.py +0 -0
  150. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/filters.py +0 -0
  151. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/related.py +0 -0
  152. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/schemas/__init__.py +0 -0
  153. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/schemas/automations.py +0 -0
  154. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  155. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/schemas/events.py +0 -0
  156. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/schemas/labelling.py +0 -0
  157. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/utilities.py +0 -0
  158. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/events/worker.py +0 -0
  159. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/exceptions.py +0 -0
  160. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/filesystems.py +0 -0
  161. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/flow_runs.py +0 -0
  162. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/flows.py +0 -0
  163. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/futures.py +0 -0
  164. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/__init__.py +0 -0
  165. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/base.py +0 -0
  166. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  167. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  168. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  169. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  170. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  171. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  172. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/input/__init__.py +0 -0
  173. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/input/actions.py +0 -0
  174. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/input/run_input.py +0 -0
  175. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/locking/__init__.py +0 -0
  176. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/locking/filesystem.py +0 -0
  177. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/locking/memory.py +0 -0
  178. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/locking/protocol.py +0 -0
  179. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/__init__.py +0 -0
  180. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/clients.py +0 -0
  181. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/configuration.py +0 -0
  182. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/filters.py +0 -0
  183. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/formatters.py +0 -0
  184. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/handlers.py +0 -0
  185. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/highlighters.py +0 -0
  186. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/loggers.py +0 -0
  187. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/logging/logging.yml +0 -0
  188. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/main.py +0 -0
  189. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/plugins.py +0 -0
  190. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/py.typed +0 -0
  191. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/results.py +0 -0
  192. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/__init__.py +0 -0
  193. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/_observers.py +0 -0
  194. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/runner.py +0 -0
  195. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/server.py +0 -0
  196. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/storage.py +0 -0
  197. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/submit.py +0 -0
  198. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runner/utils.py +0 -0
  199. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runtime/__init__.py +0 -0
  200. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runtime/deployment.py +0 -0
  201. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runtime/flow_run.py +0 -0
  202. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/runtime/task_run.py +0 -0
  203. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/schedules.py +0 -0
  204. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/serializers.py +0 -0
  205. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/__init__.py +0 -0
  206. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/admin.py +0 -0
  207. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/artifacts.py +0 -0
  208. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/automations.py +0 -0
  209. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/block_capabilities.py +0 -0
  210. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/block_documents.py +0 -0
  211. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/block_schemas.py +0 -0
  212. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/block_types.py +0 -0
  213. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/clients.py +0 -0
  214. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/collections.py +0 -0
  215. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  216. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/concurrency_limits.py +0 -0
  217. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  218. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/csrf_token.py +0 -0
  219. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/dependencies.py +0 -0
  220. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/deployments.py +0 -0
  221. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/events.py +0 -0
  222. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/flow_run_states.py +0 -0
  223. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/flows.py +0 -0
  224. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/logs.py +0 -0
  225. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/middleware.py +0 -0
  226. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/root.py +0 -0
  227. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/run_history.py +0 -0
  228. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/saved_searches.py +0 -0
  229. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/server.py +0 -0
  230. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  231. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/task_run_states.py +0 -0
  232. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/task_runs.py +0 -0
  233. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/task_workers.py +0 -0
  234. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/templates.py +0 -0
  235. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/ui/__init__.py +0 -0
  236. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/ui/flow_runs.py +0 -0
  237. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/ui/flows.py +0 -0
  238. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/ui/schemas.py +0 -0
  239. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/ui/task_runs.py +0 -0
  240. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/validation.py +0 -0
  241. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/variables.py +0 -0
  242. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/work_queues.py +0 -0
  243. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/server/api/workers.py +0 -0
  244. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/__init__.py +0 -0
  245. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/base.py +0 -0
  246. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/constants.py +0 -0
  247. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/context.py +0 -0
  248. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/legacy.py +0 -0
  249. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/__init__.py +0 -0
  250. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/_defaults.py +0 -0
  251. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/api.py +0 -0
  252. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/cli.py +0 -0
  253. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/client.py +0 -0
  254. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/cloud.py +0 -0
  255. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/deployments.py +0 -0
  256. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/experiments.py +0 -0
  257. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/flows.py +0 -0
  258. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/internal.py +0 -0
  259. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/logging.py +0 -0
  260. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/results.py +0 -0
  261. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/root.py +0 -0
  262. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/runner.py +0 -0
  263. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/__init__.py +0 -0
  264. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/api.py +0 -0
  265. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/concurrency.py +0 -0
  266. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/database.py +0 -0
  267. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/deployments.py +0 -0
  268. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/ephemeral.py +0 -0
  269. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/events.py +0 -0
  270. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  271. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/logs.py +0 -0
  272. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/root.py +0 -0
  273. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/services.py +0 -0
  274. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/tasks.py +0 -0
  275. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/server/ui.py +0 -0
  276. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/tasks.py +0 -0
  277. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/testing.py +0 -0
  278. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/models/worker.py +0 -0
  279. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/profiles.py +0 -0
  280. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/profiles.toml +0 -0
  281. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/settings/sources.py +0 -0
  282. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/states.py +0 -0
  283. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/task_engine.py +0 -0
  284. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/task_runners.py +0 -0
  285. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/task_runs.py +0 -0
  286. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/task_worker.py +0 -0
  287. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/tasks.py +0 -0
  288. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/__init__.py +0 -0
  289. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/bootstrap.py +0 -0
  290. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/instrumentation.py +0 -0
  291. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/logging.py +0 -0
  292. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/processors.py +0 -0
  293. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/run_telemetry.py +0 -0
  294. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/telemetry/services.py +0 -0
  295. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/transactions.py +0 -0
  296. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/types/__init__.py +0 -0
  297. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/types/_datetime.py +0 -0
  298. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/types/entrypoint.py +0 -0
  299. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/types/names.py +0 -0
  300. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/__init__.py +0 -0
  301. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/_ast.py +0 -0
  302. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/_deprecated.py +0 -0
  303. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/_engine.py +0 -0
  304. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/_git.py +0 -0
  305. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/annotations.py +0 -0
  306. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/asyncutils.py +0 -0
  307. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/callables.py +0 -0
  308. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/collections.py +0 -0
  309. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/compat.py +0 -0
  310. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/context.py +0 -0
  311. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/dispatch.py +0 -0
  312. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/dockerutils.py +0 -0
  313. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/engine.py +0 -0
  314. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/filesystem.py +0 -0
  315. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/generics.py +0 -0
  316. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/hashing.py +0 -0
  317. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/importtools.py +0 -0
  318. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/math.py +0 -0
  319. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/names.py +0 -0
  320. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/processutils.py +0 -0
  321. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/pydantic.py +0 -0
  322. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/render_swagger.py +0 -0
  323. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  324. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  325. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/schema_tools/validation.py +0 -0
  326. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/services.py +0 -0
  327. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/slugify.py +0 -0
  328. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/templating.py +0 -0
  329. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/text.py +0 -0
  330. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/timeout.py +0 -0
  331. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/urls.py +0 -0
  332. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/utilities/visualization.py +0 -0
  333. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/variables.py +0 -0
  334. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/__init__.py +0 -0
  335. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/base.py +0 -0
  336. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/block.py +0 -0
  337. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/cloud.py +0 -0
  338. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/process.py +0 -0
  339. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/server.py +0 -0
  340. {prefect_client-3.4.11.dev4 → prefect_client-3.4.11.dev5}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.4.11.dev4
3
+ Version: 3.4.11.dev5
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.4.11.dev5"
3
+ __build_date__ = "2025-07-30 08:09:57.333018+00:00"
4
+ __git_commit__ = "b6f64e41da1f5bd15c47308722b1e674b929efdd"
5
+ __dirty__ = False
@@ -185,6 +185,9 @@ class StateDetails(PrefectBaseModel):
185
185
  task_parameters_id: Optional[UUID] = None
186
186
  # Captures the trace_id and span_id of the span where this state was created
187
187
  traceparent: Optional[str] = None
188
+ # The ID of the lease that is currently holding the deployment concurrency slot
189
+ # for this run.
190
+ deployment_concurrency_lease_id: Optional[UUID] = None
188
191
 
189
192
  def to_run_result(
190
193
  self, run_type: RunType
@@ -131,27 +131,6 @@ async def aacquire_concurrency_slots_with_lease(
131
131
  ) from exc
132
132
 
133
133
 
134
- async def amaintain_concurrency_lease(
135
- lease_id: UUID,
136
- lease_duration: float,
137
- ) -> None:
138
- """
139
- Maintain a concurrency lease by renewing it after the given interval.
140
-
141
- Args:
142
- lease_id: The ID of the lease to maintain.
143
- lease_duration: The duration of the lease in seconds.
144
- """
145
- async with get_client() as client:
146
- while True:
147
- await asyncio.sleep( # Renew the lease 3/4 of the way through the lease duration
148
- lease_duration * 0.75
149
- )
150
- await client.renew_concurrency_lease(
151
- lease_id=lease_id, lease_duration=lease_duration
152
- )
153
-
154
-
155
134
  async def arelease_concurrency_slots(
156
135
  names: list[str], slots: int, occupancy_seconds: float
157
136
  ) -> list[MinimalConcurrencyLimitResponse]:
@@ -0,0 +1,137 @@
1
+ import asyncio
2
+ import concurrent.futures
3
+ from contextlib import asynccontextmanager, contextmanager
4
+ from typing import AsyncGenerator, Generator
5
+ from uuid import UUID
6
+
7
+ from prefect._internal.concurrency.api import create_call
8
+ from prefect._internal.concurrency.cancellation import (
9
+ AsyncCancelScope,
10
+ WatcherThreadCancelScope,
11
+ )
12
+ from prefect._internal.concurrency.threads import get_global_loop
13
+ from prefect.client.orchestration import get_client
14
+ from prefect.logging.loggers import get_logger, get_run_logger
15
+
16
+
17
+ async def _lease_renewal_loop(
18
+ lease_id: UUID,
19
+ lease_duration: float,
20
+ ) -> None:
21
+ """
22
+ Maintain a concurrency lease by renewing it after the given interval.
23
+
24
+ Args:
25
+ lease_id: The ID of the lease to maintain.
26
+ lease_duration: The duration of the lease in seconds.
27
+ """
28
+ async with get_client() as client:
29
+ while True:
30
+ await client.renew_concurrency_lease(
31
+ lease_id=lease_id, lease_duration=lease_duration
32
+ )
33
+ await asyncio.sleep( # Renew the lease 3/4 of the way through the lease duration
34
+ lease_duration * 0.75
35
+ )
36
+
37
+
38
+ @contextmanager
39
+ def maintain_concurrency_lease(
40
+ lease_id: UUID,
41
+ lease_duration: float,
42
+ raise_on_lease_renewal_failure: bool = False,
43
+ ) -> Generator[None, None, None]:
44
+ """
45
+ Maintain a concurrency lease for the given lease ID.
46
+
47
+ Args:
48
+ lease_id: The ID of the lease to maintain.
49
+ lease_duration: The duration of the lease in seconds.
50
+ raise_on_lease_renewal_failure: A boolean specifying whether to raise an error if the lease renewal fails.
51
+ """
52
+ # Start a loop to renew the lease on the global event loop to avoid blocking the main thread
53
+ global_loop = get_global_loop()
54
+ lease_renewal_call = create_call(
55
+ _lease_renewal_loop,
56
+ lease_id,
57
+ lease_duration,
58
+ )
59
+ global_loop.submit(lease_renewal_call)
60
+
61
+ with WatcherThreadCancelScope() as cancel_scope:
62
+
63
+ def handle_lease_renewal_failure(future: concurrent.futures.Future[None]):
64
+ exc = future.exception()
65
+ if exc:
66
+ try:
67
+ # Use a run logger if available
68
+ logger = get_run_logger()
69
+ except Exception:
70
+ logger = get_logger("concurrency")
71
+ if raise_on_lease_renewal_failure:
72
+ logger.error(
73
+ "Concurrency lease renewal failed - slots are no longer reserved. Terminating execution to prevent over-allocation."
74
+ )
75
+ assert cancel_scope.cancel()
76
+ else:
77
+ logger.warning(
78
+ "Concurrency lease renewal failed - slots are no longer reserved. Execution will continue, but concurrency limits may be exceeded."
79
+ )
80
+
81
+ lease_renewal_call.future.add_done_callback(handle_lease_renewal_failure)
82
+
83
+ try:
84
+ yield
85
+ finally:
86
+ # Cancel the lease renewal loop
87
+ lease_renewal_call.cancel()
88
+
89
+
90
+ @asynccontextmanager
91
+ async def amaintain_concurrency_lease(
92
+ lease_id: UUID,
93
+ lease_duration: float,
94
+ raise_on_lease_renewal_failure: bool = False,
95
+ ) -> AsyncGenerator[None, None]:
96
+ """
97
+ Maintain a concurrency lease for the given lease ID.
98
+
99
+ Args:
100
+ lease_id: The ID of the lease to maintain.
101
+ lease_duration: The duration of the lease in seconds.
102
+ raise_on_lease_renewal_failure: A boolean specifying whether to raise an error if the lease renewal fails.
103
+ """
104
+ lease_renewal_task = asyncio.create_task(
105
+ _lease_renewal_loop(lease_id, lease_duration)
106
+ )
107
+ with AsyncCancelScope() as cancel_scope:
108
+
109
+ def handle_lease_renewal_failure(task: asyncio.Task[None]):
110
+ exc = task.exception()
111
+ if exc:
112
+ try:
113
+ # Use a run logger if available
114
+ logger = get_run_logger()
115
+ except Exception:
116
+ logger = get_logger("concurrency")
117
+ if raise_on_lease_renewal_failure:
118
+ logger.error(
119
+ "Concurrency lease renewal failed - slots are no longer reserved. Terminating execution to prevent over-allocation."
120
+ )
121
+ cancel_scope.cancel()
122
+ else:
123
+ logger.warning(
124
+ "Concurrency lease renewal failed - slots are no longer reserved. Execution will continue, but concurrency limits may be exceeded."
125
+ )
126
+
127
+ # Add a callback to stop execution if the lease renewal fails and strict is True
128
+ lease_renewal_task.add_done_callback(handle_lease_renewal_failure)
129
+ try:
130
+ yield
131
+ finally:
132
+ lease_renewal_task.cancel()
133
+ try:
134
+ await lease_renewal_task
135
+ except (asyncio.CancelledError, Exception):
136
+ # Handling for errors will be done in the callback
137
+ pass
@@ -1,12 +1,10 @@
1
- import asyncio
2
1
  from collections.abc import AsyncGenerator
3
2
  from contextlib import asynccontextmanager
4
3
  from typing import Optional, Union
5
4
 
6
5
  import anyio
7
6
 
8
- from prefect._internal.concurrency.cancellation import AsyncCancelScope
9
- from prefect.logging.loggers import get_logger, get_run_logger
7
+ from prefect.concurrency._leases import amaintain_concurrency_lease
10
8
 
11
9
  from ._asyncio import (
12
10
  AcquireConcurrencySlotTimeoutError as AcquireConcurrencySlotTimeoutError,
@@ -15,7 +13,6 @@ from ._asyncio import ConcurrencySlotAcquisitionError as ConcurrencySlotAcquisit
15
13
  from ._asyncio import (
16
14
  aacquire_concurrency_slots,
17
15
  aacquire_concurrency_slots_with_lease,
18
- amaintain_concurrency_lease,
19
16
  arelease_concurrency_slots_with_lease,
20
17
  )
21
18
  from ._events import (
@@ -81,43 +78,12 @@ async def concurrency(
81
78
  )
82
79
  emitted_events = emit_concurrency_acquisition_events(response.limits, occupy)
83
80
 
84
- lease_renewal_task = asyncio.create_task(
85
- amaintain_concurrency_lease(response.lease_id, lease_duration)
86
- )
87
-
88
81
  try:
89
- with AsyncCancelScope() as cancel_scope:
90
-
91
- def handle_lease_renewal_failure(task: asyncio.Task[None]):
92
- exc = task.exception()
93
- if exc:
94
- try:
95
- # Use a run logger if available
96
- logger = get_run_logger()
97
- except Exception:
98
- logger = get_logger("concurrency")
99
- if strict:
100
- logger.error(
101
- "Concurrency lease renewal failed - slots are no longer reserved. Terminating execution to prevent over-allocation."
102
- )
103
- cancel_scope.cancel()
104
- else:
105
- logger.warning(
106
- "Concurrency lease renewal failed - slots are no longer reserved. Execution will continue, but concurrency limits may be exceeded."
107
- )
108
-
109
- # Add a callback to stop execution if the lease renewal fails and strict is True
110
- lease_renewal_task.add_done_callback(handle_lease_renewal_failure)
111
-
82
+ async with amaintain_concurrency_lease(
83
+ response.lease_id, lease_duration, raise_on_lease_renewal_failure=strict
84
+ ):
112
85
  yield
113
86
  finally:
114
- lease_renewal_task.cancel()
115
- try:
116
- await lease_renewal_task
117
- except (asyncio.CancelledError, Exception):
118
- # Handling for errors will be done in the callback
119
- pass
120
-
121
87
  try:
122
88
  await arelease_concurrency_slots_with_lease(
123
89
  lease_id=response.lease_id,
@@ -1,4 +1,3 @@
1
- import concurrent.futures
2
1
  from collections.abc import Generator
3
2
  from contextlib import contextmanager
4
3
  from typing import Optional, TypeVar, Union
@@ -6,22 +5,16 @@ from uuid import UUID
6
5
 
7
6
  from typing_extensions import Literal
8
7
 
9
- from prefect._internal.concurrency.api import create_call
10
- from prefect._internal.concurrency.cancellation import (
11
- WatcherThreadCancelScope,
12
- )
13
- from prefect._internal.concurrency.threads import get_global_loop
14
8
  from prefect.client.schemas.responses import (
15
9
  ConcurrencyLimitWithLeaseResponse,
16
10
  MinimalConcurrencyLimitResponse,
17
11
  )
18
- from prefect.logging.loggers import get_logger, get_run_logger
12
+ from prefect.concurrency._leases import maintain_concurrency_lease
19
13
  from prefect.utilities.asyncutils import run_coro_as_sync
20
14
 
21
15
  from ._asyncio import (
22
16
  aacquire_concurrency_slots,
23
17
  aacquire_concurrency_slots_with_lease,
24
- amaintain_concurrency_lease,
25
18
  arelease_concurrency_slots_with_lease,
26
19
  )
27
20
  from ._events import (
@@ -126,42 +119,14 @@ def concurrency(
126
119
  acquisition_response.limits, occupy
127
120
  )
128
121
 
129
- # Start a loop to renew the lease on the global event loop to avoid blocking the main thread
130
- global_loop = get_global_loop()
131
- lease_renewal_call = create_call(
132
- amaintain_concurrency_lease,
133
- acquisition_response.lease_id,
134
- lease_duration,
135
- )
136
- global_loop.submit(lease_renewal_call)
137
-
138
122
  try:
139
- with WatcherThreadCancelScope() as cancel_scope:
140
-
141
- def handle_lease_renewal_failure(future: concurrent.futures.Future[None]):
142
- exc = future.exception()
143
- if exc:
144
- try:
145
- # Use a run logger if available
146
- logger = get_run_logger()
147
- except Exception:
148
- logger = get_logger("concurrency")
149
- if strict:
150
- logger.error(
151
- "Concurrency lease renewal failed - slots are no longer reserved. Terminating execution to prevent over-allocation."
152
- )
153
- assert cancel_scope.cancel()
154
- else:
155
- logger.warning(
156
- "Concurrency lease renewal failed - slots are no longer reserved. Execution will continue, but concurrency limits may be exceeded."
157
- )
158
-
159
- lease_renewal_call.future.add_done_callback(handle_lease_renewal_failure)
123
+ with maintain_concurrency_lease(
124
+ acquisition_response.lease_id,
125
+ lease_duration,
126
+ raise_on_lease_renewal_failure=strict,
127
+ ):
160
128
  yield
161
129
  finally:
162
- # Cancel the lease renewal loop
163
- lease_renewal_call.cancel()
164
-
165
130
  _release_concurrency_slots_with_lease(acquisition_response.lease_id)
166
131
  emit_concurrency_release_events(
167
132
  acquisition_response.limits, occupy, emitted_events
@@ -6,7 +6,13 @@ import multiprocessing
6
6
  import multiprocessing.context
7
7
  import os
8
8
  import time
9
- from contextlib import ExitStack, asynccontextmanager, contextmanager, nullcontext
9
+ from contextlib import (
10
+ AsyncExitStack,
11
+ ExitStack,
12
+ asynccontextmanager,
13
+ contextmanager,
14
+ nullcontext,
15
+ )
10
16
  from dataclasses import dataclass, field
11
17
  from functools import wraps
12
18
  from typing import (
@@ -35,7 +41,11 @@ from prefect.client.orchestration import PrefectClient, SyncPrefectClient, get_c
35
41
  from prefect.client.schemas import FlowRun, TaskRun
36
42
  from prefect.client.schemas.filters import FlowRunFilter
37
43
  from prefect.client.schemas.sorting import FlowRunSort
44
+ from prefect.concurrency.asyncio import (
45
+ amaintain_concurrency_lease,
46
+ )
38
47
  from prefect.concurrency.context import ConcurrencyContext
48
+ from prefect.concurrency.sync import maintain_concurrency_lease
39
49
  from prefect.concurrency.v1.context import ConcurrencyContext as ConcurrencyContextV1
40
50
  from prefect.context import (
41
51
  AsyncClientContext,
@@ -618,6 +628,13 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
618
628
  )
619
629
  stack.enter_context(ConcurrencyContextV1())
620
630
  stack.enter_context(ConcurrencyContext())
631
+ if lease_id := self.state.state_details.deployment_concurrency_lease_id:
632
+ stack.enter_context(
633
+ maintain_concurrency_lease(
634
+ lease_id,
635
+ 300,
636
+ )
637
+ )
621
638
 
622
639
  # set the logger to the flow run logger
623
640
 
@@ -1157,7 +1174,7 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
1157
1174
  self.flow_run = await client.read_flow_run(self.flow_run.id)
1158
1175
  log_prints = should_log_prints(self.flow)
1159
1176
 
1160
- with ExitStack() as stack:
1177
+ async with AsyncExitStack() as stack:
1161
1178
  # TODO: Explore closing task runner before completing the flow to
1162
1179
  # wait for futures to complete
1163
1180
  stack.enter_context(capture_sigterm())
@@ -1182,6 +1199,13 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
1182
1199
  )
1183
1200
  stack.enter_context(ConcurrencyContextV1())
1184
1201
  stack.enter_context(ConcurrencyContext())
1202
+ if lease_id := self.state.state_details.deployment_concurrency_lease_id:
1203
+ await stack.enter_async_context(
1204
+ amaintain_concurrency_lease(
1205
+ lease_id,
1206
+ 300,
1207
+ )
1208
+ )
1185
1209
 
1186
1210
  # set the logger to the flow run logger
1187
1211
  self.logger: "logging.Logger" = flow_run_logger(
@@ -378,10 +378,10 @@ async def read_flow_run_graph_v2(
378
378
 
379
379
  @router.post("/{id:uuid}/resume")
380
380
  async def resume_flow_run(
381
+ response: Response,
381
382
  flow_run_id: UUID = Path(..., description="The flow run id", alias="id"),
382
383
  db: PrefectDBInterface = Depends(provide_database_interface),
383
384
  run_input: Optional[dict[str, Any]] = Body(default=None, embed=True),
384
- response: Response = None,
385
385
  flow_policy: type[FlowRunOrchestrationPolicy] = Depends(
386
386
  orchestration_dependencies.provide_flow_policy
387
387
  ),
@@ -392,6 +392,7 @@ async def resume_flow_run(
392
392
  orchestration_dependencies.provide_flow_orchestration_parameters
393
393
  ),
394
394
  api_version: str = Depends(dependencies.provide_request_api_version),
395
+ client_version: Optional[str] = Depends(dependencies.get_prefect_client_version),
395
396
  ) -> OrchestrationResult:
396
397
  """
397
398
  Resume a paused flow run.
@@ -488,6 +489,7 @@ async def resume_flow_run(
488
489
  ),
489
490
  flow_policy=flow_policy,
490
491
  orchestration_parameters=orchestration_parameters,
492
+ client_version=client_version,
491
493
  )
492
494
  else:
493
495
  orchestration_result = await models.flow_runs.set_flow_run_state(
@@ -496,6 +498,7 @@ async def resume_flow_run(
496
498
  state=schemas.states.Running(),
497
499
  flow_policy=flow_policy,
498
500
  orchestration_parameters=orchestration_parameters,
501
+ client_version=client_version,
499
502
  )
500
503
 
501
504
  if (
@@ -601,6 +604,7 @@ async def delete_flow_run_logs(db: PrefectDBInterface, flow_run_id: UUID) -> Non
601
604
 
602
605
  @router.post("/{id:uuid}/set_state")
603
606
  async def set_flow_run_state(
607
+ response: Response,
604
608
  flow_run_id: UUID = Path(..., description="The flow run id", alias="id"),
605
609
  state: schemas.actions.StateCreate = Body(..., description="The intended state."),
606
610
  force: bool = Body(
@@ -617,8 +621,8 @@ async def set_flow_run_state(
617
621
  orchestration_parameters: Dict[str, Any] = Depends(
618
622
  orchestration_dependencies.provide_flow_orchestration_parameters
619
623
  ),
620
- response: Response = None,
621
624
  api_version: str = Depends(dependencies.provide_request_api_version),
625
+ client_version: Optional[str] = Depends(dependencies.get_prefect_client_version),
622
626
  ) -> OrchestrationResult:
623
627
  """Set a flow run state, invoking any orchestration rules."""
624
628
 
@@ -639,6 +643,7 @@ async def set_flow_run_state(
639
643
  force=force,
640
644
  flow_policy=flow_policy,
641
645
  orchestration_parameters=orchestration_parameters,
646
+ client_version=client_version,
642
647
  )
643
648
 
644
649
  # set the 201 if a new state was created
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.4.11.dev4"
3
- __build_date__ = "2025-07-29 08:09:34.883121+00:00"
4
- __git_commit__ = "55c579d72bb116cda2ed885f89d89cb20dd99462"
5
- __dirty__ = False