prefect-client 3.7.6.dev3__tar.gz → 3.7.7__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.6.dev3 → prefect_client-3.7.7}/PKG-INFO +1 -1
  2. prefect_client-3.7.7/src/prefect/_build_info.py +5 -0
  3. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/steps/core.py +5 -0
  4. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/steps/pull.py +5 -0
  5. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/steps/utility.py +2 -2
  6. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/flows.py +16 -13
  7. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_workspace_resolver.py +40 -22
  8. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/server.py +17 -2
  9. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/workers.py +1 -0
  10. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/task_engine.py +4 -1
  11. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/engine/__init__.py +45 -4
  12. prefect_client-3.7.6.dev3/src/prefect/_build_info.py +0 -5
  13. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/.gitignore +0 -0
  14. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/LICENSE +0 -0
  15. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/README.md +0 -0
  16. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/hatch_build.py +0 -0
  17. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/pyproject.toml +0 -0
  18. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/.prefectignore +0 -0
  19. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/AGENTS.md +0 -0
  20. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/__init__.py +0 -0
  21. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/__main__.py +0 -0
  22. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/__init__.py +0 -0
  23. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/_launchers.py +0 -0
  24. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/bundles/__init__.py +0 -0
  25. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/bundles/execute.py +0 -0
  26. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/plugins/__init__.py +0 -0
  27. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/plugins/apply.py +0 -0
  28. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/plugins/diagnostics.py +0 -0
  29. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/plugins/manager.py +0 -0
  30. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/plugins/spec.py +0 -0
  31. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/sla/__init__.py +0 -0
  32. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/sla/client.py +0 -0
  33. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_experimental/sla/objects.py +0 -0
  34. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_flow_run_suspension.py +0 -0
  35. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/__init__.py +0 -0
  36. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/_logging.py +0 -0
  37. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/__init__.py +0 -0
  38. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/ci_detection.py +0 -0
  39. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/client.py +0 -0
  40. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/device_id.py +0 -0
  41. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/emit.py +0 -0
  42. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/enabled.py +0 -0
  43. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/events.py +0 -0
  44. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/milestones.py +0 -0
  45. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/notice.py +0 -0
  46. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/analytics/service.py +0 -0
  47. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/ast_utils.py +0 -0
  48. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/buildx.py +0 -0
  49. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/__init__.py +0 -0
  50. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  51. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/backports.py +0 -0
  52. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/blocks.py +0 -0
  53. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  54. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/deprecated_paths.py +0 -0
  55. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/migration.py +0 -0
  56. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/compatibility/starlette.py +0 -0
  57. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/__init__.py +0 -0
  58. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/api.py +0 -0
  59. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/calls.py +0 -0
  60. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  61. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  62. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/inspection.py +0 -0
  63. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/primitives.py +0 -0
  64. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/services.py +0 -0
  65. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/threads.py +0 -0
  66. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/concurrency/waiters.py +0 -0
  67. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/control_listener.py +0 -0
  68. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/deprecated.py +0 -0
  69. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/engine.py +0 -0
  70. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/git.py +0 -0
  71. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/infrastructure_exit_codes.py +0 -0
  72. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/installation.py +0 -0
  73. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/integrations.py +0 -0
  74. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/launchers.py +0 -0
  75. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/lazy.py +0 -0
  76. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/metrics.py +0 -0
  77. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/observability.py +0 -0
  78. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/observers.py +0 -0
  79. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/__init__.py +0 -0
  80. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/apply.py +0 -0
  81. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/collections.py +0 -0
  82. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/diagnostics.py +0 -0
  83. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/manager.py +0 -0
  84. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/spec.py +0 -0
  85. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/plugins/startup.py +0 -0
  86. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/pydantic/__init__.py +0 -0
  87. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/pydantic/schemas.py +0 -0
  88. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  89. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  90. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  91. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/pytz.py +0 -0
  92. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/result_records.py +0 -0
  93. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/retries.py +0 -0
  94. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schema.py +0 -0
  95. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schemas/__init__.py +0 -0
  96. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schemas/_registry.py +0 -0
  97. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schemas/bases.py +0 -0
  98. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schemas/fields.py +0 -0
  99. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schemas/serializers.py +0 -0
  100. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/schemas/validators.py +0 -0
  101. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
  102. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/states.py +0 -0
  103. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/testing.py +0 -0
  104. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/urls.py +0 -0
  105. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/uuid7.py +0 -0
  106. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/version_checking.py +0 -0
  107. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/versioning.py +0 -0
  108. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/waiters.py +0 -0
  109. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_internal/websockets.py +0 -0
  110. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/__init__.py +0 -0
  111. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/fetcher.py +0 -0
  112. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/generator.py +0 -0
  113. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/models.py +0 -0
  114. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/naming.py +0 -0
  115. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/renderer.py +0 -0
  116. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/schema_converter.py +0 -0
  117. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/templates/__init__.py +0 -0
  118. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
  119. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/types.py +0 -0
  120. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_sdk/unions.py +0 -0
  121. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_vendor/croniter/__init__.py +0 -0
  122. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/_vendor/croniter/croniter.py +0 -0
  123. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/agent.py +0 -0
  124. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/analytics/__init__.py +0 -0
  125. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/artifacts.py +0 -0
  126. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/assets/__init__.py +0 -0
  127. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/assets/core.py +0 -0
  128. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/assets/materialize.py +0 -0
  129. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/automations.py +0 -0
  130. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/AGENTS.md +0 -0
  131. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/__init__.py +0 -0
  132. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/abstract.py +0 -0
  133. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/core.py +0 -0
  134. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/fields.py +0 -0
  135. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/notifications.py +0 -0
  136. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/redis.py +0 -0
  137. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/system.py +0 -0
  138. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/blocks/webhook.py +0 -0
  139. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/__init__.py +0 -0
  140. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/_file_collector.py +0 -0
  141. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/_ignore_filter.py +0 -0
  142. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/_path_resolver.py +0 -0
  143. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/_zip_builder.py +0 -0
  144. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/_zip_extractor.py +0 -0
  145. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/bundles/execute.py +0 -0
  146. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/cache_policies.py +0 -0
  147. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/AGENTS.md +0 -0
  148. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/__init__.py +0 -0
  149. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/attribution.py +0 -0
  150. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/base.py +0 -0
  151. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/cloud.py +0 -0
  152. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/collections.py +0 -0
  153. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/constants.py +0 -0
  154. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/__init__.py +0 -0
  155. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  156. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  157. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  158. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_automations/client.py +0 -0
  159. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  160. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  161. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  162. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  163. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  164. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  165. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  166. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  167. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  168. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  169. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  170. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_events/client.py +0 -0
  171. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  172. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  173. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  174. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_flows/client.py +0 -0
  175. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  176. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_logs/client.py +0 -0
  177. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  178. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_variables/client.py +0 -0
  179. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  180. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  181. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/base.py +0 -0
  182. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/orchestration/routes.py +0 -0
  183. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/__init__.py +0 -0
  184. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/actions.py +0 -0
  185. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/events.py +0 -0
  186. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/filters.py +0 -0
  187. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/objects.py +0 -0
  188. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/responses.py +0 -0
  189. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/schedules.py +0 -0
  190. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/sorting.py +0 -0
  191. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/schemas/worker_channel.py +0 -0
  192. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/subscriptions.py +0 -0
  193. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/types/__init__.py +0 -0
  194. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  195. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/client/utilities.py +0 -0
  196. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/AGENTS.md +0 -0
  197. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/__init__.py +0 -0
  198. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/_asyncio.py +0 -0
  199. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/_events.py +0 -0
  200. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/_leases.py +0 -0
  201. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/_sync.py +0 -0
  202. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/asyncio.py +0 -0
  203. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/context.py +0 -0
  204. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/services.py +0 -0
  205. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/sync.py +0 -0
  206. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/__init__.py +0 -0
  207. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  208. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/_events.py +0 -0
  209. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/asyncio.py +0 -0
  210. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/context.py +0 -0
  211. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/services.py +0 -0
  212. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/concurrency/v1/sync.py +0 -0
  213. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/context.py +0 -0
  214. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/AGENTS.md +0 -0
  215. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/__init__.py +0 -0
  216. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/base.py +0 -0
  217. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/deployments.py +0 -0
  218. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/flow_runs.py +0 -0
  219. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/runner.py +0 -0
  220. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/schedules.py +0 -0
  221. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/deployments/steps/__init__.py +0 -0
  222. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/docker/__init__.py +0 -0
  223. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/docker/_buildx.py +0 -0
  224. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/docker/docker_image.py +0 -0
  225. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/engine.py +0 -0
  226. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/AGENTS.md +0 -0
  227. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/__init__.py +0 -0
  228. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/actions.py +0 -0
  229. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/clients.py +0 -0
  230. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/filters.py +0 -0
  231. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/related.py +0 -0
  232. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/schemas/__init__.py +0 -0
  233. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/schemas/automations.py +0 -0
  234. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  235. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/schemas/events.py +0 -0
  236. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/schemas/labelling.py +0 -0
  237. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/subscribers.py +0 -0
  238. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/utilities.py +0 -0
  239. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/events/worker.py +0 -0
  240. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/exceptions.py +0 -0
  241. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/filesystems.py +0 -0
  242. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/flow_engine.py +0 -0
  243. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/flow_runs.py +0 -0
  244. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/futures.py +0 -0
  245. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/__init__.py +0 -0
  246. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/base.py +0 -0
  247. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  248. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  249. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  250. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  251. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  252. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  253. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/input/__init__.py +0 -0
  254. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/input/actions.py +0 -0
  255. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/input/run_input.py +0 -0
  256. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/locking/__init__.py +0 -0
  257. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/locking/_filelock.py +0 -0
  258. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/locking/filesystem.py +0 -0
  259. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/locking/memory.py +0 -0
  260. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/locking/protocol.py +0 -0
  261. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/AGENTS.md +0 -0
  262. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/__init__.py +0 -0
  263. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/clients.py +0 -0
  264. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/configuration.py +0 -0
  265. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/filters.py +0 -0
  266. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/formatters.py +0 -0
  267. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/handlers.py +0 -0
  268. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/highlighters.py +0 -0
  269. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/loggers.py +0 -0
  270. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/logging/logging.yml +0 -0
  271. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/main.py +0 -0
  272. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/plugins.py +0 -0
  273. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/py.typed +0 -0
  274. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/results.py +0 -0
  275. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/AGENTS.md +0 -0
  276. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/__init__.py +0 -0
  277. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_cancel_finalizer.py +0 -0
  278. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_cancellation_manager.py +0 -0
  279. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_control_channel.py +0 -0
  280. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_deployment_registry.py +0 -0
  281. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_event_emitter.py +0 -0
  282. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_flow_resolver.py +0 -0
  283. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_flow_run_executor.py +0 -0
  284. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_hook_runner.py +0 -0
  285. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_limit_manager.py +0 -0
  286. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_process_manager.py +0 -0
  287. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_scheduled_run_poller.py +0 -0
  288. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_starter_bundle.py +0 -0
  289. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_starter_direct.py +0 -0
  290. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_starter_engine.py +0 -0
  291. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_state_proposer.py +0 -0
  292. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/_workspace_starter.py +0 -0
  293. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/runner.py +0 -0
  294. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/server.py +0 -0
  295. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runner/storage.py +0 -0
  296. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runtime/__init__.py +0 -0
  297. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runtime/deployment.py +0 -0
  298. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runtime/flow_run.py +0 -0
  299. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/runtime/task_run.py +0 -0
  300. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/schedules.py +0 -0
  301. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/serializers.py +0 -0
  302. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/__init__.py +0 -0
  303. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/_ui_static.py +0 -0
  304. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/admin.py +0 -0
  305. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/artifacts.py +0 -0
  306. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/automations.py +0 -0
  307. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/background_workers.py +0 -0
  308. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/block_capabilities.py +0 -0
  309. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/block_documents.py +0 -0
  310. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/block_schemas.py +0 -0
  311. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/block_types.py +0 -0
  312. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/clients.py +0 -0
  313. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/collections.py +0 -0
  314. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  315. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/concurrency_limits.py +0 -0
  316. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  317. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/csrf_token.py +0 -0
  318. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/dependencies.py +0 -0
  319. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/deployments.py +0 -0
  320. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/events.py +0 -0
  321. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/flow_run_states.py +0 -0
  322. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/flow_runs.py +0 -0
  323. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/flows.py +0 -0
  324. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/logs.py +0 -0
  325. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/middleware.py +0 -0
  326. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/root.py +0 -0
  327. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/run_history.py +0 -0
  328. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/saved_searches.py +0 -0
  329. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  330. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/task_run_states.py +0 -0
  331. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/task_runs.py +0 -0
  332. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/task_workers.py +0 -0
  333. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/templates.py +0 -0
  334. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/ui/__init__.py +0 -0
  335. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/ui/flow_runs.py +0 -0
  336. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/ui/flows.py +0 -0
  337. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/ui/schemas.py +0 -0
  338. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/ui/task_runs.py +0 -0
  339. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/validation.py +0 -0
  340. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/variables.py +0 -0
  341. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/server/api/work_queues.py +0 -0
  342. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/AGENTS.md +0 -0
  343. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/__init__.py +0 -0
  344. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/_types.py +0 -0
  345. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/base.py +0 -0
  346. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/constants.py +0 -0
  347. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/context.py +0 -0
  348. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/legacy.py +0 -0
  349. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/__init__.py +0 -0
  350. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/_defaults.py +0 -0
  351. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/api.py +0 -0
  352. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/cli.py +0 -0
  353. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/client.py +0 -0
  354. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/cloud.py +0 -0
  355. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/deployments.py +0 -0
  356. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/events.py +0 -0
  357. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/experiments.py +0 -0
  358. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/flows.py +0 -0
  359. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/internal.py +0 -0
  360. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/logging.py +0 -0
  361. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/plugins.py +0 -0
  362. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/results.py +0 -0
  363. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/root.py +0 -0
  364. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/runner.py +0 -0
  365. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/__init__.py +0 -0
  366. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/api.py +0 -0
  367. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/concurrency.py +0 -0
  368. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/database.py +0 -0
  369. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/deployments.py +0 -0
  370. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/docket.py +0 -0
  371. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/ephemeral.py +0 -0
  372. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/events.py +0 -0
  373. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  374. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/logs.py +0 -0
  375. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/root.py +0 -0
  376. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/services.py +0 -0
  377. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/tasks.py +0 -0
  378. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/ui.py +0 -0
  379. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/server/worker_channel.py +0 -0
  380. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/tasks.py +0 -0
  381. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/telemetry.py +0 -0
  382. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/testing.py +0 -0
  383. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/models/worker.py +0 -0
  384. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/profiles.py +0 -0
  385. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/profiles.toml +0 -0
  386. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/settings/sources.py +0 -0
  387. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/states.py +0 -0
  388. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/task_runners.py +0 -0
  389. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/task_runs.py +0 -0
  390. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/task_worker.py +0 -0
  391. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/tasks.py +0 -0
  392. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/telemetry/__init__.py +0 -0
  393. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/telemetry/run_telemetry.py +0 -0
  394. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/transactions.py +0 -0
  395. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/types/__init__.py +0 -0
  396. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/types/_concurrency.py +0 -0
  397. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/types/_datetime.py +0 -0
  398. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/types/entrypoint.py +0 -0
  399. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/types/names.py +0 -0
  400. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/AGENTS.md +0 -0
  401. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/__init__.py +0 -0
  402. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/annotations.py +0 -0
  403. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
  404. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/asyncutils/__init__.py +0 -0
  405. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/callables/AGENTS.md +0 -0
  406. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/callables/__init__.py +0 -0
  407. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/collections.py +0 -0
  408. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/compat.py +0 -0
  409. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/context.py +0 -0
  410. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/dispatch.py +0 -0
  411. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/dockerutils.py +0 -0
  412. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/engine/AGENTS.md +0 -0
  413. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
  414. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/filesystem/__init__.py +0 -0
  415. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/generics.py +0 -0
  416. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/hashing.py +0 -0
  417. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/importtools.py +0 -0
  418. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/math.py +0 -0
  419. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/names.py +0 -0
  420. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/processutils/AGENTS.md +0 -0
  421. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/processutils/__init__.py +0 -0
  422. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/pydantic.py +0 -0
  423. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/render_swagger.py +0 -0
  424. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
  425. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  426. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  427. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/schema_tools/validation.py +0 -0
  428. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/services.py +0 -0
  429. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/slugify.py +0 -0
  430. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/templating/AGENTS.md +0 -0
  431. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/templating/__init__.py +0 -0
  432. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/text.py +0 -0
  433. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/timeout.py +0 -0
  434. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/urls.py +0 -0
  435. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/utilities/visualization.py +0 -0
  436. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/variables.py +0 -0
  437. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/AGENTS.md +0 -0
  438. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/__init__.py +0 -0
  439. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_cleanup.py +0 -0
  440. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_cleanup_handlers.py +0 -0
  441. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_worker_channel/__init__.py +0 -0
  442. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_worker_channel/_protocol.py +0 -0
  443. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_worker_channel/_state.py +0 -0
  444. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_worker_channel/_sync.py +0 -0
  445. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/_worker_channel/_transport.py +0 -0
  446. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/base.py +0 -0
  447. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/block.py +0 -0
  448. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/cloud.py +0 -0
  449. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/process.py +0 -0
  450. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/src/prefect/workers/server.py +0 -0
  451. {prefect_client-3.7.6.dev3 → prefect_client-3.7.7}/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.6.dev3
