prefect-client 3.6.7.dev3__tar.gz → 3.6.8.dev3__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 (353) hide show
  1. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/PKG-INFO +1 -1
  2. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/__init__.py +8 -5
  3. prefect_client-3.6.8.dev3/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/bundles/__init__.py +8 -4
  5. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/notifications.py +1 -1
  6. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/cache_policies.py +12 -0
  7. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_deployments/client.py +12 -0
  8. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/clients.py +24 -12
  9. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/flow_runs.py +31 -10
  10. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/logging.yml +2 -0
  11. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/main.py +12 -6
  12. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runner/storage.py +30 -1
  13. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/serializers.py +17 -1
  14. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/background_workers.py +16 -3
  15. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/tasks.py +26 -18
  16. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/schema_tools/validation.py +1 -1
  17. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/urls.py +7 -3
  18. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/base.py +0 -8
  19. prefect_client-3.6.7.dev3/src/prefect/_build_info.py +0 -5
  20. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/.gitignore +0 -0
  21. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/LICENSE +0 -0
  22. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/README.md +0 -0
  23. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/pyproject.toml +0 -0
  24. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/.prefectignore +0 -0
  25. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/AGENTS.md +0 -0
  26. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/__main__.py +0 -0
  27. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/__init__.py +0 -0
  28. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/bundles/execute.py +0 -0
  29. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/plugins/__init__.py +0 -0
  30. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/plugins/apply.py +0 -0
  31. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  32. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/plugins/manager.py +0 -0
  33. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/plugins/spec.py +0 -0
  34. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/sla/__init__.py +0 -0
  35. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/sla/client.py +0 -0
  36. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_experimental/sla/objects.py +0 -0
  37. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/__init__.py +0 -0
  38. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/_logging.py +0 -0
  39. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/compatibility/__init__.py +0 -0
  40. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  41. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/compatibility/blocks.py +0 -0
  42. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  43. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/compatibility/migration.py +0 -0
  44. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/compatibility/starlette.py +0 -0
  45. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/__init__.py +0 -0
  46. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/api.py +0 -0
  47. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/calls.py +0 -0
  48. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  49. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  50. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/inspection.py +0 -0
  51. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/primitives.py +0 -0
  52. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/services.py +0 -0
  53. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/threads.py +0 -0
  54. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/concurrency/waiters.py +0 -0
  55. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/installation.py +0 -0
  56. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/integrations.py +0 -0
  57. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/lazy.py +0 -0
  58. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/observability.py +0 -0
  59. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/pydantic/__init__.py +0 -0
  60. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/pydantic/schemas.py +0 -0
  61. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  62. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  63. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  64. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/pytz.py +0 -0
  65. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/retries.py +0 -0
  66. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/schemas/__init__.py +0 -0
  67. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/schemas/bases.py +0 -0
  68. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/schemas/fields.py +0 -0
  69. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/schemas/serializers.py +0 -0
  70. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/schemas/validators.py +0 -0
  71. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/testing.py +0 -0
  72. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/uuid7.py +0 -0
  73. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_internal/websockets.py +0 -0
  74. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_result_records.py +0 -0
  75. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_states.py +0 -0
  76. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_vendor/croniter/__init__.py +0 -0
  77. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_vendor/croniter/croniter.py +0 -0
  78. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_versioning.py +0 -0
  79. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/_waiters.py +0 -0
  80. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/agent.py +0 -0
  81. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/artifacts.py +0 -0
  82. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/assets/__init__.py +0 -0
  83. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/assets/core.py +0 -0
  84. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/assets/materialize.py +0 -0
  85. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/automations.py +0 -0
  86. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/__init__.py +0 -0
  87. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/abstract.py +0 -0
  88. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/core.py +0 -0
  89. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/fields.py +0 -0
  90. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/redis.py +0 -0
  91. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/system.py +0 -0
  92. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/blocks/webhook.py +0 -0
  93. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/__init__.py +0 -0
  94. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/base.py +0 -0
  95. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/cloud.py +0 -0
  96. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/collections.py +0 -0
  97. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/constants.py +0 -0
  98. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/__init__.py +0 -0
  99. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  100. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  101. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  102. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_automations/client.py +0 -0
  103. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  104. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  105. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  106. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  107. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  108. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  109. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  110. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  111. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  112. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  113. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_events/client.py +0 -0
  114. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  115. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  116. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  117. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_flows/client.py +0 -0
  118. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  119. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_logs/client.py +0 -0
  120. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  121. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_variables/client.py +0 -0
  122. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  123. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  124. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/base.py +0 -0
  125. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/orchestration/routes.py +0 -0
  126. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/__init__.py +0 -0
  127. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/actions.py +0 -0
  128. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/events.py +0 -0
  129. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/filters.py +0 -0
  130. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/objects.py +0 -0
  131. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/responses.py +0 -0
  132. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/schedules.py +0 -0
  133. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/schemas/sorting.py +0 -0
  134. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/subscriptions.py +0 -0
  135. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/types/__init__.py +0 -0
  136. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  137. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/client/utilities.py +0 -0
  138. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/__init__.py +0 -0
  139. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/_asyncio.py +0 -0
  140. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/_events.py +0 -0
  141. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/_leases.py +0 -0
  142. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/_sync.py +0 -0
  143. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/asyncio.py +0 -0
  144. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/context.py +0 -0
  145. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/services.py +0 -0
  146. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/sync.py +0 -0
  147. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/__init__.py +0 -0
  148. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  149. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/_events.py +0 -0
  150. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/asyncio.py +0 -0
  151. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/context.py +0 -0
  152. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/services.py +0 -0
  153. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/concurrency/v1/sync.py +0 -0
  154. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/context.py +0 -0
  155. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/__init__.py +0 -0
  156. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/base.py +0 -0
  157. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/deployments.py +0 -0
  158. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/flow_runs.py +0 -0
  159. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/runner.py +0 -0
  160. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/schedules.py +0 -0
  161. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/steps/__init__.py +0 -0
  162. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/steps/core.py +0 -0
  163. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/steps/pull.py +0 -0
  164. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/deployments/steps/utility.py +0 -0
  165. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/docker/__init__.py +0 -0
  166. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/docker/docker_image.py +0 -0
  167. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/engine.py +0 -0
  168. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/__init__.py +0 -0
  169. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/actions.py +0 -0
  170. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/cli/__init__.py +0 -0
  171. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/cli/automations.py +0 -0
  172. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/filters.py +0 -0
  173. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/related.py +0 -0
  174. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/schemas/__init__.py +0 -0
  175. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/schemas/automations.py +0 -0
  176. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  177. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/schemas/events.py +0 -0
  178. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/schemas/labelling.py +0 -0
  179. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/subscribers.py +0 -0
  180. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/utilities.py +0 -0
  181. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/events/worker.py +0 -0
  182. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/exceptions.py +0 -0
  183. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/filesystems.py +0 -0
  184. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/flow_engine.py +0 -0
  185. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/flows.py +0 -0
  186. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/futures.py +0 -0
  187. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/__init__.py +0 -0
  188. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/base.py +0 -0
  189. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  190. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  191. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  192. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  193. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  194. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  195. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/input/__init__.py +0 -0
  196. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/input/actions.py +0 -0
  197. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/input/run_input.py +0 -0
  198. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/locking/__init__.py +0 -0
  199. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/locking/filesystem.py +0 -0
  200. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/locking/memory.py +0 -0
  201. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/locking/protocol.py +0 -0
  202. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/__init__.py +0 -0
  203. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/clients.py +0 -0
  204. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/configuration.py +0 -0
  205. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/filters.py +0 -0
  206. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/formatters.py +0 -0
  207. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/handlers.py +0 -0
  208. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/highlighters.py +0 -0
  209. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/logging/loggers.py +0 -0
  210. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/plugins.py +0 -0
  211. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/py.typed +0 -0
  212. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/results.py +0 -0
  213. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runner/__init__.py +0 -0
  214. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runner/_observers.py +0 -0
  215. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runner/runner.py +0 -0
  216. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runner/server.py +0 -0
  217. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runtime/__init__.py +0 -0
  218. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runtime/deployment.py +0 -0
  219. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runtime/flow_run.py +0 -0
  220. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/runtime/task_run.py +0 -0
  221. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/schedules.py +0 -0
  222. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/__init__.py +0 -0
  223. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/admin.py +0 -0
  224. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/artifacts.py +0 -0
  225. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/automations.py +0 -0
  226. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/block_capabilities.py +0 -0
  227. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/block_documents.py +0 -0
  228. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/block_schemas.py +0 -0
  229. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/block_types.py +0 -0
  230. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/clients.py +0 -0
  231. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/collections.py +0 -0
  232. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  233. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/concurrency_limits.py +0 -0
  234. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  235. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/csrf_token.py +0 -0
  236. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/dependencies.py +0 -0
  237. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/deployments.py +0 -0
  238. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/events.py +0 -0
  239. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/flow_run_states.py +0 -0
  240. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/flow_runs.py +0 -0
  241. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/flows.py +0 -0
  242. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/logs.py +0 -0
  243. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/middleware.py +0 -0
  244. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/root.py +0 -0
  245. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/run_history.py +0 -0
  246. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/saved_searches.py +0 -0
  247. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/server.py +0 -0
  248. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  249. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/task_run_states.py +0 -0
  250. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/task_runs.py +0 -0
  251. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/task_workers.py +0 -0
  252. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/templates.py +0 -0
  253. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/ui/__init__.py +0 -0
  254. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/ui/flow_runs.py +0 -0
  255. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/ui/flows.py +0 -0
  256. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/ui/schemas.py +0 -0
  257. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/ui/task_runs.py +0 -0
  258. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/validation.py +0 -0
  259. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/variables.py +0 -0
  260. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/work_queues.py +0 -0
  261. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/server/api/workers.py +0 -0
  262. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/AGENTS.md +0 -0
  263. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/__init__.py +0 -0
  264. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/base.py +0 -0
  265. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/constants.py +0 -0
  266. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/context.py +0 -0
  267. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/legacy.py +0 -0
  268. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/__init__.py +0 -0
  269. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/_defaults.py +0 -0
  270. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/api.py +0 -0
  271. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/cli.py +0 -0
  272. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/client.py +0 -0
  273. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/cloud.py +0 -0
  274. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/deployments.py +0 -0
  275. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/experiments.py +0 -0
  276. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/flows.py +0 -0
  277. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/internal.py +0 -0
  278. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/logging.py +0 -0
  279. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/results.py +0 -0
  280. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/root.py +0 -0
  281. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/runner.py +0 -0
  282. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/__init__.py +0 -0
  283. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/api.py +0 -0
  284. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/concurrency.py +0 -0
  285. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/database.py +0 -0
  286. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/deployments.py +0 -0
  287. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/docket.py +0 -0
  288. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/ephemeral.py +0 -0
  289. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/events.py +0 -0
  290. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  291. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/logs.py +0 -0
  292. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/root.py +0 -0
  293. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/services.py +0 -0
  294. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/tasks.py +0 -0
  295. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/server/ui.py +0 -0
  296. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/tasks.py +0 -0
  297. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/testing.py +0 -0
  298. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/models/worker.py +0 -0
  299. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/profiles.py +0 -0
  300. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/profiles.toml +0 -0
  301. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/settings/sources.py +0 -0
  302. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/states.py +0 -0
  303. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/task_engine.py +0 -0
  304. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/task_runners.py +0 -0
  305. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/task_runs.py +0 -0
  306. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/task_worker.py +0 -0
  307. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/telemetry/__init__.py +0 -0
  308. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/telemetry/run_telemetry.py +0 -0
  309. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/transactions.py +0 -0
  310. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/types/__init__.py +0 -0
  311. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/types/_concurrency.py +0 -0
  312. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/types/_datetime.py +0 -0
  313. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/types/_schema.py +0 -0
  314. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/types/entrypoint.py +0 -0
  315. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/types/names.py +0 -0
  316. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/__init__.py +0 -0
  317. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/_ast.py +0 -0
  318. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/_deprecated.py +0 -0
  319. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/_engine.py +0 -0
  320. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/_git.py +0 -0
  321. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/annotations.py +0 -0
  322. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/asyncutils.py +0 -0
  323. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/callables.py +0 -0
  324. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/collections.py +0 -0
  325. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/compat.py +0 -0
  326. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/context.py +0 -0
  327. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/dispatch.py +0 -0
  328. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/dockerutils.py +0 -0
  329. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/engine.py +0 -0
  330. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/filesystem.py +0 -0
  331. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/generics.py +0 -0
  332. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/hashing.py +0 -0
  333. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/importtools.py +0 -0
  334. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/math.py +0 -0
  335. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/names.py +0 -0
  336. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/processutils.py +0 -0
  337. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/pydantic.py +0 -0
  338. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/render_swagger.py +0 -0
  339. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  340. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  341. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/services.py +0 -0
  342. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/slugify.py +0 -0
  343. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/templating.py +0 -0
  344. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/text.py +0 -0
  345. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/timeout.py +0 -0
  346. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/utilities/visualization.py +0 -0
  347. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/variables.py +0 -0
  348. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/__init__.py +0 -0
  349. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/block.py +0 -0
  350. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/cloud.py +0 -0
  351. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/process.py +0 -0
  352. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/server.py +0 -0
  353. {prefect_client-3.6.7.dev3 → prefect_client-3.6.8.dev3}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.6.7.dev3
