prefect-client 3.7.5.dev6__tar.gz → 3.7.6__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 (451) hide show
  1. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/PKG-INFO +1 -1
  2. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/AGENTS.md +1 -0
  3. prefect_client-3.7.6/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/flow_engine.py +2 -0
  5. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/server.py +32 -1
  6. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/workers.py +36 -3
  7. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/task_engine.py +4 -1
  8. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/tasks.py +15 -2
  9. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/asyncutils/__init__.py +19 -1
  10. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/engine/__init__.py +45 -4
  11. prefect_client-3.7.5.dev6/src/prefect/_build_info.py +0 -5
  12. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/.gitignore +0 -0
  13. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/LICENSE +0 -0
  14. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/README.md +0 -0
  15. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/hatch_build.py +0 -0
  16. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/pyproject.toml +0 -0
  17. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/.prefectignore +0 -0
  18. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/__init__.py +0 -0
  19. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/__main__.py +0 -0
  20. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/__init__.py +0 -0
  21. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/_launchers.py +0 -0
  22. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/bundles/__init__.py +0 -0
  23. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/bundles/execute.py +0 -0
  24. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/plugins/__init__.py +0 -0
  25. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/plugins/apply.py +0 -0
  26. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  27. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/plugins/manager.py +0 -0
  28. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/plugins/spec.py +0 -0
  29. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/sla/__init__.py +0 -0
  30. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/sla/client.py +0 -0
  31. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_experimental/sla/objects.py +0 -0
  32. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_flow_run_suspension.py +0 -0
  33. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/__init__.py +0 -0
  34. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/_logging.py +0 -0
  35. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/__init__.py +0 -0
  36. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/ci_detection.py +0 -0
  37. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/client.py +0 -0
  38. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/device_id.py +0 -0
  39. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/emit.py +0 -0
  40. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/enabled.py +0 -0
  41. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/events.py +0 -0
  42. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/milestones.py +0 -0
  43. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/notice.py +0 -0
  44. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/analytics/service.py +0 -0
  45. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/ast_utils.py +0 -0
  46. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/buildx.py +0 -0
  47. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/__init__.py +0 -0
  48. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  49. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/backports.py +0 -0
  50. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/blocks.py +0 -0
  51. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  52. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
  53. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/migration.py +0 -0
  54. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/compatibility/starlette.py +0 -0
  55. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/__init__.py +0 -0
  56. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/api.py +0 -0
  57. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/calls.py +0 -0
  58. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  59. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  60. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/inspection.py +0 -0
  61. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/primitives.py +0 -0
  62. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/services.py +0 -0
  63. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/threads.py +0 -0
  64. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/concurrency/waiters.py +0 -0
  65. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/control_listener.py +0 -0
  66. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/deprecated.py +0 -0
  67. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/engine.py +0 -0
  68. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/git.py +0 -0
  69. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
  70. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/installation.py +0 -0
  71. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/integrations.py +0 -0
  72. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/launchers.py +0 -0
  73. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/lazy.py +0 -0
  74. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/metrics.py +0 -0
  75. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/observability.py +0 -0
  76. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/observers.py +0 -0
  77. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/__init__.py +0 -0
  78. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/apply.py +0 -0
  79. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/collections.py +0 -0
  80. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/diagnostics.py +0 -0
  81. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/manager.py +0 -0
  82. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/spec.py +0 -0
  83. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/plugins/startup.py +0 -0
  84. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/pydantic/__init__.py +0 -0
  85. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/pydantic/schemas.py +0 -0
  86. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  87. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  88. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  89. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/pytz.py +0 -0
  90. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/result_records.py +0 -0
  91. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/retries.py +0 -0
  92. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schema.py +0 -0
  93. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schemas/__init__.py +0 -0
  94. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schemas/_registry.py +0 -0
  95. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schemas/bases.py +0 -0
  96. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schemas/fields.py +0 -0
  97. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schemas/serializers.py +0 -0
  98. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/schemas/validators.py +0 -0
  99. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
  100. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/states.py +0 -0
  101. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/testing.py +0 -0
  102. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/urls.py +0 -0
  103. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/uuid7.py +0 -0
  104. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/version_checking.py +0 -0
  105. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/versioning.py +0 -0
  106. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/waiters.py +0 -0
  107. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_internal/websockets.py +0 -0
  108. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/__init__.py +0 -0
  109. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/fetcher.py +0 -0
  110. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/generator.py +0 -0
  111. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/models.py +0 -0
  112. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/naming.py +0 -0
  113. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/renderer.py +0 -0
  114. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/schema_converter.py +0 -0
  115. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/templates/__init__.py +0 -0
  116. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
  117. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/types.py +0 -0
  118. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_sdk/unions.py +0 -0
  119. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_vendor/croniter/__init__.py +0 -0
  120. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/_vendor/croniter/croniter.py +0 -0
  121. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/agent.py +0 -0
  122. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/analytics/__init__.py +0 -0
  123. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/artifacts.py +0 -0
  124. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/assets/__init__.py +0 -0
  125. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/assets/core.py +0 -0
  126. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/assets/materialize.py +0 -0
  127. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/automations.py +0 -0
  128. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/AGENTS.md +0 -0
  129. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/__init__.py +0 -0
  130. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/abstract.py +0 -0
  131. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/core.py +0 -0
  132. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/fields.py +0 -0
  133. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/notifications.py +0 -0
  134. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/redis.py +0 -0
  135. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/system.py +0 -0
  136. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/blocks/webhook.py +0 -0
  137. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/__init__.py +0 -0
  138. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/_file_collector.py +0 -0
  139. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/_ignore_filter.py +0 -0
  140. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/_path_resolver.py +0 -0
  141. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/_zip_builder.py +0 -0
  142. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/_zip_extractor.py +0 -0
  143. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/bundles/execute.py +0 -0
  144. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/cache_policies.py +0 -0
  145. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/AGENTS.md +0 -0
  146. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/__init__.py +0 -0
  147. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/attribution.py +0 -0
  148. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/base.py +0 -0
  149. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/cloud.py +0 -0
  150. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/collections.py +0 -0
  151. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/constants.py +0 -0
  152. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/__init__.py +0 -0
  153. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  154. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  155. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  156. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_automations/client.py +0 -0
  157. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  158. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  159. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  160. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  161. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  162. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  163. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  164. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  165. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  166. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  167. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  168. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_events/client.py +0 -0
  169. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  170. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  171. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  172. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_flows/client.py +0 -0
  173. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  174. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_logs/client.py +0 -0
  175. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  176. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_variables/client.py +0 -0
  177. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  178. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  179. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/base.py +0 -0
  180. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/orchestration/routes.py +0 -0
  181. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/__init__.py +0 -0
  182. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/actions.py +0 -0
  183. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/events.py +0 -0
  184. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/filters.py +0 -0
  185. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/objects.py +0 -0
  186. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/responses.py +0 -0
  187. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/schedules.py +0 -0
  188. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/sorting.py +0 -0
  189. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/schemas/worker_channel.py +0 -0
  190. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/subscriptions.py +0 -0
  191. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/types/__init__.py +0 -0
  192. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  193. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/client/utilities.py +0 -0
  194. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/AGENTS.md +0 -0
  195. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/__init__.py +0 -0
  196. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/_asyncio.py +0 -0
  197. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/_events.py +0 -0
  198. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/_leases.py +0 -0
  199. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/_sync.py +0 -0
  200. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/asyncio.py +0 -0
  201. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/context.py +0 -0
  202. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/services.py +0 -0
  203. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/sync.py +0 -0
  204. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/__init__.py +0 -0
  205. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  206. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/_events.py +0 -0
  207. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/asyncio.py +0 -0
  208. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/context.py +0 -0
  209. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/services.py +0 -0
  210. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/concurrency/v1/sync.py +0 -0
  211. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/context.py +0 -0
  212. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/AGENTS.md +0 -0
  213. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/__init__.py +0 -0
  214. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/base.py +0 -0
  215. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/deployments.py +0 -0
  216. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/flow_runs.py +0 -0
  217. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/runner.py +0 -0
  218. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/schedules.py +0 -0
  219. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/steps/__init__.py +0 -0
  220. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/steps/core.py +0 -0
  221. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/steps/pull.py +0 -0
  222. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/deployments/steps/utility.py +0 -0
  223. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/docker/__init__.py +0 -0
  224. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/docker/_buildx.py +0 -0
  225. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/docker/docker_image.py +0 -0
  226. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/engine.py +0 -0
  227. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/AGENTS.md +0 -0
  228. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/__init__.py +0 -0
  229. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/actions.py +0 -0
  230. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/clients.py +0 -0
  231. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/filters.py +0 -0
  232. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/related.py +0 -0
  233. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/schemas/__init__.py +0 -0
  234. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/schemas/automations.py +0 -0
  235. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  236. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/schemas/events.py +0 -0
  237. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/schemas/labelling.py +0 -0
  238. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/subscribers.py +0 -0
  239. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/utilities.py +0 -0
  240. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/events/worker.py +0 -0
  241. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/exceptions.py +0 -0
  242. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/filesystems.py +0 -0
  243. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/flow_runs.py +0 -0
  244. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/flows.py +0 -0
  245. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/futures.py +0 -0
  246. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/__init__.py +0 -0
  247. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/base.py +0 -0
  248. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  249. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  250. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  251. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  252. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  253. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  254. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/input/__init__.py +0 -0
  255. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/input/actions.py +0 -0
  256. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/input/run_input.py +0 -0
  257. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/locking/__init__.py +0 -0
  258. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/locking/_filelock.py +0 -0
  259. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/locking/filesystem.py +0 -0
  260. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/locking/memory.py +0 -0
  261. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/locking/protocol.py +0 -0
  262. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/AGENTS.md +0 -0
  263. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/__init__.py +0 -0
  264. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/clients.py +0 -0
  265. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/configuration.py +0 -0
  266. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/filters.py +0 -0
  267. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/formatters.py +0 -0
  268. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/handlers.py +0 -0
  269. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/highlighters.py +0 -0
  270. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/loggers.py +0 -0
  271. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/logging/logging.yml +0 -0
  272. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/main.py +0 -0
  273. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/plugins.py +0 -0
  274. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/py.typed +0 -0
  275. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/results.py +0 -0
  276. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/AGENTS.md +0 -0
  277. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/__init__.py +0 -0
  278. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_cancel_finalizer.py +0 -0
  279. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_cancellation_manager.py +0 -0
  280. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_control_channel.py +0 -0
  281. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_deployment_registry.py +0 -0
  282. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_event_emitter.py +0 -0
  283. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_flow_resolver.py +0 -0
  284. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_flow_run_executor.py +0 -0
  285. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_hook_runner.py +0 -0
  286. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_limit_manager.py +0 -0
  287. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_process_manager.py +0 -0
  288. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_scheduled_run_poller.py +0 -0
  289. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_starter_bundle.py +0 -0
  290. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_starter_direct.py +0 -0
  291. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_starter_engine.py +0 -0
  292. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_state_proposer.py +0 -0
  293. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_workspace_resolver.py +0 -0
  294. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/_workspace_starter.py +0 -0
  295. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/runner.py +0 -0
  296. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/server.py +0 -0
  297. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runner/storage.py +0 -0
  298. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runtime/__init__.py +0 -0
  299. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runtime/deployment.py +0 -0
  300. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runtime/flow_run.py +0 -0
  301. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/runtime/task_run.py +0 -0
  302. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/schedules.py +0 -0
  303. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/serializers.py +0 -0
  304. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/__init__.py +0 -0
  305. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/_ui_static.py +0 -0
  306. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/admin.py +0 -0
  307. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/artifacts.py +0 -0
  308. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/automations.py +0 -0
  309. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/background_workers.py +0 -0
  310. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/block_capabilities.py +0 -0
  311. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/block_documents.py +0 -0
  312. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/block_schemas.py +0 -0
  313. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/block_types.py +0 -0
  314. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/clients.py +0 -0
  315. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/collections.py +0 -0
  316. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  317. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/concurrency_limits.py +0 -0
  318. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  319. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/csrf_token.py +0 -0
  320. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/dependencies.py +0 -0
  321. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/deployments.py +0 -0
  322. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/events.py +0 -0
  323. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/flow_run_states.py +0 -0
  324. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/flow_runs.py +0 -0
  325. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/flows.py +0 -0
  326. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/logs.py +0 -0
  327. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/middleware.py +0 -0
  328. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/root.py +0 -0
  329. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/run_history.py +0 -0
  330. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/saved_searches.py +0 -0
  331. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  332. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/task_run_states.py +0 -0
  333. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/task_runs.py +0 -0
  334. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/task_workers.py +0 -0
  335. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/templates.py +0 -0
  336. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/ui/__init__.py +0 -0
  337. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/ui/flow_runs.py +0 -0
  338. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/ui/flows.py +0 -0
  339. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/ui/schemas.py +0 -0
  340. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/ui/task_runs.py +0 -0
  341. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/validation.py +0 -0
  342. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/variables.py +0 -0
  343. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/server/api/work_queues.py +0 -0
  344. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/AGENTS.md +0 -0
  345. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/__init__.py +0 -0
  346. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/_types.py +0 -0
  347. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/base.py +0 -0
  348. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/constants.py +0 -0
  349. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/context.py +0 -0
  350. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/legacy.py +0 -0
  351. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/__init__.py +0 -0
  352. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/_defaults.py +0 -0
  353. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/api.py +0 -0
  354. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/cli.py +0 -0
  355. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/client.py +0 -0
  356. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/cloud.py +0 -0
  357. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/deployments.py +0 -0
  358. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/events.py +0 -0
  359. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/experiments.py +0 -0
  360. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/flows.py +0 -0
  361. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/internal.py +0 -0
  362. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/logging.py +0 -0
  363. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/plugins.py +0 -0
  364. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/results.py +0 -0
  365. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/root.py +0 -0
  366. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/runner.py +0 -0
  367. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/__init__.py +0 -0
  368. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/api.py +0 -0
  369. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/concurrency.py +0 -0
  370. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/database.py +0 -0
  371. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/deployments.py +0 -0
  372. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/docket.py +0 -0
  373. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/ephemeral.py +0 -0
  374. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/events.py +0 -0
  375. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  376. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/logs.py +0 -0
  377. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/root.py +0 -0
  378. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/services.py +0 -0
  379. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/tasks.py +0 -0
  380. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/ui.py +0 -0
  381. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/server/worker_channel.py +0 -0
  382. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/tasks.py +0 -0
  383. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/telemetry.py +0 -0
  384. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/testing.py +0 -0
  385. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/models/worker.py +0 -0
  386. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/profiles.py +0 -0
  387. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/profiles.toml +0 -0
  388. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/settings/sources.py +0 -0
  389. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/states.py +0 -0
  390. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/task_runners.py +0 -0
  391. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/task_runs.py +0 -0
  392. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/task_worker.py +0 -0
  393. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/telemetry/__init__.py +0 -0
  394. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/telemetry/run_telemetry.py +0 -0
  395. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/transactions.py +0 -0
  396. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/types/__init__.py +0 -0
  397. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/types/_concurrency.py +0 -0
  398. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/types/_datetime.py +0 -0
  399. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/types/entrypoint.py +0 -0
  400. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/types/names.py +0 -0
  401. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/AGENTS.md +0 -0
  402. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/__init__.py +0 -0
  403. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/annotations.py +0 -0
  404. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
  405. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/callables/AGENTS.md +0 -0
  406. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/callables/__init__.py +0 -0
  407. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/collections.py +0 -0
  408. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/compat.py +0 -0
  409. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/context.py +0 -0
  410. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/dispatch.py +0 -0
  411. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/dockerutils.py +0 -0
  412. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/engine/AGENTS.md +0 -0
  413. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
  414. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/filesystem/__init__.py +0 -0
  415. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/generics.py +0 -0
  416. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/hashing.py +0 -0
  417. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/importtools.py +0 -0
  418. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/math.py +0 -0
  419. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/names.py +0 -0
  420. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/processutils/AGENTS.md +0 -0
  421. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/processutils/__init__.py +0 -0
  422. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/pydantic.py +0 -0
  423. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/render_swagger.py +0 -0
  424. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
  425. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  426. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  427. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/schema_tools/validation.py +0 -0
  428. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/services.py +0 -0
  429. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/slugify.py +0 -0
  430. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/templating/AGENTS.md +0 -0
  431. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/templating/__init__.py +0 -0
  432. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/text.py +0 -0
  433. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/timeout.py +0 -0
  434. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/urls.py +0 -0
  435. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/utilities/visualization.py +0 -0
  436. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/variables.py +0 -0
  437. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/AGENTS.md +0 -0
  438. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/__init__.py +0 -0
  439. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_cleanup.py +0 -0
  440. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_cleanup_handlers.py +0 -0
  441. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_worker_channel/__init__.py +0 -0
  442. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
  443. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_worker_channel/_state.py +0 -0
  444. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_worker_channel/_sync.py +0 -0
  445. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/_worker_channel/_transport.py +0 -0
  446. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/base.py +0 -0
  447. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/block.py +0 -0
  448. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/cloud.py +0 -0
  449. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/process.py +0 -0
  450. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/src/prefect/workers/server.py +0 -0
  451. {prefect_client-3.7.5.dev6 → prefect_client-3.7.6}/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.7.5.dev6
