prefect-client 3.6.30.dev4__tar.gz → 3.7.1.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/PKG-INFO +1 -1
  2. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/AGENTS.md +2 -0
  3. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/__init__.py +4 -5
  4. prefect_client-3.7.1.dev1/src/prefect/_build_info.py +5 -0
  5. prefect_client-3.7.1.dev1/src/prefect/_experimental/_launchers.py +31 -0
  6. prefect_client-3.7.1.dev1/src/prefect/_experimental/bundles/__init__.py +68 -0
  7. prefect_client-3.7.1.dev1/src/prefect/_experimental/bundles/execute.py +46 -0
  8. prefect_client-3.7.1.dev1/src/prefect/_experimental/plugins/__init__.py +16 -0
  9. prefect_client-3.7.1.dev1/src/prefect/_experimental/plugins/apply.py +5 -0
  10. prefect_client-3.7.1.dev1/src/prefect/_experimental/plugins/diagnostics.py +7 -0
  11. prefect_client-3.7.1.dev1/src/prefect/_experimental/plugins/manager.py +7 -0
  12. prefect_client-3.7.1.dev1/src/prefect/_experimental/plugins/spec.py +7 -0
  13. prefect_client-3.7.1.dev1/src/prefect/_internal/compatibility/deprecated_paths.py +60 -0
  14. prefect_client-3.7.1.dev1/src/prefect/_internal/plugins/__init__.py +7 -0
  15. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect/_internal}/plugins/apply.py +1 -1
  16. prefect_client-3.6.30.dev4/src/prefect/plugins.py → prefect_client-3.7.1.dev1/src/prefect/_internal/plugins/collections.py +5 -5
  17. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect/_internal}/plugins/diagnostics.py +1 -1
  18. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect/_internal}/plugins/manager.py +5 -2
  19. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect/_internal}/plugins/spec.py +7 -3
  20. prefect_client-3.6.30.dev4/src/prefect/_experimental/plugins/__init__.py → prefect_client-3.7.1.dev1/src/prefect/_internal/plugins/startup.py +16 -29
  21. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/_launchers.py +1 -1
  22. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/core.py +21 -3
  23. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/__init__.py +17 -2
  24. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/_file_collector.py +2 -2
  25. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/execute.py +6 -5
  26. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/flows.py +8 -25
  27. prefect_client-3.7.1.dev1/src/prefect/plugins.py +76 -0
  28. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/AGENTS.md +2 -2
  29. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_starter_bundle.py +2 -2
  30. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/runner.py +7 -7
  31. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/block_documents.py +9 -3
  32. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/AGENTS.md +1 -0
  33. prefect_client-3.7.1.dev1/src/prefect/settings/models/experiments.py +88 -0
  34. prefect_client-3.7.1.dev1/src/prefect/settings/models/plugins.py +191 -0
  35. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/root.py +58 -0
  36. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/base.py +2 -2
  37. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/process.py +1 -1
  38. prefect_client-3.6.30.dev4/src/prefect/_build_info.py +0 -5
  39. prefect_client-3.6.30.dev4/src/prefect/settings/models/experiments.py +0 -77
  40. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/.gitignore +0 -0
  41. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/LICENSE +0 -0
  42. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/README.md +0 -0
  43. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/hatch_build.py +0 -0
  44. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/pyproject.toml +0 -0
  45. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/.prefectignore +0 -0
  46. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/__main__.py +0 -0
  47. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_experimental/__init__.py +0 -0
  48. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_experimental/sla/__init__.py +0 -0
  49. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_experimental/sla/client.py +0 -0
  50. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_experimental/sla/objects.py +0 -0
  51. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/__init__.py +0 -0
  52. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/_logging.py +0 -0
  53. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/__init__.py +0 -0
  54. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/ci_detection.py +0 -0
  55. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/client.py +0 -0
  56. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/device_id.py +0 -0
  57. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/emit.py +0 -0
  58. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/enabled.py +0 -0
  59. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/events.py +0 -0
  60. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/milestones.py +0 -0
  61. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/notice.py +0 -0
  62. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/analytics/service.py +0 -0
  63. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/__init__.py +0 -0
  64. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  65. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/backports.py +0 -0
  66. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/blocks.py +0 -0
  67. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  68. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/migration.py +0 -0
  69. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/compatibility/starlette.py +0 -0
  70. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/__init__.py +0 -0
  71. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/api.py +0 -0
  72. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/calls.py +0 -0
  73. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  74. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  75. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/inspection.py +0 -0
  76. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/primitives.py +0 -0
  77. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/services.py +0 -0
  78. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/threads.py +0 -0
  79. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/concurrency/waiters.py +0 -0
  80. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/control_listener.py +0 -0
  81. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/installation.py +0 -0
  82. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/integrations.py +0 -0
  83. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/lazy.py +0 -0
  84. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/observability.py +0 -0
  85. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/pydantic/__init__.py +0 -0
  86. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/pydantic/schemas.py +0 -0
  87. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  88. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  89. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/pydantic/validated_func.py +0 -0
  90. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/pytz.py +0 -0
  91. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/retries.py +0 -0
  92. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/schemas/__init__.py +0 -0
  93. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/schemas/bases.py +0 -0
  94. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/schemas/fields.py +0 -0
  95. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/schemas/serializers.py +0 -0
  96. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/schemas/validators.py +0 -0
  97. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/send_entrypoint_logs.py +0 -0
  98. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/testing.py +0 -0
  99. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/urls.py +0 -0
  100. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/uuid7.py +0 -0
  101. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_internal/websockets.py +0 -0
  102. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_observers.py +0 -0
  103. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_result_records.py +0 -0
  104. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/__init__.py +0 -0
  105. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/fetcher.py +0 -0
  106. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/generator.py +0 -0
  107. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/models.py +0 -0
  108. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/naming.py +0 -0
  109. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/renderer.py +0 -0
  110. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/schema_converter.py +0 -0
  111. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/templates/__init__.py +0 -0
  112. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/templates/sdk.py.jinja +0 -0
  113. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/types.py +0 -0
  114. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_sdk/unions.py +0 -0
  115. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_states.py +0 -0
  116. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_vendor/croniter/__init__.py +0 -0
  117. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_vendor/croniter/croniter.py +0 -0
  118. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_versioning.py +0 -0
  119. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/_waiters.py +0 -0
  120. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/agent.py +0 -0
  121. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/analytics/__init__.py +0 -0
  122. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/artifacts.py +0 -0
  123. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/assets/__init__.py +0 -0
  124. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/assets/core.py +0 -0
  125. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/assets/materialize.py +0 -0
  126. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/automations.py +0 -0
  127. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/AGENTS.md +0 -0
  128. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/__init__.py +0 -0
  129. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/abstract.py +0 -0
  130. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/fields.py +0 -0
  131. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/notifications.py +0 -0
  132. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/redis.py +0 -0
  133. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/system.py +0 -0
  134. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/blocks/webhook.py +0 -0
  135. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/_ignore_filter.py +0 -0
  136. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/_path_resolver.py +0 -0
  137. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/_zip_builder.py +0 -0
  138. {prefect_client-3.6.30.dev4/src/prefect/_experimental → prefect_client-3.7.1.dev1/src/prefect}/bundles/_zip_extractor.py +0 -0
  139. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/cache_policies.py +0 -0
  140. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/AGENTS.md +0 -0
  141. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/__init__.py +0 -0
  142. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/_version_checking.py +0 -0
  143. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/attribution.py +0 -0
  144. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/base.py +0 -0
  145. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/cloud.py +0 -0
  146. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/collections.py +0 -0
  147. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/constants.py +0 -0
  148. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/__init__.py +0 -0
  149. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  150. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  151. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  152. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_automations/client.py +0 -0
  153. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  154. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  155. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  156. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  157. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  158. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  159. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  160. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  161. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  162. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  163. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_events/__init__.py +0 -0
  164. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_events/client.py +0 -0
  165. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  166. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  167. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  168. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_flows/client.py +0 -0
  169. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  170. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_logs/client.py +0 -0
  171. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  172. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_variables/client.py +0 -0
  173. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  174. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  175. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/base.py +0 -0
  176. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/orchestration/routes.py +0 -0
  177. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/__init__.py +0 -0
  178. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/actions.py +0 -0
  179. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/events.py +0 -0
  180. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/filters.py +0 -0
  181. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/objects.py +0 -0
  182. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/responses.py +0 -0
  183. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/schedules.py +0 -0
  184. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/schemas/sorting.py +0 -0
  185. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/subscriptions.py +0 -0
  186. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/types/__init__.py +0 -0
  187. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  188. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/client/utilities.py +0 -0
  189. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/AGENTS.md +0 -0
  190. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/__init__.py +0 -0
  191. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/_asyncio.py +0 -0
  192. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/_events.py +0 -0
  193. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/_leases.py +0 -0
  194. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/_sync.py +0 -0
  195. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/asyncio.py +0 -0
  196. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/context.py +0 -0
  197. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/services.py +0 -0
  198. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/sync.py +0 -0
  199. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/__init__.py +0 -0
  200. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  201. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/_events.py +0 -0
  202. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/asyncio.py +0 -0
  203. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/context.py +0 -0
  204. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/services.py +0 -0
  205. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/concurrency/v1/sync.py +0 -0
  206. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/context.py +0 -0
  207. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/AGENTS.md +0 -0
  208. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/__init__.py +0 -0
  209. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/base.py +0 -0
  210. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/deployments.py +0 -0
  211. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/flow_runs.py +0 -0
  212. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/runner.py +0 -0
  213. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/schedules.py +0 -0
  214. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/steps/__init__.py +0 -0
  215. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/steps/core.py +0 -0
  216. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/steps/pull.py +0 -0
  217. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/deployments/steps/utility.py +0 -0
  218. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/docker/__init__.py +0 -0
  219. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/docker/_buildx.py +0 -0
  220. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/docker/docker_image.py +0 -0
  221. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/engine.py +0 -0
  222. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/AGENTS.md +0 -0
  223. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/__init__.py +0 -0
  224. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/actions.py +0 -0
  225. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/clients.py +0 -0
  226. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/filters.py +0 -0
  227. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/related.py +0 -0
  228. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/schemas/__init__.py +0 -0
  229. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/schemas/automations.py +0 -0
  230. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  231. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/schemas/events.py +0 -0
  232. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/schemas/labelling.py +0 -0
  233. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/subscribers.py +0 -0
  234. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/utilities.py +0 -0
  235. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/events/worker.py +0 -0
  236. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/exceptions.py +0 -0
  237. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/filesystems.py +0 -0
  238. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/flow_engine.py +0 -0
  239. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/flow_runs.py +0 -0
  240. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/futures.py +0 -0
  241. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/__init__.py +0 -0
  242. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/base.py +0 -0
  243. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  244. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  245. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  246. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  247. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  248. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  249. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/input/__init__.py +0 -0
  250. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/input/actions.py +0 -0
  251. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/input/run_input.py +0 -0
  252. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/locking/__init__.py +0 -0
  253. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/locking/_filelock.py +0 -0
  254. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/locking/filesystem.py +0 -0
  255. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/locking/memory.py +0 -0
  256. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/locking/protocol.py +0 -0
  257. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/AGENTS.md +0 -0
  258. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/__init__.py +0 -0
  259. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/clients.py +0 -0
  260. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/configuration.py +0 -0
  261. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/filters.py +0 -0
  262. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/formatters.py +0 -0
  263. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/handlers.py +0 -0
  264. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/highlighters.py +0 -0
  265. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/loggers.py +0 -0
  266. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/logging/logging.yml +0 -0
  267. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/main.py +0 -0
  268. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/py.typed +0 -0
  269. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/results.py +0 -0
  270. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/__init__.py +0 -0
  271. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_cancel_finalizer.py +0 -0
  272. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_cancellation_manager.py +0 -0
  273. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_control_channel.py +0 -0
  274. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_deployment_registry.py +0 -0
  275. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_event_emitter.py +0 -0
  276. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_flow_resolver.py +0 -0
  277. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_flow_run_executor.py +0 -0
  278. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_hook_runner.py +0 -0
  279. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_limit_manager.py +0 -0
  280. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_process_manager.py +0 -0
  281. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_scheduled_run_poller.py +0 -0
  282. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_starter_direct.py +0 -0
  283. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_starter_engine.py +0 -0
  284. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_state_proposer.py +0 -0
  285. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_workspace_resolver.py +0 -0
  286. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/_workspace_starter.py +0 -0
  287. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/server.py +0 -0
  288. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runner/storage.py +0 -0
  289. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runtime/__init__.py +0 -0
  290. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runtime/deployment.py +0 -0
  291. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runtime/flow_run.py +0 -0
  292. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/runtime/task_run.py +0 -0
  293. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/schedules.py +0 -0
  294. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/serializers.py +0 -0
  295. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/__init__.py +0 -0
  296. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/admin.py +0 -0
  297. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/artifacts.py +0 -0
  298. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/automations.py +0 -0
  299. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/background_workers.py +0 -0
  300. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/block_capabilities.py +0 -0
  301. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/block_schemas.py +0 -0
  302. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/block_types.py +0 -0
  303. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/clients.py +0 -0
  304. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/collections.py +0 -0
  305. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  306. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/concurrency_limits.py +0 -0
  307. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  308. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/csrf_token.py +0 -0
  309. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/dependencies.py +0 -0
  310. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/deployments.py +0 -0
  311. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/events.py +0 -0
  312. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/flow_run_states.py +0 -0
  313. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/flow_runs.py +0 -0
  314. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/flows.py +0 -0
  315. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/logs.py +0 -0
  316. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/middleware.py +0 -0
  317. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/root.py +0 -0
  318. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/run_history.py +0 -0
  319. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/saved_searches.py +0 -0
  320. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/server.py +0 -0
  321. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  322. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/task_run_states.py +0 -0
  323. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/task_runs.py +0 -0
  324. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/task_workers.py +0 -0
  325. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/templates.py +0 -0
  326. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/ui/__init__.py +0 -0
  327. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/ui/flow_runs.py +0 -0
  328. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/ui/flows.py +0 -0
  329. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/ui/schemas.py +0 -0
  330. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/ui/task_runs.py +0 -0
  331. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/validation.py +0 -0
  332. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/variables.py +0 -0
  333. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/work_queues.py +0 -0
  334. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/server/api/workers.py +0 -0
  335. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/__init__.py +0 -0
  336. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/base.py +0 -0
  337. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/constants.py +0 -0
  338. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/context.py +0 -0
  339. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/legacy.py +0 -0
  340. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/__init__.py +0 -0
  341. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/_defaults.py +0 -0
  342. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/api.py +0 -0
  343. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/cli.py +0 -0
  344. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/client.py +0 -0
  345. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/cloud.py +0 -0
  346. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/deployments.py +0 -0
  347. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/events.py +0 -0
  348. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/flows.py +0 -0
  349. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/internal.py +0 -0
  350. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/logging.py +0 -0
  351. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/results.py +0 -0
  352. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/runner.py +0 -0
  353. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/__init__.py +0 -0
  354. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/api.py +0 -0
  355. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/concurrency.py +0 -0
  356. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/database.py +0 -0
  357. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/deployments.py +0 -0
  358. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/docket.py +0 -0
  359. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/ephemeral.py +0 -0
  360. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/events.py +0 -0
  361. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  362. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/logs.py +0 -0
  363. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/root.py +0 -0
  364. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/services.py +0 -0
  365. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/tasks.py +0 -0
  366. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/server/ui.py +0 -0
  367. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/tasks.py +0 -0
  368. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/telemetry.py +0 -0
  369. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/testing.py +0 -0
  370. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/models/worker.py +0 -0
  371. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/profiles.py +0 -0
  372. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/profiles.toml +0 -0
  373. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/settings/sources.py +0 -0
  374. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/states.py +0 -0
  375. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/task_engine.py +0 -0
  376. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/task_runners.py +0 -0
  377. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/task_runs.py +0 -0
  378. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/task_worker.py +0 -0
  379. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/tasks.py +0 -0
  380. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/telemetry/__init__.py +0 -0
  381. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/telemetry/_metrics.py +0 -0
  382. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/telemetry/run_telemetry.py +0 -0
  383. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/transactions.py +0 -0
  384. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/types/__init__.py +0 -0
  385. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/types/_concurrency.py +0 -0
  386. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/types/_datetime.py +0 -0
  387. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/types/_schema.py +0 -0
  388. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/types/entrypoint.py +0 -0
  389. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/types/names.py +0 -0
  390. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/AGENTS.md +0 -0
  391. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/__init__.py +0 -0
  392. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/_ast.py +0 -0
  393. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/_deprecated.py +0 -0
  394. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/_engine.py +0 -0
  395. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/_git.py +0 -0
  396. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/_infrastructure_exit_codes.py +0 -0
  397. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/annotations.py +0 -0
  398. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/asyncutils/AGENTS.md +0 -0
  399. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/asyncutils/__init__.py +0 -0
  400. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/callables/AGENTS.md +0 -0
  401. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/callables/__init__.py +0 -0
  402. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/collections.py +0 -0
  403. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/compat.py +0 -0
  404. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/context.py +0 -0
  405. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/dispatch.py +0 -0
  406. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/dockerutils.py +0 -0
  407. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/engine/AGENTS.md +0 -0
  408. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/engine/__init__.py +0 -0
  409. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/filesystem/AGENTS.md +0 -0
  410. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/filesystem/__init__.py +0 -0
  411. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/generics.py +0 -0
  412. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/hashing.py +0 -0
  413. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/importtools.py +0 -0
  414. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/math.py +0 -0
  415. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/names.py +0 -0
  416. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/processutils/AGENTS.md +0 -0
  417. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/processutils/__init__.py +0 -0
  418. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/pydantic.py +0 -0
  419. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/render_swagger.py +0 -0
  420. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/schema_tools/AGENTS.md +0 -0
  421. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  422. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  423. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/schema_tools/validation.py +0 -0
  424. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/services.py +0 -0
  425. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/slugify.py +0 -0
  426. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/templating/AGENTS.md +0 -0
  427. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/templating/__init__.py +0 -0
  428. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/text.py +0 -0
  429. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/timeout.py +0 -0
  430. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/urls.py +0 -0
  431. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/utilities/visualization.py +0 -0
  432. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/variables.py +0 -0
  433. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/AGENTS.md +0 -0
  434. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/__init__.py +0 -0
  435. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/block.py +0 -0
  436. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/cloud.py +0 -0
  437. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/server.py +0 -0
  438. {prefect_client-3.6.30.dev4 → prefect_client-3.7.1.dev1}/src/prefect/workers/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.6.30.dev4