3
+ Version: 3.7.7
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.7.7"
3
+ __build_date__ = "2026-07-02 21:14:24.518022+00:00"
4
+ __git_commit__ = "743957b8f3b28ab0fb1522581e77e32f2f8310bc"
5
+ __dirty__ = False
@@ -52,6 +52,11 @@ _STEP_COMPLETION_OBSERVER: ContextVar[_StepCompletionObserver | None] = ContextV
52
52
  default=None,
53
53
  )
54
54
 
55
+ _PULL_STEP_SOURCE_CWD: ContextVar[Path | None] = ContextVar(
56
+ "pull_step_source_cwd",
57
+ default=None,
58
+ )
59
+
55
60
 
56
61
  class StepExecutionError(Exception):
57
62
  """
@@ -8,6 +8,7 @@ from typing import TYPE_CHECKING, Any, Optional
8
8
 
9
9
  from prefect._internal.compatibility.async_dispatch import async_dispatch
10
10
  from prefect._internal.retries import retry_async_fn
11
+ from prefect.deployments.steps.core import _PULL_STEP_SOURCE_CWD
11
12
  from prefect.logging.loggers import get_logger
12
13
  from prefect.runner.storage import BlockStorageAdapter, GitRepository, RemoteStorage
13
14
  from prefect.utilities.asyncutils import run_coro_as_sync
@@ -32,6 +33,10 @@ def set_working_directory(directory: str) -> dict[str, str]:
32
33
  dict: a dictionary containing a `directory` key of the
33
34
  absolute path of the directory that was set
34
35
  """