3
+ Version: 3.6.8.dev3
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
@@ -12,21 +12,22 @@ if TYPE_CHECKING:
12
12
  from importlib.machinery import ModuleSpec
13
13
  from .main import (
14
14
  allow_failure,
15
+ aresume_flow_run,
16
+ aserve,
15
17
  flow,
16
18
  Flow,
17
19
  get_client,
18
20
  get_run_logger,
21
+ pause_flow_run,
22
+ resume_flow_run,
23
+ serve,
19
24
  State,
25
+ suspend_flow_run,
20
26
  tags,
21
27
  task,
22
28
  Task,
23
29
  Transaction,
24
30
  unmapped,
25
- serve,
26
- aserve,
27
- pause_flow_run,
28
- resume_flow_run,
29
- suspend_flow_run,
30
31
  )
31
32
  from prefect.deployments.runner import deploy
32
33
 
@@ -118,6 +119,7 @@ _initialize_plugins()
118
119
 
119
120
  _public_api: dict[str, tuple[Optional[str], str]] = {
120
121
  "allow_failure": (__spec__.parent, ".main"),
122
+ "aresume_flow_run": (__spec__.parent, ".main"),
121
123
  "aserve": (__spec__.parent, ".main"),
122
124
  "deploy": (__spec__.parent, ".deployments.runner"),
123
125
  "flow": (__spec__.parent, ".main"),
@@ -140,6 +142,7 @@ _public_api: dict[str, tuple[Optional[str], str]] = {
140
142
  __all__ = [
141
143
  "__version__",
142
144
  "allow_failure",
145
+ "aresume_flow_run",
143
146
  "aserve",
144
147
  "deploy",
145
148
  "flow",
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.6.8.dev3"
3
+ __build_date__ = "2025-12-24 08:10:20.347160+00:00"
4
+ __git_commit__ = "4baedb2efecfb4d82ce18b339ce16383da4a5754"
5
+ __dirty__ = False
@@ -38,14 +38,18 @@ logger: logging.Logger = get_logger(__name__)
38
38
 
39
39
 
40
40
  def _get_uv_path() -> str:
41
+ """
42
+ Get the path to the uv binary.
43
+
44
+ First tries to use the uv Python package to find the binary.
45
+ Falls back to "uv" string (assumes uv is in PATH).
46
+ """
41
47
  try:
42
48
  import uv
43
49
 
44
- uv_path = uv.find_uv_bin()
50
+ return uv.find_uv_bin()
45
51
  except (ImportError, ModuleNotFoundError, FileNotFoundError):
46
- uv_path = "uv"
47
-
48
- return uv_path
52
+ return "uv"
49
53
 
50
54
 
51
55
  class SerializedBundle(TypedDict):
@@ -679,7 +679,7 @@ class MattermostWebhook(AbstractAppriseNotificationBlock):
679
679
  token=self.token.get_secret_value(),
680
680
  fullpath=self.path,
681
681
  host=self.hostname,
682
- botname=self.botname,
682
+ user=self.botname,
683
683
  channels=self.channels,
684
684
  include_image=self.include_image,
685
685
  port=self.port,
@@ -1,6 +1,7 @@
1
1
  import inspect
2
2
  from copy import deepcopy
3
3
  from dataclasses import dataclass, field
4
+ from logging import Logger
4
5
  from pathlib import Path
5
6
  from typing import (
6
7
  TYPE_CHECKING,
@@ -16,6 +17,7 @@ from typing_extensions import Self
16
17
 
17
18
  from prefect.context import TaskRunContext
18
19
  from prefect.exceptions import HashError
20
+ from prefect.logging import get_logger
19
21
  from prefect.utilities.hashing import hash_objects
20
22
 
21
23
  if TYPE_CHECKING:
@@ -25,6 +27,8 @@ if TYPE_CHECKING:
25
27
 
26
28
  STABLE_TRANSFORMS: dict[type, Callable[[Any], Any]] = {}
27
29
 
30
+ logger: Logger = get_logger(__name__)
31
+
28
32
 
29
33
  def _register_stable_transforms() -> None:
30
34
  """
@@ -291,6 +295,13 @@ class TaskSource(CachePolicy):
291
295
  ) -> Optional[str]:
292
296
  if not task_ctx:
293
297
  return None
298
+
299
+ # Use stored source code if available (works after cloudpickle serialization)
300
+ lines = getattr(task_ctx.task, "source_code", None)
301
+ if lines is not None:
302
+ return hash_objects(lines, raise_on_failure=True)
303
+
304
+ # Fall back to inspect.getsource for local execution
294
305
  try:
295
306
  lines = inspect.getsource(task_ctx.task)
296
307
  except TypeError:
@@ -300,6 +311,7 @@ class TaskSource(CachePolicy):
300
311
  lines = task_ctx.task.fn.__code__.co_code
301
312
  else:
302
313
  raise
314
+
303
315
  return hash_objects(lines, raise_on_failure=True)
304
316
 
305
317
 
@@ -157,6 +157,12 @@ class DeploymentClient(BaseClient):
157
157
  payload["version_info"] = deployment_create.version_info.model_dump(
158
158
  mode="json"
159
159
  )
160
+ if deployment_create.concurrency_options:
161
+ payload["concurrency_options"] = (
162
+ deployment_create.concurrency_options.model_dump(
163
+ mode="json", exclude_unset=True
164
+ )
165
+ )
160
166
 
161
167
  try:
162
168
  response = self.request("POST", "/deployments/", json=payload)
@@ -823,6 +829,12 @@ class DeploymentAsyncClient(BaseAsyncClient):
823
829
  payload["version_info"] = deployment_create.version_info.model_dump(
824
830
  mode="json"
825
831
  )
832
+ if deployment_create.concurrency_options:
833
+ payload["concurrency_options"] = (
834
+ deployment_create.concurrency_options.model_dump(
835
+ mode="json", exclude_unset=True
836
+ )
837
+ )
826
838
 
827
839
  try:
828
840
  response = await self.request("POST", "/deployments/", json=payload)
@@ -281,7 +281,11 @@ class PrefectEventsClient(EventsClient):
281
281
  # Don't handle any errors in the initial connection, because these are most
282
282
  # likely a permission or configuration issue that should propagate
283
283
  await super().__aenter__()
284
- await self._reconnect()
284
+ try:
285
+ await self._reconnect()
286
+ except Exception as e:
287
+ self._log_connection_error(e)
288
+ raise
285
289
  return self
286
290
 
287
291
  async def __aexit__(
@@ -298,6 +302,18 @@ class PrefectEventsClient(EventsClient):
298
302
  message = f"EventsClient(id={id(self)}): " + message
299
303
  logger.debug(message, *args, **kwargs)
300
304
 
305
+ def _log_connection_error(self, error: Exception) -> None:
306
+ logger.warning(
307
+ "Unable to connect to %r. "
308
+ "Please check your network settings to ensure websocket connections "
309
+ "to the API are allowed. Otherwise event data (including task run data) may be lost. "
310
+ "Reason: %s. "
311
+ "Set PREFECT_DEBUG_MODE=1 to see the full error.",
312
+ self._events_socket_url,
313
+ str(error),
314
+ exc_info=PREFECT_DEBUG_MODE.value(),
315
+ )
316
+
301
317
  async def _reconnect(self) -> None:
302
318
  logger.debug("Reconnecting websocket connection.")
303
319
 
@@ -315,15 +331,10 @@ class PrefectEventsClient(EventsClient):
315
331
  await pong
316
332
  logger.debug("Pong received. Websocket connected.")
317
333
  except Exception as e:
318
- # The client is frequently run in a background thread
319
- # so we log an additional warning to ensure
320
- # surfacing the error to the user.
321
- logger.warning(
322
- "Unable to connect to %r. "
323
- "Please check your network settings to ensure websocket connections "
324
- "to the API are allowed. Otherwise event data (including task run data) may be lost. "
325
- "Reason: %s. "
326
- "Set PREFECT_DEBUG_MODE=1 to see the full error.",
334
+ # Log at debug level during reconnection attempts - the warning will
335
+ # only be logged if all reconnection attempts fail (in _emit)
336
+ logger.debug(
337
+ "Unable to connect to %r, will retry. Reason: %s",
327
338
  self._events_socket_url,
328
339
  str(e),
329
340
  exc_info=PREFECT_DEBUG_MODE.value(),
@@ -391,10 +402,11 @@ class PrefectEventsClient(EventsClient):
391
402
  await self._checkpoint()
392
403
 
393
404
  return
394
- except ConnectionClosed:
405
+ except ConnectionClosed as e:
395
406
  self._log_debug("Got ConnectionClosed error.")
396
407
  if i == self._reconnection_attempts:
397
- # this was our final chance, raise the most recent error
408
+ # this was our final chance, log warning and raise
409
+ self._log_connection_error(e)
398
410
  raise
399
411
 
400
412
  if i > 2:
@@ -11,6 +11,7 @@ from uuid import UUID, uuid4
11
11
 
12
12
  import anyio
13
13
 
14
+ from prefect._internal.compatibility.async_dispatch import async_dispatch
14
15
  from prefect.client.orchestration import PrefectClient, get_client
15
16
  from prefect.client.schemas import FlowRun
16
17
  from prefect.client.schemas.objects import (
@@ -42,9 +43,7 @@ from prefect.states import (
42
43
  Paused,
43
44
  Suspended,
44
45
  )
45
- from prefect.utilities.asyncutils import (
46
- sync_compatible,
47
- )
46
+ from prefect.utilities.asyncutils import sync_compatible
48
47
  from prefect.utilities.engine import (
49
48
  propose_state,
50
49
  )
@@ -459,28 +458,50 @@ async def suspend_flow_run(
459
458
  raise Pause(state=state)
460
459
 
461
460
 
462
- @sync_compatible
463
- async def resume_flow_run(
461
+ async def aresume_flow_run(
464
462
  flow_run_id: UUID, run_input: dict[str, Any] | None = None
465
463
  ) -> None:
466
464
  """
467
- Resumes a paused flow.
465
+ Resumes a paused flow asynchronously.
468
466
 
469
467
  Args:
470
468
  flow_run_id: the flow_run_id to resume
471
469
  run_input: a dictionary of inputs to provide to the flow run.
472
470
  """
473
- client = get_client()
474
- async with client:
471
+ async with get_client() as client:
475
472
  flow_run = await client.read_flow_run(flow_run_id)
476
473
 
477
- if not flow_run.state.is_paused():
474
+ if not flow_run.state or not flow_run.state.is_paused():
478
475
  raise NotPausedError("Cannot resume a run that isn't paused!")
479
476
 
480
477
  response = await client.resume_flow_run(flow_run_id, run_input=run_input)
481
478
 
482
479
  if response.status == SetStateStatus.REJECT:
483
- if response.state.type == StateType.FAILED:
480
+ if response.state and response.state.type == StateType.FAILED:
481
+ raise FlowPauseTimeout("Flow run can no longer be resumed.")
482
+ else:
483
+ raise RuntimeError(f"Cannot resume this run: {response.details.reason}")
484
+
485
+
486
+ @async_dispatch(aresume_flow_run)
487
+ def resume_flow_run(flow_run_id: UUID, run_input: dict[str, Any] | None = None) -> None:
488
+ """
489
+ Resumes a paused flow.
490
+
491
+ Args:
492
+ flow_run_id: the flow_run_id to resume
493
+ run_input: a dictionary of inputs to provide to the flow run.
494
+ """
495
+ with get_client(sync_client=True) as client:
496
+ flow_run = client.read_flow_run(flow_run_id)
497
+
498
+ if not flow_run.state or not flow_run.state.is_paused():
499
+ raise NotPausedError("Cannot resume a run that isn't paused!")
500
+
501
+ response = client.resume_flow_run(flow_run_id, run_input=run_input)
502
+
503
+ if response.status == SetStateStatus.REJECT:
504
+ if response.state and response.state.type == StateType.FAILED:
484
505
  raise FlowPauseTimeout("Flow run can no longer be resumed.")
485
506
  else:
486
507
  raise RuntimeError(f"Cannot resume this run: {response.details.reason}")
@@ -43,6 +43,7 @@ handlers:
43
43
  level: 0
44
44
  class: prefect.logging.handlers.PrefectConsoleHandler
45
45
  formatter: standard
46
+ stream: ext://sys.stderr
46
47
  styles:
47
48
  log.web_url: bright_blue
48
49
  log.local_url: bright_blue
@@ -69,6 +70,7 @@ handlers:
69
70
  level: 0
70
71
  class: logging.StreamHandler
71
72
  formatter: debug
73
+ stream: ext://sys.stderr
72
74
 
73
75
  worker_api:
74
76
  level: 0
@@ -8,7 +8,12 @@ from prefect.tasks import task, Task
8
8
  from prefect.context import tags
9
9
  from prefect.utilities.annotations import unmapped, allow_failure
10
10
  from prefect._result_records import ResultRecordMetadata
11
- from prefect.flow_runs import pause_flow_run, resume_flow_run, suspend_flow_run
11
+ from prefect.flow_runs import (
12
+ aresume_flow_run,
13
+ pause_flow_run,
14
+ resume_flow_run,
15
+ suspend_flow_run,
16
+ )
12
17
  from prefect.client.orchestration import get_client
13
18
  from prefect.client.cloud import get_cloud_client
14
19
  import prefect.variables # pyright: ignore[reportUnusedImport] # TODO: Does this need to be imported here?
@@ -58,20 +63,21 @@ flow: FlowDecorator
58
63
  # Declare API for type-checkers
59
64
  __all__ = [
60
65
  "allow_failure",
66
+ "aresume_flow_run",
67
+ "aserve",
61
68
  "flow",
62
69
  "Flow",
63
70
  "get_client",
64
71
  "get_cloud_client",
65
72
  "get_run_logger",
73
+ "pause_flow_run",
74
+ "resume_flow_run",
75
+ "serve",
66
76
  "State",
77
+ "suspend_flow_run",
67
78
  "tags",
68
79
  "task",
69
80
  "Task",
70
81
  "Transaction",
71
82
  "unmapped",
72
- "serve",
73
- "aserve",
74
- "pause_flow_run",
75
- "resume_flow_run",
76
- "suspend_flow_run",
77
83
  ]
@@ -919,7 +919,36 @@ def _format_token_from_credentials(
919
919
  if username:
920
920
  return f"{username}:{user_provided_token}"
921
921
 
922
- # Fallback for plain dict credentials without a block
922
+ # Netloc-based provider detection for dict credentials (e.g., from YAML block references).
923
+ # When credentials come from deployment YAML like:
924
+ # credentials: "{{ prefect.blocks.gitlab-credentials.my-block }}"
925
+ # they resolve to dicts, not Block instances, so the protocol check above doesn't apply.
926
+ # This provides sensible defaults for common git providers.
927
+ if "bitbucketserver" in netloc:
928
+ if ":" not in user_provided_token:
929
+ raise ValueError(
930
+ "Please provide a `username` and a `password` or `token` in your"
931
+ " BitBucketCredentials block to clone a repo from BitBucket Server."
932
+ )
933
+ return user_provided_token
934
+
935
+ elif "bitbucket" in netloc:
936
+ if (
937
+ user_provided_token.startswith("x-token-auth:")
938
+ or ":" in user_provided_token
939
+ ):
940
+ return user_provided_token
941
+ return f"x-token-auth:{user_provided_token}"
942
+
943
+ elif "gitlab" in netloc:
944
+ if user_provided_token.startswith("oauth2:"):
945
+ return user_provided_token
946
+ # Deploy tokens contain ":" (username:token format) and should not get oauth2: prefix
947
+ if ":" in user_provided_token:
948
+ return user_provided_token
949
+ return f"oauth2:{user_provided_token}"
950
+
951
+ # GitHub and other providers: plain token
923
952
  return user_provided_token
924
953
 
925
954
 
@@ -41,6 +41,21 @@ D = TypeVar("D", default=Any)
41
41
  _TYPE_ADAPTER_CACHE: dict[str, TypeAdapter[Any]] = {}
42
42
 
43
43
 
44
+ def _get_importable_class(cls: type) -> type:
45
+ """
46
+ Get an importable class from a potentially parameterized generic.
47
+
48
+ For Pydantic generic models like `APIResult[str]`, the class name includes
49
+ type parameters (e.g., `APIResult[str]`) which cannot be imported. This
50
+ function extracts the origin class (e.g., `APIResult`) which can be imported.
51
+ """
52
+ if hasattr(cls, "__pydantic_generic_metadata__"):
53
+ origin = cls.__pydantic_generic_metadata__.get("origin")
54
+ if origin is not None:
55
+ return origin
56
+ return cls
57
+
58
+
44
59
  def prefect_json_object_encoder(obj: Any) -> Any:
45
60
  """
46
61
  `JSONEncoder.default` for encoding objects into JSON with extended type support.
@@ -58,8 +73,9 @@ def prefect_json_object_encoder(obj: Any) -> Any:
58
73
  ),
59
74
  }
60
75
  else:
76
+ importable_class = _get_importable_class(obj.__class__)
61
77
  return {
62
- "__class__": to_qualified_name(obj.__class__),
78
+ "__class__": to_qualified_name(importable_class),
63
79
  "data": custom_pydantic_encoder({}, obj),
64
80
  }
65
81
 
@@ -1,15 +1,16 @@
1
1
  import asyncio
2
2
  from contextlib import asynccontextmanager
3
+ from logging import Logger
3
4
  from typing import Any, AsyncGenerator, Callable
4
5
 
5
6
  from docket import Docket, Worker
6
7
 
8
+ from prefect.logging import get_logger
7
9
  from prefect.server.api.flow_runs import delete_flow_run_logs
8
10
  from prefect.server.api.task_runs import delete_task_run_logs
11
+ from prefect.server.events.services import triggers as _triggers_module # noqa: F401
9
12
  from prefect.server.models.deployments import mark_deployments_ready
10
13
  from prefect.server.models.work_queues import mark_work_queues_ready
11
-
12
- # Import task functions that need to be registered with docket
13
14
  from prefect.server.services.cancellation_cleanup import (
14
15
  cancel_child_task_runs,
15
16
  cancel_subflow_run,
@@ -21,6 +22,8 @@ from prefect.server.services.perpetual_services import (
21
22
  )
22
23
  from prefect.server.services.repossessor import revoke_expired_lease
23
24
 
25
+ logger: Logger = get_logger(__name__)
26
+
24
27
  # Task functions to register with docket for background processing
25
28
  task_functions: list[Callable[..., Any]] = [
26
29
  # Simple background tasks (from Alex's PR #19377)
@@ -63,6 +66,16 @@ async def background_worker(
63
66
  if worker_task:
64
67
  worker_task.cancel()
65
68
  try:
66
- await worker_task
69
+ logger.debug(
70
+ "Waiting for background worker to finish after cancellation..."
71
+ )
72
+ await asyncio.wait_for(worker_task, timeout=5.0)
73
+ logger.debug(
74
+ "Background worker finished successfully after cancellation"
75
+ )
76
+ except asyncio.TimeoutError:
77
+ logger.debug(
78
+ "Background worker did not finish within 5 seconds after cancellation. Proceeding with shutdown"
79
+ )
67
80
  except asyncio.CancelledError:
68
81
  pass
@@ -456,6 +456,14 @@ class Task(Generic[P, R]):
456
456
  update_wrapper(self, fn)
457
457
  self.fn = fn
458
458
 
459
+ # Capture source code for cache key computation
460
+ # This is stored on the task so it survives cloudpickle serialization
461
+ # to remote environments where the source file is not available
462
+ try:
463
+ self.source_code: str | None = inspect.getsource(fn)
464
+ except (TypeError, OSError):
465
+ self.source_code = None
466
+
459
467
  # the task is considered async if its function is async or an async
460
468
  # generator
461
469
  self.isasync: bool = inspect.iscoroutinefunction(
@@ -1088,17 +1096,17 @@ class Task(Generic[P, R]):
1088
1096
  # These preserve full parameter type checking when users call tasks normally
1089
1097
  @overload
1090
1098
  def __call__(
1091
- self: "Task[P, Coroutine[Any, Any, R]]",
1099
+ self: "Task[P, Coroutine[Any, Any, T]]",
1092
1100
  *args: P.args,
1093
1101
  **kwargs: P.kwargs,
1094
- ) -> Coroutine[Any, Any, R]: ...
1102
+ ) -> Coroutine[Any, Any, T]: ...
1095
1103
 
1096
1104
  @overload
1097
1105
  def __call__(
1098
- self: "Task[P, R]",
1106
+ self: "Task[P, T]",
1099
1107
  *args: P.args,
1100
1108
  **kwargs: P.kwargs,
1101
- ) -> R: ...
1109
+ ) -> T: ...
1102
1110
 
1103
1111
  @overload
1104
1112
  def __call__(
@@ -1116,65 +1124,65 @@ class Task(Generic[P, R]):
1116
1124
  # are advanced use cases.
1117
1125
  @overload
1118
1126
  def __call__(
1119
- self: "Task[..., Coroutine[Any, Any, R]]",
1127
+ self: "Task[..., Coroutine[Any, Any, T]]",
1120
1128
  *args: Any,
1121
1129
  return_state: Literal[False],
1122
1130
  wait_for: Optional[OneOrManyFutureOrResult[Any]] = None,
1123
1131
  **kwargs: Any,
1124
- ) -> Coroutine[Any, Any, R]: ...
1132
+ ) -> Coroutine[Any, Any, T]: ...
1125
1133
 
1126
1134
  @overload
1127
1135
  def __call__(
1128
- self: "Task[..., Coroutine[Any, Any, R]]",
1136
+ self: "Task[..., Coroutine[Any, Any, T]]",
1129
1137
  *args: Any,
1130
1138
  return_state: Literal[True],
1131
1139
  wait_for: Optional[OneOrManyFutureOrResult[Any]] = None,
1132
1140
  **kwargs: Any,
1133
- ) -> State[R]: ...
1141
+ ) -> State[T]: ...
1134
1142
 
1135
1143
  @overload
1136
1144
  def __call__(
1137
- self: "Task[..., R]",
1145
+ self: "Task[..., T]",
1138
1146
  *args: Any,
1139
1147
  return_state: Literal[False],
1140
1148
  wait_for: Optional[OneOrManyFutureOrResult[Any]] = None,
1141
1149
  **kwargs: Any,
1142
- ) -> R: ...
1150
+ ) -> T: ...
1143
1151
 
1144
1152
  @overload
1145
1153
  def __call__(
1146
- self: "Task[..., R]",
1154
+ self: "Task[..., T]",
1147
1155
  *args: Any,
1148
1156
  return_state: Literal[True],
1149
1157
  wait_for: Optional[OneOrManyFutureOrResult[Any]] = None,
1150
1158
  **kwargs: Any,
1151
- ) -> State[R]: ...
1159
+ ) -> State[T]: ...
1152
1160
 
1153
1161
  @overload
1154
1162
  def __call__(
1155
- self: "Task[..., Coroutine[Any, Any, R]]",
1163
+ self: "Task[..., Coroutine[Any, Any, T]]",
1156
1164
  *args: Any,
1157
1165
  wait_for: OneOrManyFutureOrResult[Any],
1158
1166
  return_state: Literal[False] = False,
1159
1167
  **kwargs: Any,
1160
- ) -> Coroutine[Any, Any, R]: ...
1168
+ ) -> Coroutine[Any, Any, T]: ...
1161
1169
 