3
+ Version: 3.7.1.dev1
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -58,6 +58,8 @@ Use `get_logger()` from `prefect.logging` instead of raw `logging.getLogger()`
58
58
  - `utilities/` → Cross-cutting helpers: async utils, schema hydration, callables introspection, and more (see utilities/AGENTS.md)
59
59
  - `blocks/` → Server-persisted configuration objects for external service credentials and settings (see blocks/AGENTS.md)
60
60
  - `workers/` → Work-pool-based execution layer: polls for flow runs, dispatches to infrastructure (see workers/AGENTS.md)
61
+ - `bundles/` → Flow bundling for remote execution (`create_bundle_for_flow_run`, cloudpickle+gzip); used by workers when dispatching `InfrastructureBoundFlow` runs; `execute_bundle_from_file` is lazy-loaded via `__getattr__` to avoid `runpy` warnings when invoked as `python -m prefect.bundles.execute`
62
+ - `plugins.py` → Stable public surface for startup hooks and `prefect.collections` entrypoint loading; pluggy symbols are lazy-loaded so `prefect-client` builds (which don't ship pluggy) can still import `load_prefect_collections` without error
61
63
  - `docker/` → `DockerImage` class for building and pushing Docker images during deployment
62
64
  - `telemetry/` → OS-level resource metric collection and run telemetry
63
65
  - `testing/` → Test utilities shipped with the SDK: `prefect_test_harness`, assertion helpers, and reusable fixtures (see testing/AGENTS.md)
@@ -78,25 +78,24 @@ del _build_info, pathlib
78
78
 
79
79
  def _initialize_plugins() -> None:
80
80
  """
81
- Initialize the experimental plugin system if enabled.
81
+ Initialize the plugin system if enabled.
82
82
 
83
83
  This runs automatically when Prefect is imported and plugins are enabled
84
- via experiments.plugins.enabled setting. Errors are logged but don't prevent
84
+ via the `plugins.enabled` setting. Errors are logged but don't prevent
85
85
  Prefect from loading.
86
86
  """
87
87
  try:
88
88
  # Import here to avoid circular imports and defer cost until needed
89
89
  from prefect.settings import get_current_settings
90
90
 
91
- if not get_current_settings().experiments.plugins.enabled:
91
+ if not get_current_settings().plugins.enabled:
92
92
  return
93
93
 
94
94
  import anyio
95
95
 
96
- from prefect._experimental.plugins import run_startup_hooks
97
- from prefect._experimental.plugins.spec import HookContext
98
96
  from prefect.context import refresh_global_settings_context
99
97
  from prefect.logging import get_logger
98
+ from prefect.plugins import HookContext, run_startup_hooks
100
99
  from prefect.settings import get_current_settings
101
100
 
102
101
  ctx = HookContext(
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.7.1.dev1"
3
+ __build_date__ = "2026-05-07 09:00:27.488612+00:00"
4
+ __git_commit__ = "2691cc6539774f7ecefc718395f6abe8301fe76f"
5
+ __dirty__ = False
@@ -0,0 +1,31 @@
1
+ """
2
+ Compatibility shim for the legacy `prefect._experimental._launchers` path.
3
+
4
+ The launcher utilities graduated to GA at `prefect._launchers` when the
5
+ infrastructure decorators feature became stable. This module re-exports
6
+ the public symbols from the new location and emits a
7
+ `DeprecationWarning` so consumers know to migrate.
8
+ """
9
+
10
+ import warnings
11
+
12
+ from prefect._launchers import (
13
+ get_launcher_for_side,
14
+ normalize_launcher,
15
+ resolve_bundle_step_with_launcher,
16
+ validate_bundle_step_launcher,
17
+ )
18
+
19
+ warnings.warn(
20
+ "`prefect._experimental._launchers` has moved to `prefect._launchers`. "
21
+ "The old import path will be removed in a future release.",
22
+ DeprecationWarning,
23
+ stacklevel=2,
24
+ )
25
+
26
+ __all__ = [
27
+ "get_launcher_for_side",
28
+ "normalize_launcher",
29
+ "resolve_bundle_step_with_launcher",
30
+ "validate_bundle_step_launcher",
31
+ ]
@@ -0,0 +1,68 @@
1
+ """
2
+ Compatibility shim for the legacy `prefect._experimental.bundles` path.
3
+
4
+ The bundle implementation graduated to GA at `prefect.bundles` when the
5
+ infrastructure decorators feature became stable. This package keeps the
6
+ old import path importable (and `python -m`-runnable for the legacy
7
+ `...bundles.execute` entrypoint), but emits a `DeprecationWarning` so
8
+ consumers know to migrate to `prefect.bundles`.
9
+ """
10
+
11
+ import warnings
12
+ from typing import Any
13
+
14
+ from prefect.bundles import (
15
+ BundleCreationResult,
16
+ BundleLauncher,
17
+ BundleLauncherOverride,
18
+ BundleLauncherSide,
19
+ SerializedBundle,
20
+ aupload_bundle_to_storage,
21
+ convert_step_to_command,
22
+ create_bundle_for_flow_run,
23
+ execute_bundle_in_subprocess,
24
+ extract_flow_from_bundle,
25
+ upload_bundle_to_storage,
26
+ )
27
+ from prefect.bundles import _pin_prefect_in_bundle_step_requires # noqa: F401
28
+
29
+ warnings.warn(
30
+ "`prefect._experimental.bundles` has moved to `prefect.bundles`. "
31
+ "The old import path will be removed in a future release.",
32
+ DeprecationWarning,
33
+ stacklevel=2,
34
+ )
35
+
36
+ __all__ = [
37
+ "BundleCreationResult",
38
+ "BundleLauncher",
39
+ "BundleLauncherOverride",
40
+ "BundleLauncherSide",
41
+ "SerializedBundle",
42
+ "aupload_bundle_to_storage",
43
+ "convert_step_to_command",
44
+ "create_bundle_for_flow_run",
45
+ "execute_bundle_from_file",
46
+ "execute_bundle_in_subprocess",
47
+ "extract_flow_from_bundle",
48
+ "upload_bundle_to_storage",
49
+ ]
50
+
51
+
52
+ def __getattr__(name: str) -> Any:
53
+ """Lazy-load `execute_bundle_from_file` from the `.execute` submodule
54
+ so importing this package does not pre-populate
55
+ `sys.modules["prefect._experimental.bundles.execute"]`. That would
56
+ make `python -m prefect._experimental.bundles.execute` emit a
57
+ `runpy` `RuntimeWarning` and hard-fail under
58
+ `PYTHONWARNINGS=error`. Accessing the legacy `.execute` submodule
59
+ by attribute (rather than importing it eagerly) still works because
60
+ Python binds it on the package after a separate `from . import
61
+ execute` (the legacy execute shim is reachable via plain
62
+ `import prefect._experimental.bundles.execute`).
63
+ """
64
+ if name == "execute_bundle_from_file":
65
+ from prefect.bundles.execute import execute_bundle_from_file
66
+
67
+ return execute_bundle_from_file
68
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
@@ -0,0 +1,46 @@
1
+ """
2
+ Compatibility shim for the legacy `prefect._experimental.bundles.execute`
3
+ entrypoint.
4
+
5
+ Existing work pool storage configurations may have stored the command
6
+ `python -m prefect._experimental.bundles.execute --key ...` before the
7
+ bundle implementation graduated to GA. This module re-exports the new
8
+ `prefect.bundles.execute` symbols and forwards `python -m` execution to
9
+ the new entrypoint, while emitting a `DeprecationWarning` so users know
10
+ to migrate to `prefect.bundles.execute`.
11
+ """
12
+
13
+ import warnings
14
+ from typing import Any
15
+
16
+ warnings.warn(
17
+ "`prefect._experimental.bundles.execute` has moved to "
18
+ "`prefect.bundles.execute`. The old import path will be removed in a "
19
+ "future release.",
20
+ DeprecationWarning,
21
+ stacklevel=2,
22
+ )
23
+
24
+ __all__ = ["execute_bundle", "execute_bundle_from_file"] # noqa: F822
25
+
26
+
27
+ def __getattr__(name: str) -> Any:
28
+ """Lazy-load symbols from `prefect.bundles.execute` so that running
29
+ `python -m prefect._experimental.bundles.execute` does not put
30
+ `prefect.bundles.execute` in `sys.modules` before the
31
+ `runpy.run_module` forward below executes — that would trigger a
32
+ runpy `RuntimeWarning` (and hard-fail under `PYTHONWARNINGS=error`).
33
+ """
34
+ if name in {"execute_bundle", "execute_bundle_from_file"}:
35
+ from prefect.bundles.execute import execute_bundle, execute_bundle_from_file
36
+
37
+ if name == "execute_bundle":
38
+ return execute_bundle
39
+ return execute_bundle_from_file
40
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
41
+
42
+
43
+ if __name__ == "__main__":
44
+ import runpy
45
+
46
+ runpy.run_module("prefect.bundles.execute", run_name="__main__")
@@ -0,0 +1,16 @@
1
+ """
2
+ Deprecated. Use `prefect.plugins` instead.
3
+
4
+ The plugin system has graduated from experimental to general availability.
5
+ Imports from this path continue to work but emit a `DeprecationWarning`.
6
+ """
7
+
8
+ from prefect._internal.compatibility.deprecated_paths import deprecated_module_attrs
9
+
10
+ # Names are lazily resolved by `__getattr__` below; ruff's F822 (undefined
11
+ # name in __all__) doesn't fit this deprecation-shim pattern.
12
+ # fmt: off
13
+ __all__ = ("run_startup_hooks", "HookContext", "SetupResult", "HookSpec", "SetupSummary", "PREFECT_PLUGIN_API_VERSION", "register_hook") # noqa: F822
14
+ # fmt: on
15
+
16
+ __getattr__ = deprecated_module_attrs(__name__, "prefect.plugins", __all__)
@@ -0,0 +1,5 @@
1
+ """Deprecated. The contents of this module were never public API."""
2
+
3
+ from prefect._internal.compatibility.deprecated_paths import deprecated_module_attrs
4
+
5
+ __getattr__ = deprecated_module_attrs(__name__, "prefect.plugins", ())
@@ -0,0 +1,7 @@
1
+ """Deprecated. Use `prefect.plugins` instead."""
2
+
3
+ from prefect._internal.compatibility.deprecated_paths import deprecated_module_attrs
4
+
5
+ __all__ = ("SetupSummary",) # noqa: F822 - lazily resolved by `__getattr__`
6
+
7
+ __getattr__ = deprecated_module_attrs(__name__, "prefect.plugins", __all__)
@@ -0,0 +1,7 @@
1
+ """Deprecated. Use `prefect.plugins` instead."""
2
+
3
+ from prefect._internal.compatibility.deprecated_paths import deprecated_module_attrs
4
+
5
+ __all__ = ("register_hook",) # noqa: F822 - lazily resolved by `__getattr__`
6
+
7
+ __getattr__ = deprecated_module_attrs(__name__, "prefect.plugins", __all__)
@@ -0,0 +1,7 @@
1
+ """Deprecated. Use `prefect.plugins` instead."""
2
+
3
+ from prefect._internal.compatibility.deprecated_paths import deprecated_module_attrs
4
+
5
+ __all__ = ("HookContext", "SetupResult", "HookSpec", "PREFECT_PLUGIN_API_VERSION") # noqa: F822 - names lazily resolved by `__getattr__`
6
+
7
+ __getattr__ = deprecated_module_attrs(__name__, "prefect.plugins", __all__)
@@ -0,0 +1,60 @@
1
+ """
2
+ Generic helper for keeping a deprecated module path working as a re-export
3
+ of a new location, emitting a DeprecationWarning per attribute access.
4
+
5
+ Independent of any specific Prefect version migration. Intended for cases
6
+ where a feature graduates between lifecycle stages (e.g., experimental to
7
+ GA) and we want the old import path to continue working with a clear hand
8
+ off message, but without coupling to the v2->v3 module migration helpers
9
+ in `prefect._internal.compatibility.migration`.
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ import importlib
15
+ import warnings
16
+ from typing import Any, Callable, Iterable
17
+
18
+
19
+ def deprecated_module_attrs(
20
+ old_module: str,
21
+ new_module: str,
22
+ names: Iterable[str],
23
+ ) -> Callable[[str], Any]:
24
+ """
25
+ Build a `__getattr__` for a deprecated module that re-exports public
26
+ symbols from a new location. Each access emits a DeprecationWarning
27
+ pointing the user at the new path.
28
+
29
+ Symbols not in `names` raise `AttributeError` (rather than being
30
+ silently re-exported) — this keeps the public surface explicit and
31
+ avoids leaking implementation details that the new location does not
32
+ intend to expose.
33
+
34
+ Usage at the bottom of the deprecated module:
35
+
36
+ from prefect._internal.compatibility.deprecated_paths import (
37
+ deprecated_module_attrs,
38
+ )
39
+
40
+ __getattr__ = deprecated_module_attrs(
41
+ __name__,
42
+ "prefect.plugins",
43
+ ("register_hook", "HookContext"),
44
+ )
45
+ """
46
+ name_set = frozenset(names)
47
+
48
+ def __getattr__(name: str) -> Any:
49
+ if name in name_set:
50
+ warnings.warn(
51
+ f"`{old_module}.{name}` has moved to `{new_module}.{name}`. "
52
+ f"Update your imports; the old path will be removed in a "
53
+ f"future release.",
54
+ DeprecationWarning,
55
+ stacklevel=2,
56
+ )
57
+ return getattr(importlib.import_module(new_module), name)
58
+ raise AttributeError(f"module {old_module!r} has no attribute {name!r}")
59
+
60
+ return __getattr__
@@ -0,0 +1,7 @@
1
+ """
2
+ Internal implementation of Prefect's plugin system.
3
+
4
+ Public API for these modules is re-exported from `prefect.plugins`. Importing
5
+ directly from `prefect._internal.plugins.*` is not part of the supported
6
+ contract and may change without notice.
7
+ """
@@ -7,7 +7,7 @@ from __future__ import annotations
7
7
  import logging
8
8
  import os
9
9
 
10
- from prefect._experimental.plugins.spec import SetupResult
10
+ from prefect._internal.plugins.spec import SetupResult
11
11
 
12
12
  REDACT_KEYS = ("SECRET", "TOKEN", "PASSWORD", "KEY")
13
13
 
@@ -1,11 +1,11 @@
1
1
  """
2
- Utilities for loading plugins that extend Prefect's functionality.
2
+ Utilities for loading Prefect collections via setuptools entry points.
3
3
 
4
- Plugins are detected by entry point definitions in package setup files.
4
+ Collections are detected via the `prefect.collections` entry point group;
5
+ each entry point is a module to import when Prefect itself is imported,
6
+ typically to register Blocks or other Prefect-aware classes.
5
7
 
6
- Currently supported entrypoints:
7
- - prefect.collections: Identifies this package as a Prefect collection that
8
- should be imported when Prefect is imported.
8
+ Public API is re-exported from `prefect.plugins`.
9
9
  """
10
10
 
11
11
  from importlib.metadata import EntryPoints, entry_points
@@ -1,5 +1,5 @@
1
1
  """
2
- Diagnostic data structures for plugin system.
2
+ Diagnostic data structures for the plugin system.
3
3
  """
4
4
 
5
5
  from __future__ import annotations
@@ -13,12 +13,15 @@ from typing import Any
13
13
  import pluggy
14
14
  from packaging.specifiers import InvalidSpecifier, SpecifierSet
15
15
 
16
- from prefect._experimental.plugins.spec import PREFECT_PLUGIN_API_VERSION
16
+ from prefect._internal.plugins.spec import PREFECT_PLUGIN_API_VERSION
17
17
 
18
+ # Pluggy project name. Kept as "prefect-experimental" for backward compat —
19
+ # plugins decorated with the experimental-era marker continue to register
20
+ # without modification.
18
21
  PM_PROJECT_NAME = "prefect-experimental"
19
22
  ENTRYPOINTS_GROUP = "prefect.plugins"
20
23
 
21
- register_hook = pluggy.HookimplMarker(PM_PROJECT_NAME)
24
+ register_hook: pluggy.HookimplMarker = pluggy.HookimplMarker(PM_PROJECT_NAME)
22
25
 
23
26
 
24
27
  def build_manager(hookspecs: type) -> pluggy.PluginManager:
@@ -1,8 +1,8 @@
1
1
  """
2
- Experimental plugin API specification.
2
+ Plugin API specification.
3
3
 
4
- This module defines the hook specification and data structures for Prefect's
5
- experimental plugin system.
4
+ Defines the hook specification and data structures for Prefect's plugin
5
+ system. Public symbols are re-exported from `prefect.plugins`.
6
6
  """
7
7
 
8
8
  from __future__ import annotations
@@ -16,6 +16,10 @@ import pluggy
16
16
  # Bump this when breaking the hook contract
17
17
  PREFECT_PLUGIN_API_VERSION = "0.1"
18
18
 
19
+ # Pluggy project name. Matches `HookimplMarker` in manager.py so that
20
+ # specs and impls pair correctly. Kept as "prefect-experimental" for
21
+ # backward compat — plugins decorated with the experimental-era marker
22
+ # (e.g. prefect-aws) continue to register without modification.
19
23
  hookspec = pluggy.HookspecMarker("prefect-experimental")
20
24
 
21
25
 
@@ -1,44 +1,28 @@
1
1
  """
2
- Experimental plugin system for Prefect.
2
+ Plugin startup hook orchestration.
3
3
 
4
- This module provides a startup hook system that allows third-party packages
5
- to run initialization code before Prefect CLI commands, workers, or agents
6
- start their main work.
7
-
8
- **Note: This is an experimental API and is subject to change.**
4
+ Reads the `plugins` settings, builds a pluggy manager, runs all registered
5
+ `setup_environment` hooks (with timeout and strict-mode handling), and
6
+ returns diagnostic summaries. Public entry point is re-exported from
7
+ `prefect.plugins`.
9
8
  """
10
9
 
11
10
  from __future__ import annotations
11
+
12
12
  from typing import Any
13
13
 
14
14
  import anyio
15
15
 
16
- from prefect._experimental.plugins.apply import apply_setup_result, summarize_env
17
- from prefect._experimental.plugins.diagnostics import SetupSummary
18
- from prefect._experimental.plugins.manager import (
16
+ from prefect._internal.plugins.apply import apply_setup_result, summarize_env
17
+ from prefect._internal.plugins.diagnostics import SetupSummary
18
+ from prefect._internal.plugins.manager import (
19
19
  build_manager,
20
20
  call_async_hook,
21
21
  load_entry_point_plugins,
22
- register_hook,
23
- )
24
- from prefect._experimental.plugins.spec import (
25
- PREFECT_PLUGIN_API_VERSION,
26
- HookContext,
27
- HookSpec,
28
- SetupResult,
29
22
  )
23
+ from prefect._internal.plugins.spec import HookContext, HookSpec, SetupResult
30
24
  from prefect.settings import get_current_settings
31
25
 
32
- __all__ = [
33
- "run_startup_hooks",
34
- "HookContext",
35
- "SetupResult",
36
- "HookSpec",
37
- "SetupSummary",
38
- "PREFECT_PLUGIN_API_VERSION",
39
- "register_hook",
40
- ]
41
-
42
26
 
43
27
  async def run_startup_hooks(ctx: HookContext) -> list[SetupSummary]:
44
28
  """
@@ -61,13 +45,13 @@ async def run_startup_hooks(ctx: HookContext) -> list[SetupSummary]:
61
45
  SystemExit: In strict mode, if a required plugin fails
62
46
  """
63
47
  logger = ctx.logger_factory("prefect.plugins")
64
- settings = get_current_settings().experiments.plugins
48
+ settings = get_current_settings().plugins
65
49
 
66
50
  if not settings.enabled:
67
- logger.debug("Experimental plugins not enabled")
51
+ logger.debug("Plugins not enabled")
68
52
  return []
69
53
 
70
- logger.debug("Initializing experimental plugin system")
54
+ logger.debug("Initializing plugin system")
71
55
  pm = build_manager(HookSpec)
72
56
  allow = settings.allow
73
57
  deny = settings.deny
@@ -137,3 +121,6 @@ async def run_startup_hooks(ctx: HookContext) -> list[SetupSummary]:
137
121
 
138
122
  logger.debug("Plugin system initialization complete (%d plugins)", len(summaries))
139
123
  return summaries
124
+
125
+
126
+ __all__ = ["run_startup_hooks", "HookContext", "HookSpec", "SetupResult"]
@@ -4,7 +4,7 @@ from copy import deepcopy
4
4
  from typing import TYPE_CHECKING, Any
5
5
 
6
6
  if TYPE_CHECKING:
7
- from prefect._experimental.bundles import (
7
+ from prefect.bundles import (
8
8
  BundleLauncher,
9
9
  BundleLauncherOverride,
10
10
  BundleLauncherSide,
@@ -924,12 +924,27 @@ class Block(BaseModel, ABC):
924
924
  raise UnknownBlockType(message)
925
925
 
926
926
  def _define_metadata_on_nested_blocks(
927
- self, block_document_references: dict[str, dict[str, Any]]
927
+ self,
928
+ block_document_references: dict[str, dict[str, Any]],
929
+ _depth: int = 0,
930
+ _max_depth: int = 50,
931
+ _visited: set[int] | None = None,
928
932
  ):
929
933
  """
930
934
  Recursively populates metadata fields on nested blocks based on the
931
- provided block document references.
935
+ provided block document references. The depth bound and visited-set
936
+ keep recursion finite even if the references dict happens to be
937
+ deeply nested or shares dict identity across levels.
932
938
  """
939
+ if _depth > _max_depth:
940
+ return
941
+ if _visited is None:
942
+ _visited = set()
943
+ refs_id = id(block_document_references)
944
+ if refs_id in _visited:
945
+ return
946
+ _visited.add(refs_id)
947
+
933
948
  for item in block_document_references.items():
934
949
  field_name, block_document_reference = item
935
950
  nested_block = getattr(self, field_name)
@@ -938,7 +953,10 @@ class Block(BaseModel, ABC):
938
953
  "block_document", {}
939
954
  )
940
955
  nested_block._define_metadata_on_nested_blocks(
941
- nested_block_document_info.get("block_document_references", {})
956
+ nested_block_document_info.get("block_document_references", {}),
957
+ _depth=_depth + 1,
958
+ _max_depth=_max_depth,
959
+ _visited=_visited,
942
960
  )
943
961
  nested_block_document_id = nested_block_document_info.get("id")
944
962
  nested_block._block_document_id = (
@@ -39,12 +39,11 @@ from prefect.settings.models.root import Settings
39
39
  from prefect.utilities.processutils import sanitize_subprocess_env
40
40
  from prefect.utilities.slugify import slugify
41
41
 
42
- from prefect._experimental._launchers import (
42
+ from prefect._launchers import (
43
43
  get_launcher_for_side,
44
44
  validate_bundle_step_launcher,
45
45
  )
46
46
 
47
- from .execute import execute_bundle_from_file
48
47
  from ._file_collector import FileCollector
49
48
  from ._ignore_filter import IgnoreFilter, check_sensitive_files
50
49
  from ._zip_builder import ZipBuilder
@@ -876,3 +875,19 @@ __all__ = [
876
875
  "extract_flow_from_bundle",
877
876
  "SerializedBundle",
878
877
  ]
878
+
879
+
880
+ def __getattr__(name: str) -> Any:
881
+ """Lazy-load `execute_bundle_from_file` from the `.execute` submodule.
882
+
883
+ Importing the submodule eagerly at package init pre-populates
884
+ `sys.modules["prefect.bundles.execute"]`, which makes
885
+ `python -m prefect.bundles.execute` emit a `runpy` `RuntimeWarning`
886
+ (and hard-fail under `PYTHONWARNINGS=error`). Defer the import so
887
+ `python -m` is the first thing to load the submodule.
888
+ """
889
+ if name == "execute_bundle_from_file":
890
+ from .execute import execute_bundle_from_file
891
+
892
+ return execute_bundle_from_file
893
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
@@ -16,12 +16,12 @@ from pathlib import Path
16
16
  import pathspec
17
17
  import pathspec.util
18
18
 
19
- from prefect._experimental.bundles._ignore_filter import (
19
+ from ._ignore_filter import (
20
20
  IgnoreFilter,
21
21
  check_sensitive_files,
22
22
  emit_excluded_warning,
23
23
  )
24
- from prefect._experimental.bundles._path_resolver import (
24
+ from ._path_resolver import (
25
25
  PathValidationError,
26
26
  normalize_path_separator,
27
27
  resolve_with_symlink_check,
@@ -1,10 +1,11 @@
1
1
  import json
2
2
  import sys
3
+ from typing import Any
3
4
 
4
5
  from prefect.utilities.asyncutils import run_coro_as_sync
5
6
 
6
7
 
7
- def execute_bundle_from_file(key: str):
8
+ def execute_bundle_from_file(key: str) -> None:
8
9
  """
9
10
  Loads a bundle from a file and executes it.
10
11
 
@@ -17,11 +18,11 @@ def execute_bundle_from_file(key: str):
17
18
  run_coro_as_sync(execute_bundle(bundle))
18
19
 
19
20
 
20
- async def execute_bundle(bundle: dict) -> None:
21
+ async def execute_bundle(bundle: dict[str, Any]) -> None:
21
22
  # All these imports must stay deferred to break circular imports:
22
23
  # bundles/__init__ imports from .execute, and _starter_bundle imports from bundles/__init__
23
24
  # _flow_run_executor → runner/__init__ → runner.py → bundles/__init__
24
- from prefect._experimental.bundles import extract_flow_from_bundle
25
+ from prefect.bundles import extract_flow_from_bundle
25
26
  from prefect.client.schemas.objects import FlowRun
26
27
  from prefect.flows import Flow
27
28
  from prefect.runner._flow_run_executor import FlowRunExecutorContext
@@ -45,8 +46,8 @@ async def execute_bundle(bundle: dict) -> None:
45
46
 
46
47
 
47
48
  if __name__ == "__main__":
48
- if len(sys.argv) < 3 and sys.argv[1] != "--key":
49
+ if len(sys.argv) < 3 or sys.argv[1] != "--key":
49
50
  print("Please provide a key representing a path to a bundle")
50
51
  sys.exit(1)
51
- key = sys.argv[2]
52
+ key: str = sys.argv[2]
52
53
  execute_bundle_from_file(key)