prefect-client 3.3.8.dev4__tar.gz → 3.4.1.dev1__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 (327) hide show
  1. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/PKG-INFO +3 -3
  2. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/pyproject.toml +2 -2
  3. prefect_client-3.4.1.dev1/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_versioning.py +2 -0
  5. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/core.py +20 -1
  6. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/objects.py +4 -0
  7. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/runner.py +54 -4
  8. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/clients.py +2 -2
  9. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/flows.py +15 -0
  10. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +1 -0
  11. prefect_client-3.4.1.dev1/src/prefect/runner/_observers.py +60 -0
  12. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runner/runner.py +48 -198
  13. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/server.py +18 -1
  14. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/workers.py +39 -4
  15. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/base.py +7 -7
  16. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/experiments.py +2 -0
  17. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/workers/base.py +34 -11
  18. prefect_client-3.3.8.dev4/src/prefect/_build_info.py +0 -5
  19. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/.gitignore +0 -0
  20. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/LICENSE +0 -0
  21. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/README.md +0 -0
  22. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/.prefectignore +0 -0
  23. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/__init__.py +0 -0
  24. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/__main__.py +0 -0
  25. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/__init__.py +0 -0
  26. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
  27. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
  28. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/lineage.py +0 -0
  29. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
  30. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/sla/client.py +0 -0
  31. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
  32. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/__init__.py +0 -0
  33. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/_logging.py +0 -0
  34. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
  35. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  36. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  37. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
  38. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
  39. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
  40. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
  41. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  42. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  43. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
  44. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
  45. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
  46. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
  47. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
  48. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/integrations.py +0 -0
  49. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
  50. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
  51. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  52. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  53. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  54. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/pytz.py +0 -0
  55. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/retries.py +0 -0
  56. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
  57. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
  58. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
  59. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
  60. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
  61. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_result_records.py +0 -0
  62. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
  63. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
  64. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/_waiters.py +0 -0
  65. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/agent.py +0 -0
  66. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/artifacts.py +0 -0
  67. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/automations.py +0 -0
  68. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/__init__.py +0 -0
  69. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/abstract.py +0 -0
  70. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/fields.py +0 -0
  71. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/notifications.py +0 -0
  72. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/redis.py +0 -0
  73. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/system.py +0 -0
  74. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/blocks/webhook.py +0 -0
  75. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/cache_policies.py +0 -0
  76. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/__init__.py +0 -0
  77. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/base.py +0 -0
  78. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/cloud.py +0 -0
  79. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/collections.py +0 -0
  80. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/constants.py +0 -0
  81. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
  82. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  83. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  84. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  85. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
  86. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  87. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  88. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  89. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  90. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  91. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  92. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  93. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  94. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  95. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  96. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  97. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  98. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  99. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
  100. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  101. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
  102. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  103. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
  104. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  105. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  106. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/base.py +0 -0
  107. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/orchestration/routes.py +0 -0
  108. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/__init__.py +0 -0
  109. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/actions.py +0 -0
  110. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/filters.py +0 -0
  111. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/responses.py +0 -0
  112. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/schedules.py +0 -0
  113. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/schemas/sorting.py +0 -0
  114. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/subscriptions.py +0 -0
  115. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/types/__init__.py +0 -0
  116. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  117. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/client/utilities.py +0 -0
  118. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/__init__.py +0 -0
  119. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
  120. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/_events.py +0 -0
  121. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/asyncio.py +0 -0
  122. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/context.py +0 -0
  123. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/services.py +0 -0
  124. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/sync.py +0 -0
  125. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
  126. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  127. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
  128. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
  129. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/context.py +0 -0
  130. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/services.py +0 -0
  131. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
  132. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/context.py +0 -0
  133. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/__init__.py +0 -0
  134. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/base.py +0 -0
  135. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/deployments.py +0 -0
  136. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/flow_runs.py +0 -0
  137. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/schedules.py +0 -0
  138. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
  139. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/steps/core.py +0 -0
  140. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/steps/pull.py +0 -0
  141. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/deployments/steps/utility.py +0 -0
  142. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/docker/__init__.py +0 -0
  143. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/docker/docker_image.py +0 -0
  144. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/engine.py +0 -0
  145. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/__init__.py +0 -0
  146. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/actions.py +0 -0
  147. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/cli/__init__.py +0 -0
  148. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/cli/automations.py +0 -0
  149. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/filters.py +0 -0
  150. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/related.py +0 -0
  151. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/schemas/__init__.py +0 -0
  152. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/schemas/automations.py +0 -0
  153. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  154. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/schemas/events.py +0 -0
  155. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/schemas/labelling.py +0 -0
  156. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/utilities.py +0 -0
  157. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/events/worker.py +0 -0
  158. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/exceptions.py +0 -0
  159. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/filesystems.py +0 -0
  160. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/flow_engine.py +0 -0
  161. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/flow_runs.py +0 -0
  162. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/futures.py +0 -0
  163. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/__init__.py +0 -0
  164. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/base.py +0 -0
  165. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  166. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  167. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  168. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  169. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  170. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/input/__init__.py +0 -0
  171. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/input/actions.py +0 -0
  172. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/input/run_input.py +0 -0
  173. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/locking/__init__.py +0 -0
  174. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/locking/filesystem.py +0 -0
  175. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/locking/memory.py +0 -0
  176. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/locking/protocol.py +0 -0
  177. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/__init__.py +0 -0
  178. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/configuration.py +0 -0
  179. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/filters.py +0 -0
  180. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/formatters.py +0 -0
  181. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/handlers.py +0 -0
  182. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/highlighters.py +0 -0
  183. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/loggers.py +0 -0
  184. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/logging/logging.yml +0 -0
  185. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/main.py +0 -0
  186. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/plugins.py +0 -0
  187. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/py.typed +0 -0
  188. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/results.py +0 -0
  189. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runner/__init__.py +0 -0
  190. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runner/server.py +0 -0
  191. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runner/storage.py +0 -0
  192. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runner/submit.py +0 -0
  193. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runner/utils.py +0 -0
  194. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runtime/__init__.py +0 -0
  195. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runtime/deployment.py +0 -0
  196. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runtime/flow_run.py +0 -0
  197. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/runtime/task_run.py +0 -0
  198. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/schedules.py +0 -0
  199. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/serializers.py +0 -0
  200. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/__init__.py +0 -0
  201. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/admin.py +0 -0
  202. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/artifacts.py +0 -0
  203. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/automations.py +0 -0
  204. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
  205. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/block_documents.py +0 -0
  206. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/block_schemas.py +0 -0
  207. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/block_types.py +0 -0
  208. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/clients.py +0 -0
  209. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/collections.py +0 -0
  210. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  211. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
  212. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  213. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/csrf_token.py +0 -0
  214. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/dependencies.py +0 -0
  215. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/deployments.py +0 -0
  216. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/events.py +0 -0
  217. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
  218. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/flow_runs.py +0 -0
  219. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/flows.py +0 -0
  220. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/logs.py +0 -0
  221. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/middleware.py +0 -0
  222. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/root.py +0 -0
  223. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/run_history.py +0 -0
  224. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/saved_searches.py +0 -0
  225. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  226. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/task_run_states.py +0 -0
  227. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/task_runs.py +0 -0
  228. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/task_workers.py +0 -0
  229. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/templates.py +0 -0
  230. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
  231. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
  232. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/ui/flows.py +0 -0
  233. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
  234. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
  235. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/validation.py +0 -0
  236. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/variables.py +0 -0
  237. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/server/api/work_queues.py +0 -0
  238. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/__init__.py +0 -0
  239. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/constants.py +0 -0
  240. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/context.py +0 -0
  241. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/legacy.py +0 -0
  242. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/__init__.py +0 -0
  243. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/api.py +0 -0
  244. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/cli.py +0 -0
  245. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/client.py +0 -0
  246. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/cloud.py +0 -0
  247. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/deployments.py +0 -0
  248. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/flows.py +0 -0
  249. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/internal.py +0 -0
  250. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/logging.py +0 -0
  251. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/results.py +0 -0
  252. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/root.py +0 -0
  253. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/runner.py +0 -0
  254. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
  255. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/api.py +0 -0
  256. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/database.py +0 -0
  257. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
  258. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
  259. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/events.py +0 -0
  260. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  261. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/root.py +0 -0
  262. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/services.py +0 -0
  263. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
  264. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/server/ui.py +0 -0
  265. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/tasks.py +0 -0
  266. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/testing.py +0 -0
  267. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/models/worker.py +0 -0
  268. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/profiles.py +0 -0
  269. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/profiles.toml +0 -0
  270. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/settings/sources.py +0 -0
  271. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/states.py +0 -0
  272. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/task_engine.py +0 -0
  273. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/task_runners.py +0 -0
  274. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/task_runs.py +0 -0
  275. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/task_worker.py +0 -0
  276. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/tasks.py +0 -0
  277. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/__init__.py +0 -0
  278. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/bootstrap.py +0 -0
  279. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/instrumentation.py +0 -0
  280. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/logging.py +0 -0
  281. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/processors.py +0 -0
  282. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
  283. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/telemetry/services.py +0 -0
  284. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/transactions.py +0 -0
  285. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/types/__init__.py +0 -0
  286. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/types/_datetime.py +0 -0
  287. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/types/entrypoint.py +0 -0
  288. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/__init__.py +0 -0
  289. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/_ast.py +0 -0
  290. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/_deprecated.py +0 -0
  291. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/_engine.py +0 -0
  292. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/_git.py +0 -0
  293. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/annotations.py +0 -0
  294. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/asyncutils.py +0 -0
  295. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/callables.py +0 -0
  296. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/collections.py +0 -0
  297. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/compat.py +0 -0
  298. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/context.py +0 -0
  299. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/dispatch.py +0 -0
  300. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/dockerutils.py +0 -0
  301. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/engine.py +0 -0
  302. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/filesystem.py +0 -0
  303. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/generics.py +0 -0
  304. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/hashing.py +0 -0
  305. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/importtools.py +0 -0
  306. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/math.py +0 -0
  307. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/names.py +0 -0
  308. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/processutils.py +0 -0
  309. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/pydantic.py +0 -0
  310. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/render_swagger.py +0 -0
  311. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  312. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  313. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
  314. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/services.py +0 -0
  315. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/slugify.py +0 -0
  316. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/templating.py +0 -0
  317. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/text.py +0 -0
  318. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/timeout.py +0 -0
  319. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/urls.py +0 -0
  320. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/utilities/visualization.py +0 -0
  321. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/variables.py +0 -0
  322. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/workers/__init__.py +0 -0
  323. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/workers/block.py +0 -0
  324. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/workers/cloud.py +0 -0
  325. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/workers/process.py +0 -0
  326. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/src/prefect/workers/server.py +0 -0
  327. {prefect_client-3.3.8.dev4 → prefect_client-3.4.1.dev1}/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.3.8.dev4