1162
1170
  @overload
1163
1171
  def __call__(
1164
- self: "Task[..., R]",
1172
+ self: "Task[..., T]",
1165
1173
  *args: Any,
1166
1174
  wait_for: OneOrManyFutureOrResult[Any],
1167
1175
  return_state: Literal[False] = False,
1168
1176
  **kwargs: Any,
1169
- ) -> R: ...
1177
+ ) -> T: ...
1170
1178
 
1171
1179
  def __call__(
1172
- self: "Union[Task[..., R], Task[..., NoReturn]]",
1180
+ self: "Union[Task[..., T], Task[..., NoReturn]]",
1173
1181
  *args: Any,
1174
1182
  return_state: bool = False,
1175
1183
  wait_for: Optional[OneOrManyFutureOrResult[Any]] = None,
1176
1184
  **kwargs: Any,
1177
- ) -> Union[R, State[R], None]:
1185
+ ) -> Union[T, State[T], None]:
1178
1186
  """
1179
1187
  Run the task and return the result. If `return_state` is True returns
1180
1188
  the result is wrapped in a Prefect State which provides error handling.
@@ -257,7 +257,7 @@ def preprocess_schema(
257
257
 
258
258
  if "definitions" in schema: # Also process definitions for reused models
259
259
  definitions = cast(dict[str, Any], schema["definitions"])
260
- for definition in definitions.values():
260
+ for definition in list(definitions.values()):
261
261
  if "properties" in definition:
262
262
  required_fields = definition.get("required", [])
263
263
  process_properties(
@@ -4,7 +4,7 @@ import socket
4
4
  import urllib.parse
5
5
  from logging import Logger
6
6
  from string import Formatter
7
- from typing import TYPE_CHECKING, Any, Literal, Optional, Union
7
+ from typing import TYPE_CHECKING, Any, Literal, Optional, Union, cast
8
8
  from urllib.parse import urlparse
9
9
  from uuid import UUID
10
10
 
@@ -251,9 +251,13 @@ def url_for(
251
251
  )
252
252
  assert url_format is not None
253
253
 
254
- if isinstance(obj, ReceivedEvent):
254
+ # Use duck-typing to handle both client-side and server-side ReceivedEvent
255
+ if name == "received-event" and hasattr(obj, "occurred"):
256
+ # Cast to ReceivedEvent for type checking - we've verified it has the
257
+ # required attributes via hasattr and name check above
258
+ event = cast(ReceivedEvent, obj)
255
259
  url = url_format.format(
256
- occurred=obj.occurred.strftime("%Y-%m-%d"), obj_id=obj_id
260
+ occurred=event.occurred.strftime("%Y-%m-%d"), obj_id=obj_id
257
261
  )
258
262
  else:
259
263
  obj_keys = [
@@ -536,7 +536,6 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
536
536
  self._limit = limit
537
537
  self._limiter: Optional[anyio.CapacityLimiter] = None
538
538
  self._submitting_flow_run_ids: set[UUID] = set()
539
- self._cancelling_flow_run_ids: set[UUID] = set()
540
539
  self._scheduled_task_scopes: set[anyio.CancelScope] = set()
541
540
  self._worker_metadata_sent = False
542
541
 
@@ -1539,13 +1538,6 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
1539
1538
  f"Flow run '{flow_run.id}' was deleted before it could be marked as cancelled"
1540
1539
  )
1541
1540
 
1542
- # Do not remove the flow run from the cancelling set immediately because
1543
- # the API caches responses for the `read_flow_runs` and we do not want to
1544
- # duplicate cancellations.
1545
- await self._schedule_task(
1546
- 60 * 10, self._cancelling_flow_run_ids.remove, flow_run.id
1547
- )
1548
-
1549
1541
  async def _set_work_pool_template(
1550
1542
  self, work_pool: "WorkPool", job_template: dict[str, Any]
1551
1543
  ):
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.6.7.dev3"
3
- __build_date__ = "2025-12-14 08:08:36.890421+00:00"
4
- __git_commit__ = "96ab33fd33df46b6a16e3015b5bd1131e61f3ee1"
5
- __dirty__ = False