3
+ Version: 3.7.6
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
@@ -34,6 +34,7 @@ There is no formal public/private boundary beyond the `_` prefix convention. Mod
34
34
  - **`ResultRecordMetadata` tolerates unknown serializer types.** When loading persisted metadata, an unrecognized serializer `type` is converted to an `UnknownSerializer` placeholder rather than raising `ValidationError`. This allows inspecting result metadata when the serializer implementation is unavailable in the current environment. However, known serializer types with invalid fields still raise `ValidationError`. `UnknownSerializer.dumps()` and `UnknownSerializer.loads()` raise `RuntimeError` — the tolerance is for inspection only, not actual serialization/deserialization.
35
35
  - **`ResultRecord` must be marked persisted after every storage write.** `ResultStore` calls `mark_persisted()` on every record it writes; `to_state_create` in `states.py` consults `is_persisted` as a fallback when `should_persist_result()` returns `False` (e.g., after run context teardown). Any new sync or async persist path that omits `mark_persisted()` will silently drop state metadata for already-written results.
36
36
  - **Flow-run suspension is enforced at orchestration boundaries.** Suspension is delivered via `FlowRunSuspensionRequest` and raised with `raise_if_flow_run_suspension_requested()`. When changing engines, futures, task runners, or generator execution, check before returning control to flow user code or proposing a flow state that could leave `Suspended`; keep sync/async paths aligned and avoid per-boundary API reads.