3
+ Version: 3.4.1.dev1
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
@@ -40,7 +40,7 @@ Requires-Dist: jsonpatch<2.0,>=1.32
40
40
  Requires-Dist: jsonschema<5.0.0,>=4.0.0
41
41
  Requires-Dist: opentelemetry-api<2.0.0,>=1.27.0
42
42
  Requires-Dist: orjson<4.0,>=3.7
43
- Requires-Dist: packaging<24.3,>=21.3
43
+ Requires-Dist: packaging<25.1,>=21.3
44
44
  Requires-Dist: pathspec>=0.8.0
45
45
  Requires-Dist: pendulum<4,>=3.0.0; python_version < '3.13'
46
46
  Requires-Dist: prometheus-client>=0.20.0
@@ -62,7 +62,7 @@ Requires-Dist: typing-extensions<5.0.0,>=4.10.0
62
62
  Requires-Dist: ujson<6.0.0,>=5.8.0
63
63
  Requires-Dist: uvicorn!=0.29.0,>=0.14.0
64
64
  Requires-Dist: websockets<16.0,>=13.0
65
- Requires-Dist: whenever<0.8.0,>=0.7.3; python_version >= '3.13'
65
+ Requires-Dist: whenever<0.9.0,>=0.7.3; python_version >= '3.13'
66
66
  Provides-Extra: notifications