36
+ source_cwd = _PULL_STEP_SOURCE_CWD.get()
37
+ if source_cwd is not None and not Path(directory).expanduser().is_absolute():
38
+ directory = str((source_cwd / directory).resolve())
39
+
35
40
  os.chdir(directory)
36
41
  return dict(directory=os.getcwd())
37
42
 
@@ -15,7 +15,7 @@ Example:
15
15
  - prefect_docker.deployments.steps.build_docker_image:
16
16
  requires: prefect-docker
17
17
  image_name: my-image
18
- image_tag: "{{ get-commit-hash.stdout }}"
18
+ tag: "{{ get-commit-hash.stdout }}"
19
19
  dockerfile: auto
20
20
  ```
21
21
  """
@@ -153,7 +153,7 @@ async def run_shell_script(
153
153
  - prefect_docker.deployments.steps.build_docker_image:
154
154
  requires: prefect-docker
155
155
  image_name: my-image
156
- image_tag: "{{ get-commit-hash.stdout }}"
156
+ tag: "{{ get-commit-hash.stdout }}"
157
157
  dockerfile: auto
158
158
  ```
159
159
 
@@ -3212,19 +3212,11 @@ async def load_flow_from_flow_run(
3212
3212
  "PREFECT__STORAGE_BASE_PATH"
3213
3213
  )