37
+ - **Subflow tracking tasks use UUID dynamic keys when called from within a submitted task.** `flow_engine.py` marks the synthetic tracking `Task` with `_is_subflow_tracking_task=True`; `tasks.py` checks this flag to assign UUID-based (unstable) `dynamic_key` values when the tracking task runs inside a submitted task context. This prevents key collisions between concurrent sibling subflows on parent-flow retry. Direct subflow calls (no enclosing task context) keep stable sequential keys to preserve the retry optimization that reuses completed subflow results.
37
38
 
38
39
  ## Logging
39
40
 
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.7.6"
3
+ __build_date__ = "2026-06-25 23:04:17.505752+00:00"
4
+ __git_commit__ = "7d0d48467f5fc83fe91c22a5722078d4b1fd96a2"
5
+ __dirty__ = False
@@ -972,6 +972,7 @@ class FlowRunEngine(BaseFlowRunEngine[P, R]):
972
972
  parent_task = Task(
973
973
  name=self.flow.name, fn=self.flow.fn, version=self.flow.version
974
974
  )
975
+ setattr(parent_task, "_is_subflow_tracking_task", True)
975
976
 
976
977
  parent_task_run = run_coro_as_sync(
977
978
  parent_task.create_run(
@@ -1667,6 +1668,7 @@ class AsyncFlowRunEngine(BaseFlowRunEngine[P, R]):
1667
1668
  parent_task = Task(
1668
1669
  name=self.flow.name, fn=self.flow.fn, version=self.flow.version
1669
1670
  )
1671
+ setattr(parent_task, "_is_subflow_tracking_task", True)
1670
1672
 
1671
1673
  parent_task_run = await parent_task.create_run(
1672
1674
  flow_run_context=flow_run_ctx,
@@ -52,6 +52,7 @@ import prefect.settings
52
52
  from prefect._internal.compatibility.starlette import status
53
53
  from prefect._internal.observability import configure_logfire
54
54
  from prefect.client.constants import SERVER_API_VERSION
55
+ from prefect.locking._filelock import FileLock
55
56
  from prefect.logging import get_logger
56
57
  from prefect.server.api._ui_static import UIBundle, UIVersion, log_ui_static_copy_error
57
58
  from prefect.server.api.background_workers import background_worker
@@ -739,8 +740,20 @@ def create_ui_app(ephemeral: bool) -> FastAPI:
739
740
  continue
740
741
 
741
742
  if not reference_file_matches_cache_key(bundle):
743
+ lock_path = os.path.join(
744
+ os.path.dirname(bundle.static_dir),
745
+ f".{bundle.version}_ui_static.lock",
746
+ )
747
+ lock = FileLock(lock_path, timeout=90)
742
748
  try:
743
- create_ui_static_subpath(bundle)
749
+ lock.acquire()
750
+ try:
751
+ # Re-check after acquiring the lock; another worker
752
+ # may have completed the copy while we waited.
753
+ if not reference_file_matches_cache_key(bundle):
754
+ create_ui_static_subpath(bundle)
755
+ finally:
756
+ lock.release()
744
757
  except OSError as exc:
745
758
  log_ui_static_copy_error(bundle, exc, logger)
746
759
  continue
@@ -843,6 +856,22 @@ def _memoize_block_auto_registration(
843
856
  return wrapper
844
857
 
845
858
 
859
+ def _log_worker_channel_config() -> None:
860
+ """Log worker channel queue backend and key configuration at startup."""
861
+ wc_settings = prefect.settings.get_current_settings().server.worker_channel
862
+ logger.debug(
863
+ "Worker channel configuration: "
864
+ "cleanup_queue_storage=%s "
865
+ "cleanup_lease_seconds=%s "
866
+ "cleanup_max_delivery_attempts=%s "
867
+ "cleanup_completed_idempotency_retention_seconds=%s",
868
+ wc_settings.cleanup_queue_storage,
869
+ wc_settings.cleanup_lease_seconds,
870
+ wc_settings.cleanup_max_delivery_attempts,
871
+ wc_settings.cleanup_completed_idempotency_retention_seconds,
872
+ )
873
+
874
+
846
875
  def create_app(
847
876
  settings: Optional[prefect.settings.Settings] = None,
848
877
  ephemeral: bool = False,
@@ -912,6 +941,8 @@ def create_app(
912
941
  await run_migrations()
913
942
  await add_block_types()
914
943
 
944
+ _log_worker_channel_config()
945
+
915
946
  Services: type[Service] | None = (
916
947
  RunInWebservers
917
948
  if webserver_only
@@ -409,6 +409,15 @@ async def _build_worker_ready_frame(
409
409
  if capability not in accepted_set
410
410
  ]
411
411
 
412
+ if rejected:
413
+ logger.debug(
414
+ "Worker channel capabilities rejected: "
415
+ "work_pool=%s worker_name=%s rejected=%s",
416
+ work_pool_name,
417
+ hello.payload.worker_name,
418
+ rejected,
419
+ )
420
+
412
421
  return (
413
422
  WorkerReadyFrame(
414
423
  type="worker.ready.v1",
@@ -1154,17 +1163,41 @@ async def worker_channel_connect(
1154
1163
  await connection.run(ready, consumer_kwargs)
1155
1164
 
1156
1165
  except WorkerChannelSetupError as exc:
1157
- logger.info("Worker channel setup failed: %s", exc.detail)
1166
+ logger.debug(
1167
+ "Worker channel setup failed: work_pool=%s reason=%s detail=%s",
1168
+ work_pool_name,
1169
+ exc.close_reason.value,
1170
+ exc.detail,
1171
+ )
1172
+ if worker_channel_utils.WORKER_CHANNEL_CONNECTIONS is not None:
1173
+ worker_channel_utils.WORKER_CHANNEL_CONNECTIONS.labels(
1174
+ event="setup_failed"
1175
+ ).inc()
1158
1176
  await worker_channel_utils.close_worker_channel(websocket, exc.close_reason)
1159
1177
  except HTTPException as exc:
1160
- logger.info("Worker channel setup failed HTTP validation: %s", exc.detail)
1178
+ logger.debug(
1179
+ "Worker channel setup failed HTTP validation: work_pool=%s detail=%s",
1180
+ work_pool_name,
1181
+ exc.detail,
1182
+ )
1183
+ if worker_channel_utils.WORKER_CHANNEL_CONNECTIONS is not None:
1184
+ worker_channel_utils.WORKER_CHANNEL_CONNECTIONS.labels(
1185
+ event="setup_failed"
1186
+ ).inc()
1161
1187
  await worker_channel_utils.close_worker_channel(
1162
1188
  websocket, WorkerChannelCloseReason.PROTOCOL_ERROR
1163
1189
  )
1164
1190
  except subscriptions.NORMAL_DISCONNECT_EXCEPTIONS:
1165
1191
  return
1166
1192
  except Exception:
1167
- logger.exception("Worker channel setup failed due to a transient server error")
1193
+ logger.exception(
1194
+ "Worker channel setup failed due to a transient server error: work_pool=%s",
1195
+ work_pool_name,
1196
+ )
1197
+ if worker_channel_utils.WORKER_CHANNEL_CONNECTIONS is not None:
1198
+ worker_channel_utils.WORKER_CHANNEL_CONNECTIONS.labels(
1199
+ event="setup_failed"
1200
+ ).inc()
1168
1201
  await worker_channel_utils.close_worker_channel(
1169
1202
  websocket, WorkerChannelCloseReason.TRANSIENT_SERVER_ERROR
1170
1203
  )
@@ -299,6 +299,8 @@ class BaseTaskRunEngine(Generic[P, R]):
299
299
  def _resolve_parameters(self):
300
300
  if not self.parameters:
301
301
  return None
302
+ if getattr(self, "_parameters_resolved", False):
303
+ return None
302
304
 
303
305
  resolved_parameters = {}
304
306
  for parameter, value in self.parameters.items():
@@ -311,7 +313,7 @@ class BaseTaskRunEngine(Generic[P, R]):
311
313
  remove_annotations=True,
312
314
  context={"parameter_name": parameter},
313
315
  )
314
- except UpstreamTaskError:
316
+ except (UpstreamTaskError, PrefectException):
315
317
  raise
316
318
  except Exception as exc:
317
319
  raise PrefectException(
@@ -322,6 +324,7 @@ class BaseTaskRunEngine(Generic[P, R]):
322
324
  ) from exc
323
325
 
324
326
  self.parameters = resolved_parameters
327
+ self._parameters_resolved = True
325
328
 
326
329
  def _set_custom_task_run_name(self):
327
330
  from prefect._internal.engine import resolve_custom_task_run_name
@@ -900,6 +900,19 @@ class Task(Generic[P, R]):
900
900
  if not flow_run_context:
901
901
  dynamic_key = f"{self.task_key}-{str(uuid4().hex)}"
902
902
  task_run_name = self.name
903
+ elif (
904
+ getattr(self, "_is_subflow_tracking_task", False)
905
+ and parent_task_run_context
906
+ and flow_run_context.flow_run
907
+ and parent_task_run_context.task_run.flow_run_id
908
+ == flow_run_context.flow_run.id
909
+ ):
910
+ # Subflows called from a task context need UUID keys because
911
+ # sibling call order is not a reliable identity across retries.
912
+ dynamic_key = dynamic_key_for_task_run(
913
+ context=flow_run_context, task=self, stable=False
914
+ )
915
+ task_run_name = f"{self.name}-{dynamic_key}"
903
916
  else:
904
917
  dynamic_key = dynamic_key_for_task_run(
905
918
  context=flow_run_context, task=self
@@ -1620,10 +1633,10 @@ class Task(Generic[P, R]):
1620
1633
 
1621
1634
  if deferred:
1622
1635
  parameters_list = expand_mapping_parameters(self.fn, parameters)
1623
- futures = [
1636
+ futures = PrefectFutureList(
1624
1637
  self.apply_async(kwargs=parameters, wait_for=wait_for)
1625
1638
  for parameters in parameters_list
1626
- ]
1639
+ )
1627
1640
  elif task_runner := getattr(flow_run_context, "task_runner", None):
1628
1641
  assert isinstance(task_runner, TaskRunner)
1629
1642
  futures = task_runner.map(self, parameters, wait_for)
@@ -8,7 +8,7 @@ import threading
8
8
  import warnings
9
9
  from collections.abc import AsyncGenerator, Awaitable, Coroutine
10
10
  from contextlib import AbstractAsyncContextManager, asynccontextmanager
11
- from contextvars import ContextVar
11
+ from contextvars import Context, ContextVar
12
12
  from functools import partial, wraps
13
13
  from logging import Logger
14
14
  from typing import TYPE_CHECKING, Any, Callable, NoReturn, Optional, Union, overload
@@ -474,6 +474,10 @@ class GatherTaskGroup(anyio.abc.TaskGroup):
474
474
  # The concrete task group implementation to use
475
475
  self._task_group: anyio.abc.TaskGroup = task_group
476
476
 
477
+ @property
478
+ def cancel_scope(self) -> Any:
479
+ return self._task_group.cancel_scope
480
+
477
481
  async def _run_and_store(
478
482
  self,
479
483
  key: UUID,
@@ -494,6 +498,20 @@ class GatherTaskGroup(anyio.abc.TaskGroup):
494
498
  self._task_group.start_soon(self._run_and_store, key, func, *args, name=name)
495
499
  return key
496
500
 
501
+ def create_task(
502
+ self,
503
+ coro: Coroutine[Any, Any, T],
504
+ *,
505
+ name: object = None,
506
+ context: Context | None = None,
507
+ ) -> Any:
508
+ create_task = getattr(self._task_group, "create_task", None)
509
+ if create_task is None:
510
+ coro.close()
511
+ raise RuntimeError("`create_task` requires AnyIO 4.14.0 or newer.")
512
+
513
+ return create_task(coro, name=name, context=context)
514
+
497
515
  async def start(self, func: object, *args: object, name: object = None) -> NoReturn:
498
516
  """
499
517
  Since `start` returns the result of `task_status.started()` but here we must
@@ -28,6 +28,7 @@ import prefect.exceptions
28
28
  from prefect._internal.concurrency.cancellation import get_deadline
29
29
  from prefect.client.schemas import FlowRunResult, OrchestrationResult, TaskRun
30
30
  from prefect.client.schemas.objects import (
31
+ FlowRun,
31
32
  RunType,
32
33
  TaskRunResult,
33
34
  )
@@ -52,7 +53,7 @@ from prefect.results import ResultRecord, should_persist_result
52
53
  from prefect.settings import PREFECT_LOGGING_LOG_PRINTS
53
54
  from prefect.states import State
54
55
  from prefect.tasks import Task
55
- from prefect.utilities.annotations import allow_failure, quote
56
+ from prefect.utilities.annotations import allow_failure, opaque, quote
56
57
  from prefect.utilities.collections import StopVisiting, visit_collection
57
58
  from prefect.utilities.text import truncated_to
58
59
 
@@ -61,7 +62,34 @@ if TYPE_CHECKING:
61
62
 
62
63
  API_HEALTHCHECKS: dict[str, float] = {}
63
64
  UNTRACKABLE_TYPES: set[type[Any]] = {bool, type(None), type(...), type(NotImplemented)}
65
+ _RUN_SCHEMA_TYPES: tuple[type[Any], ...] = (FlowRun, TaskRun)
64
66
  engine_logger: Logger = get_logger("engine")
67
+
68
+
69
+ def _raise_on_run_schema_unless_opaque(obj: Any, context: dict[str, Any]) -> None:
70
+ """Raise a clear error when a Prefect run schema object is passed as a
71
+ task argument without the `opaque` annotation.
72
+
73
+ These Pydantic models contain a `.state` attribute that
74
+ `visit_collection` would recurse into, causing the embedded state
75
+ to be mistakenly treated as an upstream task dependency.
76
+ """
77
+ if isinstance(obj, _RUN_SCHEMA_TYPES) and not isinstance(
78
+ context.get("annotation"), opaque
79
+ ):
80
+ type_name = type(obj).__name__
81
+ lower = type_name[0].lower() + type_name[1:]
82
+ raise PrefectException(
83
+ f"Passing a `{type_name}` object as a task argument is not supported."
84
+ " Prefect inspects task arguments for upstream `State` and"
85
+ " `PrefectFuture` dependencies, which causes the embedded"
86
+ f" `{type_name}.state` attribute to be mistakenly treated as an"
87
+ " upstream task dependency. Pass individual fields instead"
88
+ f" (e.g. `{lower}.id`) or wrap the object with"
89
+ f" `opaque({lower})` to skip dependency traversal."
90
+ )
91
+
92
+
65
93
  T = TypeVar("T")
66
94
  _prefect_sigterm_handler_depth = 0
67
95
  _prefect_sigterm_bridge_lock = threading.RLock()
@@ -379,6 +407,8 @@ async def resolve_inputs(
379
407
  if isinstance(context.get("annotation"), quote):
380
408
  raise StopVisiting()
381
409
 
410
+ _raise_on_run_schema_unless_opaque(expr, context)
411
+
382
412
  if isinstance(expr, PrefectFuture):
383
413
  fut: PrefectFuture[Any] = expr
384
414
  futures.add(fut)
@@ -415,6 +445,8 @@ async def resolve_inputs(
415
445
  if isinstance(context.get("annotation"), quote):
416
446
  raise StopVisiting()
417
447
 
448
+ _raise_on_run_schema_unless_opaque(expr, context)
449
+
418
450
  if isinstance(expr, PrefectFuture):
419
451
  state = expr.state
420
452
  elif isinstance(expr, State):
@@ -446,7 +478,9 @@ async def resolve_inputs(
446
478
  ):
447
479
  return state.data
448
480
 
449
- return result_by_state.get(state)
481
+ resolved = result_by_state.get(state)
482
+ _raise_on_run_schema_unless_opaque(resolved, context)
483
+ return resolved
450
484
 
451
485
  resolved_parameters: dict[str, Any] = {}
452
486
  for parameter, value in parameters.items():
@@ -460,7 +494,7 @@ async def resolve_inputs(
460
494
  remove_annotations=True,
461
495
  context={},
462
496
  )
463
- except UpstreamTaskError:
497
+ except (UpstreamTaskError, PrefectException):
464
498
  raise
465
499
  except Exception as exc:
466
500
  raise PrefectException(
@@ -951,6 +985,8 @@ def resolve_to_final_result(expr: Any, context: dict[str, Any]) -> Any:
951
985
  if isinstance(context.get("annotation"), quote):
952
986
  raise StopVisiting()
953
987
 
988
+ _raise_on_run_schema_unless_opaque(expr, context)
989
+
954
990
  if isinstance(expr, PrefectFuture):
955
991
  upstream_task_run: Optional[TaskRun] = context.get("current_task_run")
956
992
  upstream_task: Optional["Task[..., Any]"] = context.get("current_task")
@@ -996,6 +1032,11 @@ def resolve_to_final_result(expr: Any, context: dict[str, Any]) -> Any:
996
1032
 
997
1033
  result: Any = state.result(raise_on_failure=False, _sync=True) # pyright: ignore[reportCallIssue] _sync messes up type inference and can be removed once async_dispatch is removed
998
1034
 
1035
+ # Check the resolved result: if a task returned a FlowRun/TaskRun, the
1036
+ # caller (visit_collection) would recurse into its Pydantic fields and
1037
+ # misinterpret the embedded .state as an upstream dependency.
1038
+ _raise_on_run_schema_unless_opaque(result, context)
1039
+
999
1040
  if state.state_details.traceparent:
1000
1041
  parameter_context = propagate.extract(
1001
1042
  {"traceparent": state.state_details.traceparent}
@@ -1046,7 +1087,7 @@ def resolve_inputs_sync(
1046
1087
  remove_annotations=True,
1047
1088
  context={"parameter_name": parameter},
1048
1089
  )
1049
- except UpstreamTaskError:
1090
+ except (UpstreamTaskError, PrefectException):
1050
1091
  raise
1051
1092
  except Exception as exc:
1052
1093
  raise PrefectException(
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.7.5.dev6"
3
- __build_date__ = "2026-06-18 09:37:15.430042+00:00"
4
- __git_commit__ = "8f50275cba223bd11612305716bb48581a1cfb91"
5
- __dirty__ = False