67
67
  Requires-Dist: apprise<2.0.0,>=1.1.0; extra == 'notifications'
68
68
  Description-Content-Type: text/markdown
@@ -44,7 +44,7 @@ dependencies = [
44
44
  "jsonschema>=4.0.0,<5.0.0",
45
45
  "opentelemetry-api>=1.27.0,<2.0.0",
46
46
  "orjson>=3.7,<4.0",
47
- "packaging>=21.3,<24.3",
47
+ "packaging>=21.3,<25.1",
48
48
  "pathspec>=0.8.0",
49
49
  "pendulum>=3.0.0,<4; python_version<'3.13'",
50
50
  "prometheus-client>=0.20.0",
@@ -66,7 +66,7 @@ dependencies = [
66
66
  "ujson>=5.8.0,<6.0.0",
67
67
  "uvicorn>=0.14.0,!=0.29.0",
68
68
  "websockets>=13.0,<16.0",
69
- "whenever>=0.7.3,<0.8.0; python_version>='3.13'",
69
+ "whenever>=0.7.3,<0.9.0; python_version>='3.13'",
70
70
  ]
71
71
  [project.urls]
72
72
  Changelog = "https://github.com/PrefectHQ/prefect/releases"
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.4.1.dev1"
3
+ __build_date__ = "2025-05-04 08:07:31.383855+00:00"
4
+ __git_commit__ = "378fc4f6b72aace32343264ee6cea198d949ba6a"
5
+ __dirty__ = False
@@ -422,6 +422,8 @@ async def get_inferred_version_info(
422
422
  get_git_version_info,
423
423
  ]
424
424
 
425
+ if version_type is VersionType.SIMPLE:
426
+ return None
425
427
  if version_type:
426
428
  if version_type not in type_to_getter:
427
429
  raise ValueError(f"Unknown version type: {version_type}")
@@ -95,6 +95,12 @@ class InvalidBlockRegistration(Exception):
95
95
  """
96
96
 
97
97
 
98
+ class UnknownBlockType(Exception):
99
+ """
100
+ Raised when a block type is not found in the registry.
101
+ """
102
+
103
+
98
104
  def _collect_nested_reference_strings(
99
105
  obj: dict[str, Any] | list[Any],
100
106
  ) -> list[dict[str, Any]]:
@@ -786,7 +792,20 @@ class Block(BaseModel, ABC):
786
792
  # before looking up the block class, but only do this once
787
793
  load_prefect_collections()
788
794
 
789
- return lookup_type(cls, key)
795
+ try:
796
+ return lookup_type(cls, key)
797
+ except KeyError:
798
+ message = f"No block class found for slug {key!r}."
799
+ # Handle common blocks types used for storage, which is the primary use case for looking up blocks by key
800
+ if key == "s3-bucket":
801
+ message += " Please ensure that `prefect-aws` is installed."
802
+ elif key == "gcs-bucket":
803
+ message += " Please ensure that `prefect-gcp` is installed."
804
+ elif key == "azure-blob-storage-container":
805
+ message += " Please ensure that `prefect-azure` is installed."
806
+ else:
807
+ message += " Please ensure that the block class is available in the current environment."
808
+ raise UnknownBlockType(message)
790
809
 
791
810
  def _define_metadata_on_nested_blocks(
792
811
  self, block_document_references: dict[str, dict[str, Any]]
@@ -1459,6 +1459,10 @@ class WorkPoolStorageConfiguration(PrefectBaseModel):
1459
1459
  bundle_execution_step: Optional[dict[str, Any]] = Field(
1460
1460
  default=None, description="The bundle execution step for the work pool."
1461
1461
  )
1462
+ default_result_storage_block_id: Optional[UUID] = Field(
1463
+ default=None,
1464
+ description="The block document ID of the default result storage block.",
1465
+ )
1462
1466
 
1463
1467
 
1464
1468
  class WorkPool(ObjectBaseModel):
@@ -35,7 +35,15 @@ import importlib
35
35
  import tempfile
36
36
  from datetime import datetime, timedelta
37
37
  from pathlib import Path
38
- from typing import TYPE_CHECKING, Any, ClassVar, Iterable, List, Optional, Union
38
+ from typing import (
39
+ TYPE_CHECKING,
40
+ Any,
41
+ ClassVar,
42
+ Iterable,
43
+ List,
44
+ Optional,
45
+ Union,
46
+ )
39
47
  from uuid import UUID
40
48
 
41
49
  from pydantic import (
@@ -58,6 +66,7 @@ from prefect._internal.schemas.validators import (
58
66
  reconcile_paused_deployment,
59
67
  reconcile_schedules_runner,
60
68
  )
69
+ from prefect._versioning import VersionType, get_inferred_version_info
61
70
  from prefect.client.base import ServerType
62
71
  from prefect.client.orchestration import PrefectClient, get_client
63
72
  from prefect.client.schemas.actions import DeploymentScheduleCreate, DeploymentUpdate
@@ -154,6 +163,13 @@ class RunnerDeployment(BaseModel):
154
163
  version: Optional[str] = Field(
155
164
  default=None, description="An optional version for the deployment."
156
165
  )
166
+ version_type: Optional[VersionType] = Field(
167
+ default=None,
168
+ description=(
169
+ "The type of version information to use for the deployment. The version type"
170
+ " will be inferred if not provided."
171
+ ),
172
+ )
157
173
  tags: ListOfNonEmptyStrings = Field(
158
174
  default_factory=list,
159
175
  description="One of more tags to apply to this deployment.",
@@ -219,6 +235,7 @@ class RunnerDeployment(BaseModel):
219
235
  " a built runner."
220
236
  ),
221
237
  )
238
+
222
239
  # (Experimental) SLA configuration for the deployment. May be removed or modified at any time. Currently only supported on Prefect Cloud.
223
240
  _sla: Optional[Union[SlaTypes, list[SlaTypes]]] = PrivateAttr(
224
241
  default=None,
@@ -232,6 +249,9 @@ class RunnerDeployment(BaseModel):
232
249
  _parameter_openapi_schema: ParameterSchema = PrivateAttr(
233
250
  default_factory=ParameterSchema,
234
251
  )
252
+ _version_from_flow: bool = PrivateAttr(
253
+ default=False,
254
+ )
235
255
 
236
256
  @property
237
257
  def entrypoint_type(self) -> EntrypointType:
@@ -241,6 +261,20 @@ class RunnerDeployment(BaseModel):
241
261
  def full_name(self) -> str:
242
262
  return f"{self.flow_name}/{self.name}"
243
263
 
264
+ def _get_deployment_version_info(
265
+ self, version_type: Optional[VersionType] = None
266
+ ) -> VersionInfo:
267
+ if inferred_version := run_coro_as_sync(
268
+ get_inferred_version_info(version_type)
269
+ ):
270
+ if not self.version or self._version_from_flow:
271
+ self.version = inferred_version.version # TODO: maybe reconsider
272
+
273
+ inferred_version.version = self.version
274
+ return inferred_version
275
+
276
+ return VersionInfo(version=self.version or "", type="prefect:simple")
277
+
244
278
  @field_validator("name", mode="before")
245
279
  @classmethod
246
280
  def validate_name(cls, value: str) -> str:
@@ -387,7 +421,7 @@ class RunnerDeployment(BaseModel):
387
421
  update_payload = self.model_dump(
388
422
  mode="json",
389
423
  exclude_unset=True,
390
- exclude={"storage", "name", "flow_name", "triggers"},
424
+ exclude={"storage", "name", "flow_name", "triggers", "version_type"},
391
425
  )
392
426
 
393
427
  if self.storage:
@@ -444,7 +478,7 @@ class RunnerDeployment(BaseModel):
444
478
  self,
445
479
  work_pool_name: Optional[str] = None,
446
480
  image: Optional[str] = None,
447
- version_info: VersionInfo | None = None,
481
+ version_info: Optional[VersionInfo] = None,
448
482
  ) -> UUID:
449
483
  """
450
484
  Registers this deployment with the API and returns the deployment's ID.
@@ -455,11 +489,15 @@ class RunnerDeployment(BaseModel):
455
489
  image: The registry, name, and tag of the Docker image to
456
490
  use for this deployment. Only used when the deployment is
457
491
  deployed to a work pool.
458
- version_info: Version information for the deployment.
492
+ version_info: The version information to use for the deployment.
459
493
  Returns:
460
494
  The ID of the created deployment.
461
495
  """
462
496
 
497
+ version_info = version_info or self._get_deployment_version_info(
498
+ self.version_type
499
+ )
500
+
463
501
  async with get_client() as client:
464
502
  try:
465
503
  deployment = await client.read_deployment_by_name(self.full_name)
@@ -570,6 +608,7 @@ class RunnerDeployment(BaseModel):
570
608
 
571
609
  if not self.version:
572
610
  self.version = flow.version
611
+ self._version_from_flow = True
573
612
  if not self.description:
574
613
  self.description = flow.description
575
614
 
@@ -592,6 +631,7 @@ class RunnerDeployment(BaseModel):
592
631
  description: Optional[str] = None,
593
632
  tags: Optional[List[str]] = None,
594
633
  version: Optional[str] = None,
634
+ version_type: Optional[VersionType] = None,
595
635
  enforce_parameter_schema: bool = True,
596
636
  work_pool_name: Optional[str] = None,
597
637
  work_queue_name: Optional[str] = None,
@@ -622,6 +662,7 @@ class RunnerDeployment(BaseModel):
622
662
  tags: A list of tags to associate with the created deployment for organizational
623
663
  purposes.
624
664
  version: A version for the created deployment. Defaults to the flow's version.
665
+ version_type: The type of version information to use for the deployment.
625
666
  enforce_parameter_schema: Whether or not the Prefect API should enforce the
626
667
  parameter schema for this deployment.
627
668
  work_pool_name: The name of the work pool to use for this deployment.
@@ -662,6 +703,7 @@ class RunnerDeployment(BaseModel):
662
703
  parameters=parameters or {},
663
704
  description=description,
664
705
  version=version,
706
+ version_type=version_type,
665
707
  enforce_parameter_schema=enforce_parameter_schema,
666
708
  work_pool_name=work_pool_name,
667
709
  work_queue_name=work_queue_name,
@@ -837,6 +879,7 @@ class RunnerDeployment(BaseModel):
837
879
  description: Optional[str] = None,
838
880
  tags: Optional[List[str]] = None,
839
881
  version: Optional[str] = None,
882
+ version_type: Optional[VersionType] = None,
840
883
  enforce_parameter_schema: bool = True,
841
884
  work_pool_name: Optional[str] = None,
842
885
  work_queue_name: Optional[str] = None,
@@ -870,6 +913,8 @@ class RunnerDeployment(BaseModel):
870
913
  tags: A list of tags to associate with the created deployment for organizational
871
914
  purposes.
872
915
  version: A version for the created deployment. Defaults to the flow's version.
916
+ version_type: The type of version information to use for the deployment. The version type
917
+ will be inferred if not provided.
873
918
  enforce_parameter_schema: Whether or not the Prefect API should enforce the
874
919
  parameter schema for this deployment.
875
920
  work_pool_name: The name of the work pool to use for this deployment.
@@ -921,6 +966,7 @@ class RunnerDeployment(BaseModel):
921
966
  parameters=parameters or {},
922
967
  description=description,
923
968
  version=version,
969
+ version_type=version_type,
924
970
  entrypoint=entrypoint,
925
971
  enforce_parameter_schema=enforce_parameter_schema,
926
972
  storage=storage,
@@ -959,6 +1005,7 @@ class RunnerDeployment(BaseModel):
959
1005
  description: Optional[str] = None,
960
1006
  tags: Optional[List[str]] = None,
961
1007
  version: Optional[str] = None,
1008
+ version_type: Optional[VersionType] = None,
962
1009
  enforce_parameter_schema: bool = True,
963
1010
  work_pool_name: Optional[str] = None,
964
1011
  work_queue_name: Optional[str] = None,
@@ -992,6 +1039,8 @@ class RunnerDeployment(BaseModel):
992
1039
  tags: A list of tags to associate with the created deployment for organizational
993
1040
  purposes.
994
1041
  version: A version for the created deployment. Defaults to the flow's version.
1042
+ version_type: The type of version information to use for the deployment. The version type
1043
+ will be inferred if not provided.
995
1044
  enforce_parameter_schema: Whether or not the Prefect API should enforce the
996
1045
  parameter schema for this deployment.
997
1046
  work_pool_name: The name of the work pool to use for this deployment.
@@ -1041,6 +1090,7 @@ class RunnerDeployment(BaseModel):
1041
1090
  parameters=parameters or {},
1042
1091
  description=description,
1043
1092
  version=version,
1093
+ version_type=version_type,
1044
1094
  entrypoint=entrypoint,
1045
1095
  enforce_parameter_schema=enforce_parameter_schema,
1046
1096
  storage=storage,
@@ -684,8 +684,8 @@ class PrefectEventSubscriber:
684
684
 
685
685
  async def __aexit__(
686
686
  self,
687
- exc_type: Optional[Type[Exception]],
688
- exc_val: Optional[Exception],
687
+ exc_type: Optional[Type[BaseException]],
688
+ exc_val: Optional[BaseException],
689
689
  exc_tb: Optional[TracebackType],
690
690
  ) -> None:
691
691
  self._websocket = None
@@ -49,6 +49,7 @@ from typing_extensions import Literal, ParamSpec
49
49
 
50
50
  from prefect._experimental.sla.objects import SlaTypes
51
51
  from prefect._internal.concurrency.api import create_call, from_async
52
+ from prefect._versioning import VersionType
52
53
  from prefect.blocks.core import Block
53
54
  from prefect.client.schemas.filters import WorkerFilter, WorkerFilterStatus
54
55
  from prefect.client.schemas.objects import ConcurrencyLimitConfig, FlowRun
@@ -704,6 +705,7 @@ class Flow(Generic[P, R]):
704
705
  description: Optional[str] = None,
705
706
  tags: Optional[list[str]] = None,
706
707
  version: Optional[str] = None,
708
+ version_type: Optional[VersionType] = None,
707
709
  enforce_parameter_schema: bool = True,
708
710
  work_pool_name: Optional[str] = None,
709
711
  work_queue_name: Optional[str] = None,
@@ -733,6 +735,8 @@ class Flow(Generic[P, R]):
733
735
  tags: A list of tags to associate with the created deployment for organizational
734
736
  purposes.
735
737
  version: A version for the created deployment. Defaults to the flow's version.
738
+ version_type: The type of version to use for the created deployment. The version type
739
+ will be inferred if not provided.
736
740
  enforce_parameter_schema: Whether or not the Prefect API should enforce the
737
741
  parameter schema for the created deployment.
738
742
  work_pool_name: The name of the work pool to use for this deployment.
@@ -787,6 +791,7 @@ class Flow(Generic[P, R]):
787
791
  parameters=parameters or {},
788
792
  description=description,
789
793
  version=version,
794
+ version_type=version_type,
790
795
  enforce_parameter_schema=enforce_parameter_schema,
791
796
  work_pool_name=work_pool_name,
792
797
  work_queue_name=work_queue_name,
@@ -809,6 +814,7 @@ class Flow(Generic[P, R]):
809
814
  parameters=parameters or {},
810
815
  description=description,
811
816
  version=version,
817
+ version_type=version_type,
812
818
  enforce_parameter_schema=enforce_parameter_schema,
813
819
  work_pool_name=work_pool_name,
814
820
  work_queue_name=work_queue_name,
@@ -840,6 +846,7 @@ class Flow(Generic[P, R]):
840
846
  description: Optional[str] = None,
841
847
  tags: Optional[list[str]] = None,
842
848
  version: Optional[str] = None,
849
+ version_type: Optional[VersionType] = None,
843
850
  enforce_parameter_schema: bool = True,
844
851
  work_pool_name: Optional[str] = None,
845
852
  work_queue_name: Optional[str] = None,
@@ -869,6 +876,8 @@ class Flow(Generic[P, R]):
869
876
  tags: A list of tags to associate with the created deployment for organizational
870
877
  purposes.
871
878
  version: A version for the created deployment. Defaults to the flow's version.
879
+ version_type: The type of version to use for the created deployment. The version type
880
+ will be inferred if not provided.
872
881
  enforce_parameter_schema: Whether or not the Prefect API should enforce the
873
882
  parameter schema for the created deployment.
874
883
  work_pool_name: The name of the work pool to use for this deployment.
@@ -925,6 +934,7 @@ class Flow(Generic[P, R]):
925
934
  parameters=parameters or {},
926
935
  description=description,
927
936
  version=version,
937
+ version_type=version_type,
928
938
  enforce_parameter_schema=enforce_parameter_schema,
929
939
  work_pool_name=work_pool_name,
930
940
  work_queue_name=work_queue_name,
@@ -949,6 +959,7 @@ class Flow(Generic[P, R]):
949
959
  parameters=parameters or {},
950
960
  description=description,
951
961
  version=version,
962
+ version_type=version_type,
952
963
  enforce_parameter_schema=enforce_parameter_schema,
953
964
  work_pool_name=work_pool_name,
954
965
  work_queue_name=work_queue_name,
@@ -1375,6 +1386,7 @@ class Flow(Generic[P, R]):
1375
1386
  description: Optional[str] = None,
1376
1387
  tags: Optional[list[str]] = None,
1377
1388
  version: Optional[str] = None,
1389
+ version_type: Optional[VersionType] = None,
1378
1390
  enforce_parameter_schema: bool = True,
1379
1391
  entrypoint_type: EntrypointType = EntrypointType.FILE_PATH,
1380
1392
  print_next_steps: bool = True,
@@ -1426,6 +1438,8 @@ class Flow(Generic[P, R]):
1426
1438
  tags: A list of tags to associate with the created deployment for organizational
1427
1439
  purposes.
1428
1440
  version: A version for the created deployment. Defaults to the flow's version.
1441
+ version_type: The type of version to use for the created deployment. The version type
1442
+ will be inferred if not provided.
1429
1443
  enforce_parameter_schema: Whether or not the Prefect API should enforce the
1430
1444
  parameter schema for the created deployment.
1431
1445
  entrypoint_type: Type of entrypoint to use for the deployment. When using a module path
@@ -1510,6 +1524,7 @@ class Flow(Generic[P, R]):
1510
1524
  description=description,
1511
1525
  tags=tags,
1512
1526
  version=version,
1527
+ version_type=version_type,
1513
1528
  enforce_parameter_schema=enforce_parameter_schema,
1514
1529
  work_queue_name=work_queue_name,
1515
1530
  job_variables=job_variables,
@@ -133,6 +133,7 @@ class CloudRunPushProvisioner:
133
133
  await self._run_command(
134
134
  f"gcloud iam service-accounts create {self._service_account_name}"
135
135
  ' --display-name "Prefect Cloud Run Service Account"'
136
+ f" --project={self._project}"
136
137
  )
137
138
  except subprocess.CalledProcessError as e:
138
139
  if "already exists" not in e.output.decode("utf-8"):
@@ -0,0 +1,60 @@
1
+ import asyncio
2
+ import uuid
3
+ from contextlib import AsyncExitStack
4
+ from typing import Any, Protocol
5
+
6
+ from prefect.events.clients import PrefectEventSubscriber, get_events_subscriber
7
+ from prefect.events.filters import EventFilter, EventNameFilter
8
+ from prefect.logging.loggers import get_logger
9
+
10
+
11
+ class OnCancellingCallback(Protocol):
12
+ def __call__(self, flow_run_id: uuid.UUID) -> None: ...
13
+
14
+
15
+ class FlowRunCancellingObserver:
16
+ def __init__(self, on_cancelling: OnCancellingCallback):
17
+ self.logger = get_logger("FlowRunCancellingObserver")
18
+ self.on_cancelling = on_cancelling
19
+ self._events_subscriber: PrefectEventSubscriber | None
20
+ self._exit_stack = AsyncExitStack()
21
+
22
+ async def _consume_events(self):
23
+ if self._events_subscriber is None:
24
+ raise RuntimeError(
25
+ "Events subscriber not initialized. Please use `async with` to initialize the observer."
26
+ )
27
+ async for event in self._events_subscriber:
28
+ try:
29
+ flow_run_id = uuid.UUID(
30
+ event.resource["prefect.resource.id"].replace(
31
+ "prefect.flow-run.", ""
32
+ )
33
+ )
34
+ self.on_cancelling(flow_run_id)
35
+ except ValueError:
36
+ self.logger.debug(
37
+ "Received event with invalid flow run ID: %s",
38
+ event.resource["prefect.resource.id"],
39
+ )
40
+
41
+ async def __aenter__(self):
42
+ self._events_subscriber = await self._exit_stack.enter_async_context(
43
+ get_events_subscriber(
44
+ filter=EventFilter(
45
+ event=EventNameFilter(name=["prefect.flow-run.Cancelling"])
46
+ )
47
+ )
48
+ )
49
+ self._consumer_task = asyncio.create_task(self._consume_events())
50
+ return self
51
+
52
+ async def __aexit__(self, *exc_info: Any):
53
+ await self._exit_stack.__aexit__(*exc_info)
54
+ self._consumer_task.cancel()
55
+ try:
56
+ await self._consumer_task
57
+ except asyncio.CancelledError:
58
+ pass
59
+ except Exception:
60
+ self.logger.exception("Error consuming events")