prefect-client 3.4.24.dev4__tar.gz → 3.4.25.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 (344) hide show
  1. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/PKG-INFO +1 -1
  2. prefect_client-3.4.25.dev1/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/runner.py +3 -3
  4. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/flow_engine.py +20 -6
  5. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/runner.py +26 -5
  6. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/concurrency_limits_v2.py +17 -6
  7. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/base.py +1 -1
  8. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/states.py +122 -10
  9. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/base.py +25 -3
  10. prefect_client-3.4.24.dev4/src/prefect/_build_info.py +0 -5
  11. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/.gitignore +0 -0
  12. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/LICENSE +0 -0
  13. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/README.md +0 -0
  14. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/pyproject.toml +0 -0
  15. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/.prefectignore +0 -0
  16. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/AGENTS.md +0 -0
  17. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/__init__.py +0 -0
  18. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/__main__.py +0 -0
  19. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/__init__.py +0 -0
  20. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/bundles/__init__.py +0 -0
  21. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/bundles/execute.py +0 -0
  22. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/__init__.py +0 -0
  23. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/apply.py +0 -0
  24. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  25. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/manager.py +0 -0
  26. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/plugins/spec.py +0 -0
  27. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
  28. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/client.py +0 -0
  29. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
  30. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/__init__.py +0 -0
  31. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/_logging.py +0 -0
  32. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
  33. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  34. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/blocks.py +0 -0
  35. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  36. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
  37. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/compatibility/starlette.py +0 -0
  38. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
  39. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
  40. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
  41. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  42. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  43. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
  44. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
  45. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
  46. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
  47. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
  48. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/installation.py +0 -0
  49. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/integrations.py +0 -0
  50. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
  51. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
  52. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  53. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  54. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  55. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/pytz.py +0 -0
  56. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/retries.py +0 -0
  57. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
  58. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
  59. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
  60. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
  61. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
  62. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/uuid7.py +0 -0
  63. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_internal/websockets.py +0 -0
  64. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_result_records.py +0 -0
  65. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
  66. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
  67. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_versioning.py +0 -0
  68. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/_waiters.py +0 -0
  69. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/agent.py +0 -0
  70. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/artifacts.py +0 -0
  71. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/assets/__init__.py +0 -0
  72. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/assets/core.py +0 -0
  73. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/assets/materialize.py +0 -0
  74. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/automations.py +0 -0
  75. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/__init__.py +0 -0
  76. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/abstract.py +0 -0
  77. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/core.py +0 -0
  78. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/fields.py +0 -0
  79. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/notifications.py +0 -0
  80. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/redis.py +0 -0
  81. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/system.py +0 -0
  82. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/blocks/webhook.py +0 -0
  83. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/cache_policies.py +0 -0
  84. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/__init__.py +0 -0
  85. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/base.py +0 -0
  86. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/cloud.py +0 -0
  87. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/collections.py +0 -0
  88. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/constants.py +0 -0
  89. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
  90. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  91. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  92. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  93. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
  94. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  95. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  96. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  97. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  98. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  99. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  100. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  101. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  102. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  103. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  104. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  105. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  106. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  107. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
  108. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  109. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
  110. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  111. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
  112. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  113. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  114. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/base.py +0 -0
  115. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/orchestration/routes.py +0 -0
  116. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/__init__.py +0 -0
  117. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/actions.py +0 -0
  118. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/filters.py +0 -0
  119. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/objects.py +0 -0
  120. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/responses.py +0 -0
  121. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/schedules.py +0 -0
  122. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/schemas/sorting.py +0 -0
  123. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/subscriptions.py +0 -0
  124. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/types/__init__.py +0 -0
  125. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  126. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/client/utilities.py +0 -0
  127. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/__init__.py +0 -0
  128. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
  129. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/_events.py +0 -0
  130. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/_leases.py +0 -0
  131. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/asyncio.py +0 -0
  132. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/context.py +0 -0
  133. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/services.py +0 -0
  134. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/sync.py +0 -0
  135. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
  136. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  137. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
  138. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
  139. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/context.py +0 -0
  140. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/services.py +0 -0
  141. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
  142. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/context.py +0 -0
  143. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/__init__.py +0 -0
  144. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/base.py +0 -0
  145. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/deployments.py +0 -0
  146. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/flow_runs.py +0 -0
  147. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/schedules.py +0 -0
  148. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
  149. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/core.py +0 -0
  150. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/pull.py +0 -0
  151. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/deployments/steps/utility.py +0 -0
  152. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/docker/__init__.py +0 -0
  153. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/docker/docker_image.py +0 -0
  154. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/engine.py +0 -0
  155. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/__init__.py +0 -0
  156. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/actions.py +0 -0
  157. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/cli/__init__.py +0 -0
  158. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/cli/automations.py +0 -0
  159. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/clients.py +0 -0
  160. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/filters.py +0 -0
  161. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/related.py +0 -0
  162. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/__init__.py +0 -0
  163. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/automations.py +0 -0
  164. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  165. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/events.py +0 -0
  166. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/schemas/labelling.py +0 -0
  167. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/subscribers.py +0 -0
  168. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/utilities.py +0 -0
  169. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/events/worker.py +0 -0
  170. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/exceptions.py +0 -0
  171. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/filesystems.py +0 -0
  172. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/flow_runs.py +0 -0
  173. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/flows.py +0 -0
  174. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/futures.py +0 -0
  175. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/__init__.py +0 -0
  176. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/base.py +0 -0
  177. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  178. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  179. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  180. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  181. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  182. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  183. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/input/__init__.py +0 -0
  184. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/input/actions.py +0 -0
  185. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/input/run_input.py +0 -0
  186. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/__init__.py +0 -0
  187. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/filesystem.py +0 -0
  188. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/memory.py +0 -0
  189. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/locking/protocol.py +0 -0
  190. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/__init__.py +0 -0
  191. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/clients.py +0 -0
  192. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/configuration.py +0 -0
  193. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/filters.py +0 -0
  194. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/formatters.py +0 -0
  195. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/handlers.py +0 -0
  196. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/highlighters.py +0 -0
  197. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/loggers.py +0 -0
  198. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/logging/logging.yml +0 -0
  199. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/main.py +0 -0
  200. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/plugins.py +0 -0
  201. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/py.typed +0 -0
  202. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/results.py +0 -0
  203. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/__init__.py +0 -0
  204. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/_observers.py +0 -0
  205. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/server.py +0 -0
  206. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/storage.py +0 -0
  207. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/submit.py +0 -0
  208. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runner/utils.py +0 -0
  209. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/__init__.py +0 -0
  210. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/deployment.py +0 -0
  211. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/flow_run.py +0 -0
  212. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/runtime/task_run.py +0 -0
  213. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/schedules.py +0 -0
  214. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/serializers.py +0 -0
  215. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/__init__.py +0 -0
  216. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/admin.py +0 -0
  217. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/artifacts.py +0 -0
  218. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/automations.py +0 -0
  219. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
  220. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_documents.py +0 -0
  221. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_schemas.py +0 -0
  222. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/block_types.py +0 -0
  223. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/clients.py +0 -0
  224. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/collections.py +0 -0
  225. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  226. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
  227. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/csrf_token.py +0 -0
  228. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/dependencies.py +0 -0
  229. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/deployments.py +0 -0
  230. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/events.py +0 -0
  231. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
  232. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/flow_runs.py +0 -0
  233. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/flows.py +0 -0
  234. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/logs.py +0 -0
  235. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/middleware.py +0 -0
  236. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/root.py +0 -0
  237. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/run_history.py +0 -0
  238. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/saved_searches.py +0 -0
  239. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/server.py +0 -0
  240. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  241. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/task_run_states.py +0 -0
  242. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/task_runs.py +0 -0
  243. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/task_workers.py +0 -0
  244. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/templates.py +0 -0
  245. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
  246. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
  247. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/flows.py +0 -0
  248. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
  249. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
  250. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/validation.py +0 -0
  251. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/variables.py +0 -0
  252. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/work_queues.py +0 -0
  253. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/server/api/workers.py +0 -0
  254. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/__init__.py +0 -0
  255. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/constants.py +0 -0
  256. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/context.py +0 -0
  257. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/legacy.py +0 -0
  258. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/__init__.py +0 -0
  259. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/_defaults.py +0 -0
  260. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/api.py +0 -0
  261. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/cli.py +0 -0
  262. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/client.py +0 -0
  263. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/cloud.py +0 -0
  264. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/deployments.py +0 -0
  265. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/experiments.py +0 -0
  266. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/flows.py +0 -0
  267. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/internal.py +0 -0
  268. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/logging.py +0 -0
  269. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/results.py +0 -0
  270. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/root.py +0 -0
  271. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/runner.py +0 -0
  272. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
  273. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/api.py +0 -0
  274. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/concurrency.py +0 -0
  275. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/database.py +0 -0
  276. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
  277. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
  278. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/events.py +0 -0
  279. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  280. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/logs.py +0 -0
  281. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/root.py +0 -0
  282. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/services.py +0 -0
  283. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
  284. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/server/ui.py +0 -0
  285. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/tasks.py +0 -0
  286. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/testing.py +0 -0
  287. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/models/worker.py +0 -0
  288. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/profiles.py +0 -0
  289. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/profiles.toml +0 -0
  290. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/settings/sources.py +0 -0
  291. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_engine.py +0 -0
  292. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_runners.py +0 -0
  293. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_runs.py +0 -0
  294. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/task_worker.py +0 -0
  295. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/tasks.py +0 -0
  296. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/telemetry/__init__.py +0 -0
  297. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
  298. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/transactions.py +0 -0
  299. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/__init__.py +0 -0
  300. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/_concurrency.py +0 -0
  301. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/_datetime.py +0 -0
  302. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/_schema.py +0 -0
  303. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/entrypoint.py +0 -0
  304. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/types/names.py +0 -0
  305. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/__init__.py +0 -0
  306. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_ast.py +0 -0
  307. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_deprecated.py +0 -0
  308. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_engine.py +0 -0
  309. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/_git.py +0 -0
  310. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/annotations.py +0 -0
  311. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/asyncutils.py +0 -0
  312. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/callables.py +0 -0
  313. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/collections.py +0 -0
  314. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/compat.py +0 -0
  315. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/context.py +0 -0
  316. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/dispatch.py +0 -0
  317. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/dockerutils.py +0 -0
  318. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/engine.py +0 -0
  319. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/filesystem.py +0 -0
  320. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/generics.py +0 -0
  321. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/hashing.py +0 -0
  322. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/importtools.py +0 -0
  323. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/math.py +0 -0
  324. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/names.py +0 -0
  325. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/processutils.py +0 -0
  326. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/pydantic.py +0 -0
  327. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/render_swagger.py +0 -0
  328. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  329. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  330. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
  331. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/services.py +0 -0
  332. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/slugify.py +0 -0
  333. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/templating.py +0 -0
  334. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/text.py +0 -0
  335. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/timeout.py +0 -0
  336. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/urls.py +0 -0
  337. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/utilities/visualization.py +0 -0
  338. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/variables.py +0 -0
  339. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/__init__.py +0 -0
  340. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/block.py +0 -0
  341. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/cloud.py +0 -0
  342. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/process.py +0 -0
  343. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.dev1}/src/prefect/workers/server.py +0 -0
  344. {prefect_client-3.4.24.dev4 → prefect_client-3.4.25.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.4.24.dev4
3
+ Version: 3.4.25.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
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.4.25.dev1"
3
+ __build_date__ = "2025-10-17 08:09:39.529679+00:00"
4
+ __git_commit__ = "081cbf6096562f05845ddbbdea13fac5201f2dcc"
5
+ __dirty__ = False
@@ -861,7 +861,7 @@ class RunnerDeployment(BaseModel):
861
861
  concurrency_options = None
862
862
 
863
863
  deployment = cls(
864
- name=Path(name).stem,
864
+ name=name,
865
865
  flow_name=flow_name or flow.name,
866
866
  schedules=constructed_schedules,
867
867
  concurrency_limit=concurrency_limit,
@@ -982,7 +982,7 @@ class RunnerDeployment(BaseModel):
982
982
  )
983
983
 
984
984
  deployment = cls(
985
- name=Path(name).stem,
985
+ name=name,
986
986
  flow_name=flow_name or flow.name,
987
987
  schedules=constructed_schedules,
988
988
  concurrency_limit=concurrency_limit,
@@ -1106,7 +1106,7 @@ class RunnerDeployment(BaseModel):
1106
1106
  flow = load_flow_from_entrypoint(full_entrypoint)
1107
1107
 
1108
1108
  deployment = cls(
1109
- name=Path(name).stem,
1109
+ name=name,
1110
1110
  flow_name=flow_name or flow.name,
1111
1111
  schedules=constructed_schedules,
1112
1112
  concurrency_limit=concurrency_limit,
@@ -731,9 +731,16 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
731
731
  # Do not capture generator exits as crashes
732
732
  raise
733
733
  except BaseException as exc:
734
- # BaseExceptions are caught and handled as crashes
735
- self.handle_crash(exc)
736
- raise
734
+ # We don't want to crash a flow run if the user code finished executing
735
+ if self.flow_run.state and not self.flow_run.state.is_final():
736
+ # BaseExceptions are caught and handled as crashes
737
+ self.handle_crash(exc)
738
+ raise
739
+ else:
740
+ self.logger.debug(
741
+ "BaseException was raised after user code finished executing",
742
+ exc_info=exc,
743
+ )
737
744
  finally:
738
745
  # If debugging, use the more complete `repr` than the usual `str` description
739
746
  display_state = (
@@ -1305,9 +1312,16 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
1305
1312
  # Do not capture generator exits as crashes
1306
1313
  raise
1307
1314
  except BaseException as exc:
1308
- # BaseExceptions are caught and handled as crashes
1309
- await self.handle_crash(exc)
1310
- raise
1315
+ # We don't want to crash a flow run if the user code finished executing
1316
+ if self.flow_run.state and not self.flow_run.state.is_final():
1317
+ # BaseExceptions are caught and handled as crashes
1318
+ await self.handle_crash(exc)
1319
+ raise
1320
+ else:
1321
+ self.logger.debug(
1322
+ "BaseException was raised after user code finished executing",
1323
+ exc_info=exc,
1324
+ )
1311
1325
  finally:
1312
1326
  # If debugging, use the more complete `repr` than the usual `str` description
1313
1327
  display_state = (
@@ -1373,10 +1373,19 @@ class Runner:
1373
1373
  f"Flow run process exited with non-zero status code {exit_code}.",
1374
1374
  )
1375
1375
 
1376
- api_flow_run = await self._client.read_flow_run(flow_run_id=flow_run.id)
1377
- terminal_state = api_flow_run.state
1378
- if terminal_state and terminal_state.is_crashed():
1379
- await self._run_on_crashed_hooks(flow_run=flow_run, state=terminal_state)
1376
+ try:
1377
+ api_flow_run = await self._client.read_flow_run(flow_run_id=flow_run.id)
1378
+ terminal_state = api_flow_run.state
1379
+ if terminal_state and terminal_state.is_crashed():
1380
+ await self._run_on_crashed_hooks(
1381
+ flow_run=flow_run, state=terminal_state
1382
+ )
1383
+ except ObjectNotFound:
1384
+ # Flow run was deleted - log it but don't crash the runner
1385
+ run_logger = self._get_flow_run_logger(flow_run)
1386
+ run_logger.debug(
1387
+ f"Flow run '{flow_run.id}' was deleted before final state could be checked"
1388
+ )
1380
1389
 
1381
1390
  return exit_code
1382
1391
 
@@ -1444,6 +1453,11 @@ class Runner:
1444
1453
  except Abort:
1445
1454
  # Flow run already marked as failed
1446
1455
  pass
1456
+ except ObjectNotFound:
1457
+ # Flow run was deleted - log it but don't crash the runner
1458
+ run_logger.debug(
1459
+ f"Flow run '{flow_run.id}' was deleted before state could be updated"
1460
+ )
1447
1461
  except Exception:
1448
1462
  run_logger.exception(f"Failed to update state of flow run '{flow_run.id}'")
1449
1463
  else:
@@ -1468,7 +1482,14 @@ class Runner:
1468
1482
  )
1469
1483
  return
1470
1484
 
1471
- await self._client.set_flow_run_state(flow_run.id, state, force=True)
1485
+ try:
1486
+ await self._client.set_flow_run_state(flow_run.id, state, force=True)
1487
+ except ObjectNotFound:
1488
+ # Flow run was deleted - log it but don't crash the runner
1489
+ run_logger = self._get_flow_run_logger(flow_run)
1490
+ run_logger.debug(
1491
+ f"Flow run '{flow_run.id}' was deleted before it could be marked as cancelled"
1492
+ )
1472
1493
 
1473
1494
  async def _run_on_cancellation_hooks(
1474
1495
  self,
@@ -411,13 +411,24 @@ async def renew_concurrency_lease(
411
411
  ),
412
412
  ) -> None:
413
413
  lease_storage = get_concurrency_lease_storage()
414
- lease = await lease_storage.read_lease(lease_id)
415
- if not lease:
416
- raise HTTPException(
417
- status_code=status.HTTP_404_NOT_FOUND, detail="Lease not found"
418
- )
419
414
 
420
- await lease_storage.renew_lease(
415
+ # Atomically renew the lease (checks existence and updates index in single operation)
416
+ renewed = await lease_storage.renew_lease(
421
417
  lease_id=lease_id,
422
418
  ttl=timedelta(seconds=lease_duration),
423
419
  )
420
+
421
+ # Handle the three possible return values:
422
+ # - True: lease successfully renewed
423
+ # - False: lease not found or expired
424
+ # - None: legacy implementation (check lease existence to determine success)
425
+ lease = None
426
+ if renewed is None:
427
+ # Legacy implementation returned None - check if lease actually exists
428
+ lease = await lease_storage.read_lease(lease_id)
429
+
430
+ if renewed is False or (renewed is None and lease is None):
431
+ raise HTTPException(
432
+ status_code=status.HTTP_410_GONE,
433
+ detail="Lease not found - it may have expired or been revoked",
434
+ )
@@ -268,7 +268,7 @@ def _to_environment_variable_value(
268
268
  value: list[object] | set[object] | tuple[object] | Any,
269
269
  ) -> str:
270
270
  if isinstance(value, (list, set, tuple)):
271
- return ",".join(str(v) for v in value)
271
+ return ",".join(str(v) for v in sorted(value, key=str))
272
272
  if isinstance(value, dict):
273
273
  return json.dumps(value)
274
274
  return str(value)
@@ -14,6 +14,7 @@ import httpx
14
14
  from opentelemetry import propagate
15
15
  from typing_extensions import TypeGuard
16
16
 
17
+ from prefect._internal.compatibility.async_dispatch import async_dispatch
17
18
  from prefect.client.schemas.objects import State, StateDetails, StateType
18
19
  from prefect.exceptions import (
19
20
  CancelledRun,
@@ -28,7 +29,6 @@ from prefect.exceptions import (
28
29
  from prefect.logging.loggers import get_logger, get_run_logger
29
30
  from prefect.types._datetime import now
30
31
  from prefect.utilities.annotations import BaseAnnotation
31
- from prefect.utilities.asyncutils import sync_compatible
32
32
  from prefect.utilities.collections import ensure_iterable
33
33
 
34
34
  if TYPE_CHECKING:
@@ -154,7 +154,7 @@ async def _get_state_result(
154
154
  if raise_on_failure and (
155
155
  state.is_crashed() or state.is_failed() or state.is_cancelled()
156
156
  ):
157
- raise await get_state_exception(state)
157
+ raise await aget_state_exception(state)
158
158
 
159
159
  if isinstance(state.data, ResultRecordMetadata):
160
160
  result = await _get_state_result_data_with_retries(
@@ -165,7 +165,7 @@ async def _get_state_result(
165
165
 
166
166
  elif state.data is None:
167
167
  if state.is_failed() or state.is_crashed() or state.is_cancelled():
168
- return await get_state_exception(state)
168
+ return await aget_state_exception(state)
169
169
  else:
170
170
  raise MissingResult(
171
171
  "State data is missing. "
@@ -442,9 +442,10 @@ async def return_value_to_state(
442
442
  return Completed(data=result_record)
443
443
 
444
444
 
445
- @sync_compatible
446
- async def get_state_exception(state: State) -> BaseException:
445
+ async def aget_state_exception(state: State) -> BaseException:
447
446
  """
447
+ Get the exception from a state asynchronously.
448
+
448
449
  If not given a FAILED or CRASHED state, this raise a value error.
449
450
 
450
451
  If the state result is a state, its exception will be returned.
@@ -507,13 +508,114 @@ async def get_state_exception(state: State) -> BaseException:
507
508
 
508
509
  elif isinstance(result, State):
509
510
  # Return the exception from the inner state
510
- return await get_state_exception(result)
511
+ return await aget_state_exception(result)
512
+
513
+ elif is_state_iterable(result):
514
+ # Return the first failure
515
+ for state in result:
516
+ if state.is_failed() or state.is_crashed() or state.is_cancelled():
517
+ return await aget_state_exception(state)
518
+
519
+ raise ValueError(
520
+ "Failed state result was an iterable of states but none were failed."
521
+ )
522
+
523
+ else:
524
+ raise TypeError(
525
+ f"Unexpected result for failed state: {result!r} —— "
526
+ f"{type(result).__name__} cannot be resolved into an exception"
527
+ )
528
+
529
+
530
+ @async_dispatch(aget_state_exception)
531
+ def get_state_exception(state: State) -> BaseException:
532
+ """
533
+ Get the exception from a state.
534
+
535
+ If not given a FAILED or CRASHED state, this raise a value error.
536
+
537
+ If the state result is a state, its exception will be returned.
538
+
539
+ If the state result is an iterable of states, the exception of the first failure
540
+ will be returned.
541
+
542
+ If the state result is a string, a wrapper exception will be returned with the
543
+ string as the message.
544
+
545
+ If the state result is null, a wrapper exception will be returned with the state
546
+ message attached.
547
+
548
+ If the state result is not of a known type, a `TypeError` will be returned.
549
+
550
+ When a wrapper exception is returned, the type will be:
551
+ - `FailedRun` if the state type is FAILED.
552
+ - `CrashedRun` if the state type is CRASHED.
553
+ - `CancelledRun` if the state type is CANCELLED.
554
+ """
555
+ from prefect._result_records import (
556
+ ResultRecord,
557
+ ResultRecordMetadata,
558
+ )
559
+ from prefect.results import ResultStore, resolve_result_storage
560
+
561
+ if state.is_failed():
562
+ wrapper = FailedRun
563
+ default_message = "Run failed."
564
+ elif state.is_crashed():
565
+ wrapper = CrashedRun
566
+ default_message = "Run crashed."
567
+ elif state.is_cancelled():
568
+ wrapper = CancelledRun
569
+ default_message = "Run cancelled."
570
+ else:
571
+ raise ValueError(f"Expected failed or crashed state got {state!r}.")
572
+
573
+ if isinstance(state.data, ResultRecord):
574
+ result = state.data.result
575
+ elif isinstance(state.data, ResultRecordMetadata):
576
+ # Inline sync version of _from_metadata
577
+ metadata = state.data
578
+ if metadata.storage_block_id is None:
579
+ storage_block = None
580
+ else:
581
+ storage_block = resolve_result_storage(
582
+ metadata.storage_block_id, _sync=True
583
+ )
584
+ store = ResultStore(
585
+ result_storage=storage_block, serializer=metadata.serializer
586
+ )
587
+ if metadata.storage_key is None:
588
+ raise ValueError(
589
+ "storage_key is required to hydrate a result record from metadata"
590
+ )
591
+ record = store.read(metadata.storage_key)
592
+ result = record.result
593
+ elif state.data is None:
594
+ result = None
595
+ else:
596
+ result = state.data
597
+
598
+ if result is None:
599
+ return wrapper(state.message or default_message)
600
+
601
+ if isinstance(result, Exception):
602
+ return result
603
+
604
+ elif isinstance(result, BaseException):
605
+ return result
606
+
607
+ elif isinstance(result, str):
608
+ return wrapper(result)
609
+
610
+ elif isinstance(result, State):
611
+ # Return the exception from the inner state
612
+ return get_state_exception(result)
511
613
 
512
614
  elif is_state_iterable(result):
513
615
  # Return the first failure
514
616
  for state in result:
515
617
  if state.is_failed() or state.is_crashed() or state.is_cancelled():
516
- return await get_state_exception(state)
618
+ return get_state_exception(state)
517
619
 
518
620
  raise ValueError(
519
621
  "Failed state result was an iterable of states but none were failed."
@@ -526,15 +628,25 @@ async def get_state_exception(state: State) -> BaseException:
526
628
  )
527
629
 
528
630
 
529
- @sync_compatible
530
- async def raise_state_exception(state: State) -> None:
631
+ async def araise_state_exception(state: State) -> None:
632
+ """
633
+ Given a FAILED or CRASHED state, raise the contained exception asynchronously.
634
+ """
635
+ if not (state.is_failed() or state.is_crashed() or state.is_cancelled()):
636
+ return None
637
+
638
+ raise await aget_state_exception(state)
639
+
640
+
641
+ @async_dispatch(araise_state_exception)
642
+ def raise_state_exception(state: State) -> None:
531
643
  """
532
644
  Given a FAILED or CRASHED state, raise the contained exception.
533
645
  """
534
646
  if not (state.is_failed() or state.is_crashed() or state.is_cancelled()):
535
647
  return None
536
648
 
537
- raise await get_state_exception(state)
649
+ raise get_state_exception(state)
538
650
 
539
651
 
540
652
  def is_state_iterable(obj: Any) -> TypeGuard[Iterable[State]]:
@@ -1334,10 +1334,20 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
1334
1334
  def _release_limit_slot(self, flow_run_id: UUID) -> None:
1335
1335
  """
1336
1336
  Frees up a slot taken by the given flow run id.
1337
+
1338
+ This method gracefully handles cases where the slot has already been released
1339
+ to prevent worker crashes from double-release scenarios.
1337
1340
  """
1338
1341
  if self._limiter:
1339
- self._limiter.release_on_behalf_of(flow_run_id)
1340
- self._logger.debug("Limit slot released for flow run '%s'", flow_run_id)
1342
+ try:
1343
+ self._limiter.release_on_behalf_of(flow_run_id)
1344
+ self._logger.debug("Limit slot released for flow run '%s'", flow_run_id)
1345
+ except RuntimeError:
1346
+ # Slot was already released - this can happen in certain error paths
1347
+ # where multiple cleanup attempts occur. Log it but don't crash.
1348
+ self._logger.debug(
1349
+ "Limit slot for flow run '%s' was already released", flow_run_id
1350
+ )
1341
1351
 
1342
1352
  def get_status(self) -> dict[str, Any]:
1343
1353
  """
@@ -1464,6 +1474,11 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
1464
1474
  except Abort:
1465
1475
  # Flow run already marked as failed
1466
1476
  pass
1477
+ except ObjectNotFound:
1478
+ # Flow run was deleted - log it but don't crash the worker
1479
+ run_logger.debug(
1480
+ f"Flow run '{flow_run.id}' was deleted before state could be updated"
1481
+ )
1467
1482
  except Exception:
1468
1483
  run_logger.exception(f"Failed to update state of flow run '{flow_run.id}'")
1469
1484
  else:
@@ -1486,7 +1501,14 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
1486
1501
  # does not need to explicitly set the type
1487
1502
  state = Cancelled(**state_updates)
1488
1503
 
1489
- await self.client.set_flow_run_state(flow_run.id, state, force=True)
1504
+ try:
1505
+ await self.client.set_flow_run_state(flow_run.id, state, force=True)
1506
+ except ObjectNotFound:
1507
+ # Flow run was deleted - log it but don't crash the worker
1508
+ run_logger = self.get_flow_run_logger(flow_run)
1509
+ run_logger.debug(
1510
+ f"Flow run '{flow_run.id}' was deleted before it could be marked as cancelled"
1511
+ )
1490
1512
 
1491
1513
  # Do not remove the flow run from the cancelling set immediately because
1492
1514
  # the API caches responses for the `read_flow_runs` and we do not want to
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.4.24.dev4"
3
- __build_date__ = "2025-10-15 08:09:24.517909+00:00"
4
- __git_commit__ = "4d7bea0be73f046c90a05a964312a8e86261e17d"
5
- __dirty__ = False