3214
3214
 
3215
- # If there's no colon, assume it's a module path
3216
- if ":" not in deployment.entrypoint:
3217
- run_logger.debug(
3218
- f"Importing flow code from module path {deployment.entrypoint}"
3219
- )
3220
- flow = await run_sync_in_worker_thread(
3221
- load_flow_from_entrypoint,
3222
- deployment.entrypoint,
3223
- use_placeholder_flow=use_placeholder_flow,
3224
- )
3225
- return flow
3215
+ # Module-path entrypoints (no colon) rely on pull steps to place the code on
3216
+ # sys.path, so the import must run *after* pull steps — not before.
3217
+ is_module_path = ":" not in deployment.entrypoint
3226
3218
 
3227
- if not ignore_storage and not deployment.pull_steps:
3219
+ if not is_module_path and not ignore_storage and not deployment.pull_steps:
3228
3220
  sys.path.insert(0, ".")
3229
3221
  if deployment.storage_document_id:
3230
3222
  storage_document = await client.read_block_document(
@@ -3249,7 +3241,7 @@ async def load_flow_from_flow_run(
3249
3241
  run_logger.info(f"Downloading flow code from storage at {from_path!r}")
3250
3242
  await storage_block.get_directory(from_path=from_path, local_path=".")
3251
3243
 
3252
- if deployment.pull_steps:
3244
+ if not ignore_storage and deployment.pull_steps:
3253
3245
  run_logger.info(f"Running {len(deployment.pull_steps)} deployment pull step(s)")
3254
3246
 
3255
3247
  from prefect.deployments.steps.core import StepExecutionError, run_steps
@@ -3271,6 +3263,17 @@ async def load_flow_from_flow_run(
3271
3263
  run_logger.debug(f"Changing working directory to {output['directory']!r}")
3272
3264
  os.chdir(output["directory"])
3273
3265
 
3266
+ if is_module_path:
3267
+ run_logger.debug(
3268
+ f"Importing flow code from module path {deployment.entrypoint}"
3269
+ )
3270
+ flow = await run_sync_in_worker_thread(
3271
+ load_flow_from_entrypoint,
3272
+ deployment.entrypoint,
3273
+ use_placeholder_flow=use_placeholder_flow,
3274
+ )
3275
+ return flow
3276
+
3274
3277
  import_path = relative_path_to_current_platform(deployment.entrypoint)
3275
3278
  run_logger.debug(f"Importing flow code from '{import_path}'")
3276
3279
 
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import argparse
4
- import builtins
5
4
  import contextlib
6
5
  import os
7
6
  import sys
@@ -14,9 +13,14 @@ import anyio
14
13
  from pydantic import BaseModel
15
14
 
16
15
  from prefect.client.orchestration import get_client
17
- from prefect.deployments.steps.core import _observe_step_completion, run_steps
16
+ from prefect.deployments.steps.core import (
17
+ _PULL_STEP_SOURCE_CWD,
18
+ _observe_step_completion,
19
+ run_steps,
20
+ )
18
21
  from prefect.filesystems import LocalFileSystem
19
- from prefect.logging.loggers import get_logger
22
+ from prefect.logging.handlers import APILogHandler
23
+ from prefect.logging.loggers import PrefectLogAdapter, flow_run_logger
20
24
  from prefect.utilities.filesystem import relative_path_to_current_platform
21
25
  from prefect.utilities.processutils import get_sys_executable
22
26
 
@@ -25,7 +29,6 @@ if TYPE_CHECKING:
25
29
  from prefect.client.schemas.objects import FlowRun
26
30
  from prefect.client.schemas.responses import DeploymentResponse
27
31
 
28
- LOGGER = get_logger("prefect.runner.workspace_resolver")
29
32
  STORAGE_BASE_PATH_PLACEHOLDER = "$STORAGE_BASE_PATH"
30
33
 
31
34
 
@@ -63,11 +66,6 @@ def get_workspace_resolver_command(
63
66
  ]
64
67
 
65
68
 
66
- def _stderr_print(*args: Any, **kwargs: Any) -> None:
67
- kwargs.pop("style", None)
68
- builtins.print(*args, file=sys.stderr, **kwargs)
69
-
70
-
71
69
  def _resolve_runtime_entrypoint(entrypoint: str) -> str:
72
70
  if ":" not in entrypoint:
73
71
  return entrypoint
@@ -207,6 +205,7 @@ async def _ensure_entrypoint_in_workspace(
207
205
  workspace_root: Path,
208
206
  source_cwd: Path,
209
207
  storage_base_path: Path | None,
208
+ logger: PrefectLogAdapter,
210
209
  ) -> Path:
211
210
  if _has_entrypoint_file(deployment.entrypoint, workspace_root):
212
211
  return workspace_root
@@ -225,6 +224,7 @@ async def _ensure_entrypoint_in_workspace(
225
224
  workspace_root,
226
225
  source_cwd,
227
226
  storage_base_path,
227
+ logger,
228
228
  )
229
229
  return workspace_root
230
230
 
@@ -255,6 +255,7 @@ async def _pull_storage_into_workspace(
255
255
  workspace_root: Path,
256
256
  source_cwd: Path,
257
257
  storage_base_path: Path | None,
258
+ logger: PrefectLogAdapter,
258
259
  ) -> Path:
259
260
  local_path = _workspace_destination_for_deployment_path(
260
261
  deployment.path, workspace_root, storage_base_path
@@ -281,7 +282,7 @@ async def _pull_storage_into_workspace(
281
282
  )
282
283
  storage_block = LocalFileSystem(basepath=from_path)
283
284
 
284
- LOGGER.info("Downloading flow code from storage at %r", from_path)
285
+ logger.info("Downloading flow code from storage at %r", from_path)
285
286
  await storage_block.get_directory(from_path=from_path, local_path=str(local_path))
286
287
  return local_path
287
288
 
@@ -297,6 +298,8 @@ async def prepare_workspace(
297
298
  f"Deployment {deployment.id} does not have an entrypoint and can not be run."
298
299
  )
299
300
 
301
+ run_logger = flow_run_logger(flow_run)
302
+
300
303
  source_cwd = Path.cwd().resolve()
301
304
  storage_base_path = _get_configured_storage_base_path()
302
305
  resolved_workspace_root = Path(workspace_root).expanduser().resolve()
@@ -310,6 +313,7 @@ async def prepare_workspace(
310
313
  resolved_workspace_root,
311
314
  source_cwd,
312
315
  storage_base_path,
316
+ run_logger,
313
317
  )
314
318
  local_runtime_directory = _resolve_local_runtime_directory(
315
319
  deployment.path, source_cwd, storage_base_path
@@ -322,7 +326,9 @@ async def prepare_workspace(
322
326
  working_directory = resolved_workspace_root
323
327
  step_selected_working_directory = False
324
328
  os.chdir(resolved_workspace_root)
325
- LOGGER.info("Running %s deployment pull step(s)", len(deployment.pull_steps))
329
+ run_logger.info(
330
+ "Running %s deployment pull step(s)", len(deployment.pull_steps)
331
+ )
326
332
 
327
333
  def _track_step_workspace(
328
334
  _step: dict[str, Any],
@@ -339,20 +345,29 @@ async def prepare_workspace(
339
345
  if resolved_directory is not None:
340
346
  step_selected_working_directory = True
341
347
  working_directory = resolved_directory
342
- return
343
-
344
- if step_end_cwd is not None and step_end_cwd != step_start_cwd:
348
+ elif step_end_cwd is not None and step_end_cwd != step_start_cwd:
345
349
  step_selected_working_directory = True
346
350
  working_directory = step_end_cwd
347
351
 
348
- with _observe_step_completion(_track_step_workspace):
349
- await run_steps(
350
- deployment.pull_steps,
351
- print_function=_stderr_print,
352
- deployment=deployment,
353
- flow_run=flow_run,
354
- logger=LOGGER,
355
- )
352
+ # Clear source CWD after every step so the fallback only applies
353
+ # to the first pull step (the baked-image case). Steps that run
354
+ # before set_working_directory (e.g. run_shell_script) create
355
+ # workspace-relative content, so subsequent relative paths must
356
+ # resolve against the current CWD, not the original process CWD.
357
+ _PULL_STEP_SOURCE_CWD.set(None)
358
+
359
+ source_cwd_token = _PULL_STEP_SOURCE_CWD.set(source_cwd)
360
+ try:
361
+ with _observe_step_completion(_track_step_workspace):
362
+ await run_steps(
363
+ deployment.pull_steps,
364
+ print_function=run_logger.warning,
365
+ deployment=deployment,
366
+ flow_run=flow_run,
367
+ logger=run_logger,
368
+ )
369
+ finally:
370
+ _PULL_STEP_SOURCE_CWD.reset(source_cwd_token)
356
371
 
357
372
  if not step_selected_working_directory:
358
373
  working_directory = await _ensure_entrypoint_in_workspace(
@@ -361,6 +376,7 @@ async def prepare_workspace(
361
376
  resolved_workspace_root,
362
377
  source_cwd,
363
378
  storage_base_path,
379
+ run_logger,
364
380
  )
365
381
 
366
382
  os.chdir(working_directory)
@@ -423,6 +439,8 @@ async def _main_async(argv: list[str] | None = None) -> int:
423
439
  sys.stdout.write(result.model_dump_json())
424
440
  sys.stdout.write("\n")
425
441
  return 1
442
+ finally:
443
+ await APILogHandler.aflush()
426
444
 
427
445
  result = PreparedWorkspaceResult(status="success", workspace=workspace)
428
446
  sys.stdout.write(result.model_dump_json())
@@ -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
@@ -691,7 +692,9 @@ def create_ui_app(ephemeral: bool) -> FastAPI:
691
692
  if scope_path.endswith(path) and path != "/"
692
693
  else request.scope.get("root_path", "")
693
694
  )
694
- redirect_url = str(request.url.replace(path=f"{scope_prefix}{redirect_path}"))
695
+ redirect_url = f"{scope_prefix}{redirect_path}"
696
+ if request.url.query:
697
+ redirect_url = f"{redirect_url}?{request.url.query}"
695
698
  return RedirectResponse(
696
699
  url=redirect_url,
697
700
  status_code=status.HTTP_307_TEMPORARY_REDIRECT,
@@ -739,8 +742,20 @@ def create_ui_app(ephemeral: bool) -> FastAPI:
739
742
  continue
740
743
 
741
744
  if not reference_file_matches_cache_key(bundle):
745
+ lock_path = os.path.join(
746
+ os.path.dirname(bundle.static_dir),
747
+ f".{bundle.version}_ui_static.lock",
748
+ )
749
+ lock = FileLock(lock_path, timeout=90)
742
750
  try:
743
- create_ui_static_subpath(bundle)
751
+ lock.acquire()
752
+ try:
753
+ # Re-check after acquiring the lock; another worker
754
+ # may have completed the copy while we waited.
755
+ if not reference_file_matches_cache_key(bundle):
756
+ create_ui_static_subpath(bundle)
757
+ finally:
758
+ lock.release()
744
759
  except OSError as exc:
745
760
  log_ui_static_copy_error(bundle, exc, logger)
746
761
  continue
@@ -1148,6 +1148,7 @@ async def worker_channel_connect(
1148
1148
  work_pool_id=ready.payload.initial_snapshot.work_pool.id,
1149
1149
  consumer_id=hello.payload.consumer_id,
1150
1150
  worker_name=hello.payload.worker_name,
1151
+ work_pool_updated=ready.payload.initial_snapshot.work_pool.updated,
1151
1152
  cleanup_queue=(
1152
1153
  cleanup_queue
1153
1154
  if CLEANUP_DELIVERY_CAPABILITY
@@ -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
@@ -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.6.dev3"
3
- __build_date__ = "2026-06-24 09:14:05.531234+00:00"
4
- __git_commit__ = "598fa47876041aee908d22fd2624f1b357ba0ed3"
5
- __dirty__ = False