prefect-client 3.3.2.dev1__tar.gz → 3.3.3__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 (324) hide show
  1. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/.gitignore +2 -1
  2. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/PKG-INFO +1 -1
  3. prefect_client-3.3.3/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/compatibility/deprecated.py +1 -1
  5. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/pydantic/v2_schema.py +1 -0
  6. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/core.py +9 -12
  7. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/__init__.py +5 -0
  8. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_deployments/client.py +133 -62
  9. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/routes.py +1 -0
  10. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/actions.py +39 -1
  11. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/objects.py +25 -0
  12. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/responses.py +49 -1
  13. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/context.py +2 -1
  14. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/related.py +5 -3
  15. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/flows.py +2 -1
  16. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runner/runner.py +2 -18
  17. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/schedules.py +2 -2
  18. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/flow_runs.py +16 -15
  19. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/run_history.py +1 -1
  20. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/ui/task_runs.py +21 -1
  21. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/base.py +1 -1
  22. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/root.py +10 -5
  23. prefect_client-3.3.2.dev1/src/prefect/_build_info.py +0 -5
  24. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/LICENSE +0 -0
  25. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/README.md +0 -0
  26. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/pyproject.toml +0 -0
  27. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/.prefectignore +0 -0
  28. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/__init__.py +0 -0
  29. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/__main__.py +0 -0
  30. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_experimental/__init__.py +0 -0
  31. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_experimental/bundles.py +0 -0
  32. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_experimental/lineage.py +0 -0
  33. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_experimental/sla/__init__.py +0 -0
  34. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_experimental/sla/client.py +0 -0
  35. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_experimental/sla/objects.py +0 -0
  36. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/__init__.py +0 -0
  37. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/_logging.py +0 -0
  38. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/compatibility/__init__.py +0 -0
  39. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  40. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/compatibility/migration.py +0 -0
  41. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/__init__.py +0 -0
  42. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/api.py +0 -0
  43. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/calls.py +0 -0
  44. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  45. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  46. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/inspection.py +0 -0
  47. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/primitives.py +0 -0
  48. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/services.py +0 -0
  49. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/threads.py +0 -0
  50. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/concurrency/waiters.py +0 -0
  51. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/integrations.py +0 -0
  52. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/pydantic/__init__.py +0 -0
  53. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/pydantic/schemas.py +0 -0
  54. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  55. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  56. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/pytz.py +0 -0
  57. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/retries.py +0 -0
  58. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/schemas/__init__.py +0 -0
  59. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/schemas/bases.py +0 -0
  60. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/schemas/fields.py +0 -0
  61. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/schemas/serializers.py +0 -0
  62. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_internal/schemas/validators.py +0 -0
  63. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_result_records.py +0 -0
  64. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_vendor/croniter/__init__.py +0 -0
  65. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_vendor/croniter/croniter.py +0 -0
  66. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/_waiters.py +0 -0
  67. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/agent.py +0 -0
  68. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/artifacts.py +0 -0
  69. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/automations.py +0 -0
  70. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/__init__.py +0 -0
  71. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/abstract.py +0 -0
  72. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/fields.py +0 -0
  73. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/notifications.py +0 -0
  74. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/redis.py +0 -0
  75. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/system.py +0 -0
  76. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/blocks/webhook.py +0 -0
  77. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/cache_policies.py +0 -0
  78. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/__init__.py +0 -0
  79. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/base.py +0 -0
  80. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/cloud.py +0 -0
  81. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/collections.py +0 -0
  82. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/constants.py +0 -0
  83. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  84. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  85. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  86. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_automations/client.py +0 -0
  87. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  88. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  89. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  90. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  91. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  92. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  93. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  94. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  95. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  96. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  97. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  98. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  99. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_flows/client.py +0 -0
  100. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  101. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_logs/client.py +0 -0
  102. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  103. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_variables/client.py +0 -0
  104. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  105. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  106. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/orchestration/base.py +0 -0
  107. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/__init__.py +0 -0
  108. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/filters.py +0 -0
  109. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/schedules.py +0 -0
  110. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/schemas/sorting.py +0 -0
  111. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/subscriptions.py +0 -0
  112. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/types/__init__.py +0 -0
  113. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  114. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/client/utilities.py +0 -0
  115. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/__init__.py +0 -0
  116. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/_asyncio.py +0 -0
  117. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/_events.py +0 -0
  118. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/asyncio.py +0 -0
  119. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/context.py +0 -0
  120. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/services.py +0 -0
  121. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/sync.py +0 -0
  122. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/__init__.py +0 -0
  123. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  124. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/_events.py +0 -0
  125. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/asyncio.py +0 -0
  126. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/context.py +0 -0
  127. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/services.py +0 -0
  128. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/concurrency/v1/sync.py +0 -0
  129. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/__init__.py +0 -0
  130. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/base.py +0 -0
  131. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/deployments.py +0 -0
  132. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/flow_runs.py +0 -0
  133. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/runner.py +0 -0
  134. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/schedules.py +0 -0
  135. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/steps/__init__.py +0 -0
  136. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/steps/core.py +0 -0
  137. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/steps/pull.py +0 -0
  138. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/deployments/steps/utility.py +0 -0
  139. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/docker/__init__.py +0 -0
  140. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/docker/docker_image.py +0 -0
  141. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/engine.py +0 -0
  142. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/__init__.py +0 -0
  143. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/actions.py +0 -0
  144. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/cli/__init__.py +0 -0
  145. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/cli/automations.py +0 -0
  146. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/clients.py +0 -0
  147. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/filters.py +0 -0
  148. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/schemas/__init__.py +0 -0
  149. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/schemas/automations.py +0 -0
  150. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  151. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/schemas/events.py +0 -0
  152. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/schemas/labelling.py +0 -0
  153. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/utilities.py +0 -0
  154. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/events/worker.py +0 -0
  155. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/exceptions.py +0 -0
  156. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/filesystems.py +0 -0
  157. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/flow_engine.py +0 -0
  158. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/flow_runs.py +0 -0
  159. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/futures.py +0 -0
  160. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/__init__.py +0 -0
  161. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/base.py +0 -0
  162. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  163. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  164. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  165. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  166. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  167. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  168. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/input/__init__.py +0 -0
  169. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/input/actions.py +0 -0
  170. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/input/run_input.py +0 -0
  171. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/locking/__init__.py +0 -0
  172. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/locking/filesystem.py +0 -0
  173. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/locking/memory.py +0 -0
  174. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/locking/protocol.py +0 -0
  175. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/__init__.py +0 -0
  176. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/configuration.py +0 -0
  177. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/filters.py +0 -0
  178. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/formatters.py +0 -0
  179. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/handlers.py +0 -0
  180. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/highlighters.py +0 -0
  181. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/loggers.py +0 -0
  182. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/logging/logging.yml +0 -0
  183. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/main.py +0 -0
  184. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/plugins.py +0 -0
  185. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/py.typed +0 -0
  186. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/results.py +0 -0
  187. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runner/__init__.py +0 -0
  188. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runner/server.py +0 -0
  189. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runner/storage.py +0 -0
  190. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runner/submit.py +0 -0
  191. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runner/utils.py +0 -0
  192. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runtime/__init__.py +0 -0
  193. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runtime/deployment.py +0 -0
  194. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runtime/flow_run.py +0 -0
  195. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/runtime/task_run.py +0 -0
  196. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/serializers.py +0 -0
  197. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/__init__.py +0 -0
  198. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/admin.py +0 -0
  199. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/artifacts.py +0 -0
  200. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/automations.py +0 -0
  201. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/block_capabilities.py +0 -0
  202. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/block_documents.py +0 -0
  203. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/block_schemas.py +0 -0
  204. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/block_types.py +0 -0
  205. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/clients.py +0 -0
  206. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/collections.py +0 -0
  207. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  208. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/concurrency_limits.py +0 -0
  209. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  210. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/csrf_token.py +0 -0
  211. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/dependencies.py +0 -0
  212. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/deployments.py +0 -0
  213. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/events.py +0 -0
  214. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
  215. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/flow_run_states.py +0 -0
  216. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/flows.py +0 -0
  217. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/logs.py +0 -0
  218. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/middleware.py +0 -0
  219. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/root.py +0 -0
  220. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/saved_searches.py +0 -0
  221. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/server.py +0 -0
  222. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  223. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/task_run_states.py +0 -0
  224. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/task_runs.py +0 -0
  225. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/task_workers.py +0 -0
  226. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/templates.py +0 -0
  227. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/ui/__init__.py +0 -0
  228. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/ui/flow_runs.py +0 -0
  229. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/ui/flows.py +0 -0
  230. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/ui/schemas.py +0 -0
  231. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/validation.py +0 -0
  232. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/variables.py +0 -0
  233. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/work_queues.py +0 -0
  234. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/server/api/workers.py +0 -0
  235. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/__init__.py +0 -0
  236. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/constants.py +0 -0
  237. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/context.py +0 -0
  238. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/legacy.py +0 -0
  239. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/__init__.py +0 -0
  240. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/api.py +0 -0
  241. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/cli.py +0 -0
  242. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/client.py +0 -0
  243. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/cloud.py +0 -0
  244. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/deployments.py +0 -0
  245. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/experiments.py +0 -0
  246. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/flows.py +0 -0
  247. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/internal.py +0 -0
  248. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/logging.py +0 -0
  249. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/results.py +0 -0
  250. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/runner.py +0 -0
  251. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/__init__.py +0 -0
  252. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/api.py +0 -0
  253. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/database.py +0 -0
  254. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/deployments.py +0 -0
  255. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/ephemeral.py +0 -0
  256. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/events.py +0 -0
  257. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  258. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/root.py +0 -0
  259. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/services.py +0 -0
  260. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/tasks.py +0 -0
  261. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/server/ui.py +0 -0
  262. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/tasks.py +0 -0
  263. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/testing.py +0 -0
  264. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/models/worker.py +0 -0
  265. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/profiles.py +0 -0
  266. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/profiles.toml +0 -0
  267. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/settings/sources.py +0 -0
  268. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/states.py +0 -0
  269. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/task_engine.py +0 -0
  270. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/task_runners.py +0 -0
  271. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/task_runs.py +0 -0
  272. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/task_worker.py +0 -0
  273. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/tasks.py +0 -0
  274. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/__init__.py +0 -0
  275. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/bootstrap.py +0 -0
  276. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/instrumentation.py +0 -0
  277. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/logging.py +0 -0
  278. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/processors.py +0 -0
  279. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/run_telemetry.py +0 -0
  280. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/telemetry/services.py +0 -0
  281. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/transactions.py +0 -0
  282. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/types/__init__.py +0 -0
  283. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/types/_datetime.py +0 -0
  284. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/types/entrypoint.py +0 -0
  285. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/__init__.py +0 -0
  286. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/_deprecated.py +0 -0
  287. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/_engine.py +0 -0
  288. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/_git.py +0 -0
  289. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/annotations.py +0 -0
  290. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/asyncutils.py +0 -0
  291. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/callables.py +0 -0
  292. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/collections.py +0 -0
  293. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/compat.py +0 -0
  294. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/context.py +0 -0
  295. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/dispatch.py +0 -0
  296. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/dockerutils.py +0 -0
  297. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/engine.py +0 -0
  298. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/filesystem.py +0 -0
  299. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/generics.py +0 -0
  300. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/hashing.py +0 -0
  301. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/importtools.py +0 -0
  302. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/math.py +0 -0
  303. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/names.py +0 -0
  304. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/processutils.py +0 -0
  305. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/pydantic.py +0 -0
  306. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/render_swagger.py +0 -0
  307. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  308. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  309. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/schema_tools/validation.py +0 -0
  310. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/services.py +0 -0
  311. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/slugify.py +0 -0
  312. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/templating.py +0 -0
  313. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/text.py +0 -0
  314. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/timeout.py +0 -0
  315. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/urls.py +0 -0
  316. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/utilities/visualization.py +0 -0
  317. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/variables.py +0 -0
  318. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/__init__.py +0 -0
  319. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/base.py +0 -0
  320. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/block.py +0 -0
  321. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/cloud.py +0 -0
  322. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/process.py +0 -0
  323. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/server.py +0 -0
  324. {prefect_client-3.3.2.dev1 → prefect_client-3.3.3}/src/prefect/workers/utilities.py +0 -0
@@ -39,6 +39,7 @@ ipython_config.py
39
39
  # Environments
40
40
  .python-version
41
41
  .env
42
+ .envrc
42
43
  .venv
43
44
  env/
44
45
  venv/
@@ -87,4 +88,4 @@ src/integrations/*/**/_version.py
87
88
  *.log
88
89
 
89
90
  # Pyright type analysis report
90
- prefect-analysis.json
91
+ prefect-analysis.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.3.2.dev1
3
+ Version: 3.3.3
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.3.3"
3
+ __build_date__ = "2025-04-05 01:43:07.772891+00:00"
4
+ __git_commit__ = "4100d4ea3c8d2559e48d9860a5b241d8cd29d47e"
5
+ __dirty__ = False
@@ -255,7 +255,7 @@ def deprecated_field(
255
255
 
256
256
  cls_init(__pydantic_self__, **data)
257
257
 
258
- field = __pydantic_self__.model_fields.get(name)
258
+ field = __pydantic_self__.__class__.model_fields.get(name)
259
259
  if field is not None:
260
260
  json_schema_extra = field.json_schema_extra or {}
261
261
 
@@ -106,4 +106,5 @@ def create_v2_schema(
106
106
  # ensure backwards compatibility by copying $defs into definitions
107
107
  if "$defs" in schema:
108
108
  schema["definitions"] = schema["$defs"]
109
+
109
110
  return schema
@@ -18,6 +18,7 @@ from typing import (
18
18
  Optional,
19
19
  TypeVar,
20
20
  Union,
21
+ cast,
21
22
  get_origin,
22
23
  )
23
24
  from uuid import UUID, uuid4
@@ -169,14 +170,13 @@ def _collect_secret_fields(
169
170
  return
170
171
 
171
172
  if type_ in (SecretStr, SecretBytes) or (
172
- isinstance(type_, type)
173
+ isinstance(type_, type) # type: ignore[unnecessaryIsInstance]
173
174
  and getattr(type_, "__module__", None) == "pydantic.types"
174
175
  and getattr(type_, "__name__", None) == "Secret"
175
176
  ):
176
177
  secrets.append(name)
177
178
  elif type_ == SecretDict:
178
- # Append .* to field name to signify that all values under this
179
- # field are secret and should be obfuscated.
179
+ # Append .* to field name to signify that all values under a given key are secret and should be obfuscated.
180
180
  secrets.append(f"{name}.*")
181
181
  elif Block.is_block_class(type_):
182
182
  secrets.extend(
@@ -1501,14 +1501,7 @@ class Block(BaseModel, ABC):
1501
1501
  if "$defs" in schema:
1502
1502
  schema["definitions"] = schema.pop("$defs")
1503
1503
 
1504
- # we aren't expecting these additional fields in the schema
1505
- if "additionalProperties" in schema:
1506
- schema.pop("additionalProperties")
1507
-
1508
- for _, definition in schema.get("definitions", {}).items():
1509
- if "additionalProperties" in definition:
1510
- definition.pop("additionalProperties")
1511
-
1504
+ schema = remove_nested_keys(["additionalProperties"], schema)
1512
1505
  return schema
1513
1506
 
1514
1507
  @classmethod
@@ -1521,6 +1514,7 @@ class Block(BaseModel, ABC):
1521
1514
  context: dict[str, Any] | None = None,
1522
1515
  ) -> Self:
1523
1516
  if isinstance(obj, dict):
1517
+ obj = cast(dict[str, Any], obj)
1524
1518
  extra_serializer_fields = {
1525
1519
  "_block_document_id",
1526
1520
  "_block_document_name",
@@ -1530,7 +1524,10 @@ class Block(BaseModel, ABC):
1530
1524
  obj.pop(field, None)
1531
1525
 
1532
1526
  return super().model_validate(
1533
- obj, strict=strict, from_attributes=from_attributes, context=context
1527
+ obj,
1528
+ strict=strict,
1529
+ from_attributes=from_attributes,
1530
+ context=context,
1534
1531
  )
1535
1532
 
1536
1533
  def model_dump(
@@ -1,3 +1,4 @@
1
+ from __future__ import annotations
1
2
  import asyncio
2
3
  import base64
3
4
  import datetime
@@ -1164,6 +1165,10 @@ class PrefectClient(
1164
1165
  def client_version(self) -> str:
1165
1166
  return prefect.__version__
1166
1167
 
1168
+ @property
1169
+ def loop(self) -> asyncio.AbstractEventLoop | None:
1170
+ return self._loop
1171
+
1167
1172
  async def raise_for_api_version_mismatch(self) -> None:
1168
1173
  # Cloud is always compatible as a server
1169
1174
  if self.server_type == ServerType.CLOUD:
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from collections.abc import Iterable
4
4
  from typing import TYPE_CHECKING, Any, Union
5
+ from uuid import UUID
5
6
 
6
7
  from httpx import HTTPStatusError, RequestError
7
8
 
@@ -10,7 +11,6 @@ from prefect.exceptions import ObjectNotFound
10
11
 
11
12
  if TYPE_CHECKING:
12
13
  import datetime
13
- from uuid import UUID
14
14
 
15
15
  from prefect.client.schemas import FlowRun
16
16
  from prefect.client.schemas.actions import (
@@ -28,7 +28,9 @@ if TYPE_CHECKING:
28
28
  )
29
29
  from prefect.client.schemas.objects import (
30
30
  ConcurrencyOptions,
31
+ DeploymentBranchingOptions,
31
32
  DeploymentSchedule,
33
+ VersionInfo,
32
34
  )
33
35
  from prefect.client.schemas.responses import (
34
36
  DeploymentResponse,
@@ -45,9 +47,10 @@ if TYPE_CHECKING:
45
47
  class DeploymentClient(BaseClient):
46
48
  def create_deployment(
47
49
  self,
48
- flow_id: "UUID",
50
+ flow_id: UUID,
49
51
  name: str,
50
52
  version: str | None = None,
53
+ version_info: "VersionInfo | None" = None,
51
54
  schedules: list["DeploymentScheduleCreate"] | None = None,
52
55
  concurrency_limit: int | None = None,
53
56
  concurrency_options: "ConcurrencyOptions | None" = None,
@@ -56,16 +59,19 @@ class DeploymentClient(BaseClient):
56
59
  work_queue_name: str | None = None,
57
60
  work_pool_name: str | None = None,
58
61
  tags: list[str] | None = None,
59
- storage_document_id: "UUID | None" = None,
62
+ storage_document_id: UUID | None = None,
60
63
  path: str | None = None,
61
64
  entrypoint: str | None = None,
62
- infrastructure_document_id: "UUID | None" = None,
65
+ infrastructure_document_id: UUID | None = None,
63
66
  parameter_openapi_schema: dict[str, Any] | None = None,
64
67
  paused: bool | None = None,
65
68
  pull_steps: list[dict[str, Any]] | None = None,
66
69
  enforce_parameter_schema: bool | None = None,
67
70
  job_variables: dict[str, Any] | None = None,
68
- ) -> "UUID":
71
+ branch: str | None = None,
72
+ base: UUID | None = None,
73
+ root: UUID | None = None,
74
+ ) -> UUID:
69
75
  """
70
76
  Create a deployment.
71
77
 
@@ -89,7 +95,6 @@ class DeploymentClient(BaseClient):
89
95
  Returns:
90
96
  the ID of the deployment in the backend
91
97
  """
92
- from uuid import UUID
93
98
 
94
99
  from prefect.client.schemas.actions import DeploymentCreate
95
100
 
@@ -99,6 +104,7 @@ class DeploymentClient(BaseClient):
99
104
  flow_id=flow_id,
100
105
  name=name,
101
106
  version=version,
107
+ version_info=version_info,
102
108
  parameters=dict(parameters or {}),
103
109
  tags=list(tags or []),
104
110
  work_queue_name=work_queue_name,
@@ -115,6 +121,9 @@ class DeploymentClient(BaseClient):
115
121
  concurrency_options=concurrency_options,
116
122
  pull_steps=pull_steps,
117
123
  enforce_parameter_schema=enforce_parameter_schema,
124
+ branch=branch,
125
+ base=base,
126
+ root=root,
118
127
  )
119
128
 
120
129
  if work_pool_name is not None:
@@ -123,20 +132,29 @@ class DeploymentClient(BaseClient):
123
132
  # Exclude newer fields that are not set to avoid compatibility issues
124
133
  exclude = {
125
134
  field
126
- for field in ["work_pool_name", "work_queue_name"]
135
+ for field in [
136
+ "work_pool_name",
137
+ "work_queue_name",
138
+ ]
127
139
  if field not in deployment_create.model_fields_set
128
140
  }
129
141
 
130
- if deployment_create.paused is None:
131
- exclude.add("paused")
132
-
133
- if deployment_create.pull_steps is None:
134
- exclude.add("pull_steps")
142
+ exclude_if_none = [
143
+ "paused",
144
+ "pull_steps",
145
+ "enforce_parameter_schema",
146
+ "version_info",
147
+ "branch",
148
+ "base",
149
+ "root",
150
+ ]
135
151
 
136
- if deployment_create.enforce_parameter_schema is None:
137
- exclude.add("enforce_parameter_schema")
152
+ for field in exclude_if_none:
153
+ if getattr(deployment_create, field) is None:
154
+ exclude.add(field)
138
155
 
139
156
  json = deployment_create.model_dump(mode="json", exclude=exclude)
157
+
140
158
  response = self.request(
141
159
  "POST",
142
160
  "/deployments/",
@@ -148,7 +166,7 @@ class DeploymentClient(BaseClient):
148
166
 
149
167
  return UUID(deployment_id)
150
168
 
151
- def set_deployment_paused_state(self, deployment_id: "UUID", paused: bool) -> None:
169
+ def set_deployment_paused_state(self, deployment_id: UUID, paused: bool) -> None:
152
170
  self.request(
153
171
  "PATCH",
154
172
  "/deployments/{id}",
@@ -158,7 +176,7 @@ class DeploymentClient(BaseClient):
158
176
 
159
177
  def update_deployment(
160
178
  self,
161
- deployment_id: "UUID",
179
+ deployment_id: UUID,
162
180
  deployment: "DeploymentUpdate",
163
181
  ) -> None:
164
182
  self.request(
@@ -172,12 +190,10 @@ class DeploymentClient(BaseClient):
172
190
  ),
173
191
  )
174
192
 
175
- def _create_deployment_from_schema(self, schema: "DeploymentCreate") -> "UUID":
193
+ def _create_deployment_from_schema(self, schema: "DeploymentCreate") -> UUID:
176
194
  """
177
195
  Create a deployment from a prepared `DeploymentCreate` schema.
178
196
  """
179
- from uuid import UUID
180
-
181
197
  # TODO: We are likely to remove this method once we have considered the
182
198
  # packaging interface for deployments further.
183
199
  response = self.request(
@@ -191,7 +207,7 @@ class DeploymentClient(BaseClient):
191
207
 
192
208
  def read_deployment(
193
209
  self,
194
- deployment_id: Union["UUID", str],
210
+ deployment_id: Union[UUID, str],
195
211
  ) -> "DeploymentResponse":
196
212
  """
197
213
  Query the Prefect API for a deployment by id.
@@ -202,7 +218,6 @@ class DeploymentClient(BaseClient):
202
218
  Returns:
203
219
  a [Deployment model][prefect.client.schemas.objects.Deployment] representation of the deployment
204
220
  """
205
- from uuid import UUID
206
221
 
207
222
  from prefect.client.schemas.responses import DeploymentResponse
208
223
 
@@ -328,7 +343,7 @@ class DeploymentClient(BaseClient):
328
343
 
329
344
  def delete_deployment(
330
345
  self,
331
- deployment_id: "UUID",
346
+ deployment_id: UUID,
332
347
  ) -> None:
333
348
  """
334
349
  Delete deployment by id.
@@ -353,7 +368,7 @@ class DeploymentClient(BaseClient):
353
368
 
354
369
  def create_deployment_schedules(
355
370
  self,
356
- deployment_id: "UUID",
371
+ deployment_id: UUID,
357
372
  schedules: list[tuple["SCHEDULE_TYPES", bool]],
358
373
  ) -> list["DeploymentSchedule"]:
359
374
  """
@@ -392,7 +407,7 @@ class DeploymentClient(BaseClient):
392
407
 
393
408
  def read_deployment_schedules(
394
409
  self,
395
- deployment_id: "UUID",
410
+ deployment_id: UUID,
396
411
  ) -> list["DeploymentSchedule"]:
397
412
  """
398
413
  Query the Prefect API for a deployment's schedules.
@@ -420,8 +435,8 @@ class DeploymentClient(BaseClient):
420
435
 
421
436
  def update_deployment_schedule(
422
437
  self,
423
- deployment_id: "UUID",
424
- schedule_id: "UUID",
438
+ deployment_id: UUID,
439
+ schedule_id: UUID,
425
440
  active: bool | None = None,
426
441
  schedule: "SCHEDULE_TYPES | None" = None,
427
442
  ) -> None:
@@ -460,8 +475,8 @@ class DeploymentClient(BaseClient):
460
475
 
461
476
  def delete_deployment_schedule(
462
477
  self,
463
- deployment_id: "UUID",
464
- schedule_id: "UUID",
478
+ deployment_id: UUID,
479
+ schedule_id: UUID,
465
480
  ) -> None:
466
481
  """
467
482
  Delete a deployment schedule.
@@ -487,7 +502,7 @@ class DeploymentClient(BaseClient):
487
502
 
488
503
  def get_scheduled_flow_runs_for_deployments(
489
504
  self,
490
- deployment_ids: list["UUID"],
505
+ deployment_ids: list[UUID],
491
506
  scheduled_before: "datetime.datetime | None" = None,
492
507
  limit: int | None = None,
493
508
  ) -> list["FlowRunResponse"]:
@@ -509,7 +524,7 @@ class DeploymentClient(BaseClient):
509
524
 
510
525
  def create_flow_run_from_deployment(
511
526
  self,
512
- deployment_id: "UUID",
527
+ deployment_id: UUID,
513
528
  *,
514
529
  parameters: dict[str, Any] | None = None,
515
530
  context: dict[str, Any] | None = None,
@@ -517,7 +532,7 @@ class DeploymentClient(BaseClient):
517
532
  name: str | None = None,
518
533
  tags: Iterable[str] | None = None,
519
534
  idempotency_key: str | None = None,
520
- parent_task_run_id: "UUID | None" = None,
535
+ parent_task_run_id: UUID | None = None,
521
536
  work_queue_name: str | None = None,
522
537
  job_variables: dict[str, Any] | None = None,
523
538
  labels: "KeyValueLabelsField | None" = None,
@@ -586,13 +601,36 @@ class DeploymentClient(BaseClient):
586
601
  )
587
602
  return FlowRun.model_validate(response.json())
588
603
 
604
+ def create_deployment_branch(
605
+ self,
606
+ deployment_id: UUID,
607
+ branch: str,
608
+ options: "DeploymentBranchingOptions | None" = None,
609
+ overrides: "DeploymentUpdate | None" = None,
610
+ ) -> UUID:
611
+ from prefect.client.schemas.actions import DeploymentBranch
612
+ from prefect.client.schemas.objects import DeploymentBranchingOptions
613
+
614
+ response = self.request(
615
+ "POST",
616
+ "/deployments/{id}/branch",
617
+ path_params={"id": deployment_id},
618
+ json=DeploymentBranch(
619
+ branch=branch,
620
+ options=options or DeploymentBranchingOptions(),
621
+ overrides=overrides,
622
+ ).model_dump(mode="json", exclude_unset=True),
623
+ )
624
+ return UUID(response.json().get("id"))
625
+
589
626
 
590
627
  class DeploymentAsyncClient(BaseAsyncClient):
591
628
  async def create_deployment(
592
629
  self,
593
- flow_id: "UUID",
630
+ flow_id: UUID,
594
631
  name: str,
595
632
  version: str | None = None,
633
+ version_info: "VersionInfo | None" = None,
596
634
  schedules: list["DeploymentScheduleCreate"] | None = None,
597
635
  concurrency_limit: int | None = None,
598
636
  concurrency_options: "ConcurrencyOptions | None" = None,
@@ -601,16 +639,19 @@ class DeploymentAsyncClient(BaseAsyncClient):
601
639
  work_queue_name: str | None = None,
602
640
  work_pool_name: str | None = None,
603
641
  tags: list[str] | None = None,
604
- storage_document_id: "UUID | None" = None,
642
+ storage_document_id: UUID | None = None,
605
643
  path: str | None = None,
606
644
  entrypoint: str | None = None,
607
- infrastructure_document_id: "UUID | None" = None,
645
+ infrastructure_document_id: UUID | None = None,
608
646
  parameter_openapi_schema: dict[str, Any] | None = None,
609
647
  paused: bool | None = None,
610
648
  pull_steps: list[dict[str, Any]] | None = None,
611
649
  enforce_parameter_schema: bool | None = None,
612
650
  job_variables: dict[str, Any] | None = None,
613
- ) -> "UUID":
651
+ branch: str | None = None,
652
+ base: UUID | None = None,
653
+ root: UUID | None = None,
654
+ ) -> UUID:
614
655
  """
615
656
  Create a deployment.
616
657
 
@@ -634,7 +675,6 @@ class DeploymentAsyncClient(BaseAsyncClient):
634
675
  Returns:
635
676
  the ID of the deployment in the backend
636
677
  """
637
- from uuid import UUID
638
678
 
639
679
  from prefect.client.schemas.actions import DeploymentCreate
640
680
 
@@ -644,6 +684,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
644
684
  flow_id=flow_id,
645
685
  name=name,
646
686
  version=version,
687
+ version_info=version_info,
647
688
  parameters=dict(parameters or {}),
648
689
  tags=list(tags or []),
649
690
  work_queue_name=work_queue_name,
@@ -660,6 +701,9 @@ class DeploymentAsyncClient(BaseAsyncClient):
660
701
  concurrency_options=concurrency_options,
661
702
  pull_steps=pull_steps,
662
703
  enforce_parameter_schema=enforce_parameter_schema,
704
+ branch=branch,
705
+ base=base,
706
+ root=root,
663
707
  )
664
708
 
665
709
  if work_pool_name is not None:
@@ -668,20 +712,29 @@ class DeploymentAsyncClient(BaseAsyncClient):
668
712
  # Exclude newer fields that are not set to avoid compatibility issues
669
713
  exclude = {
670
714
  field
671
- for field in ["work_pool_name", "work_queue_name"]
715
+ for field in [
716
+ "work_pool_name",
717
+ "work_queue_name",
718
+ ]
672
719
  if field not in deployment_create.model_fields_set
673
720
  }
674
721
 
675
- if deployment_create.paused is None:
676
- exclude.add("paused")
677
-
678
- if deployment_create.pull_steps is None:
679
- exclude.add("pull_steps")
722
+ exclude_if_none = [
723
+ "paused",
724
+ "pull_steps",
725
+ "enforce_parameter_schema",
726
+ "version_info",
727
+ "branch",
728
+ "base",
729
+ "root",
730
+ ]
680
731
 
681
- if deployment_create.enforce_parameter_schema is None:
682
- exclude.add("enforce_parameter_schema")
732
+ for field in exclude_if_none:
733
+ if getattr(deployment_create, field) is None:
734
+ exclude.add(field)
683
735
 
684
736
  json = deployment_create.model_dump(mode="json", exclude=exclude)
737
+
685
738
  response = await self.request(
686
739
  "POST",
687
740
  "/deployments/",
@@ -694,7 +747,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
694
747
  return UUID(deployment_id)
695
748
 
696
749
  async def set_deployment_paused_state(
697
- self, deployment_id: "UUID", paused: bool
750
+ self, deployment_id: UUID, paused: bool
698
751
  ) -> None:
699
752
  await self.request(
700
753
  "PATCH",
@@ -705,7 +758,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
705
758
 
706
759
  async def update_deployment(
707
760
  self,
708
- deployment_id: "UUID",
761
+ deployment_id: UUID,
709
762
  deployment: "DeploymentUpdate",
710
763
  ) -> None:
711
764
  await self.request(
@@ -719,13 +772,10 @@ class DeploymentAsyncClient(BaseAsyncClient):
719
772
  ),
720
773
  )
721
774
 
722
- async def _create_deployment_from_schema(
723
- self, schema: "DeploymentCreate"
724
- ) -> "UUID":
775
+ async def _create_deployment_from_schema(self, schema: "DeploymentCreate") -> UUID:
725
776
  """
726
777
  Create a deployment from a prepared `DeploymentCreate` schema.
727
778
  """
728
- from uuid import UUID
729
779
 
730
780
  # TODO: We are likely to remove this method once we have considered the
731
781
  # packaging interface for deployments further.
@@ -740,7 +790,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
740
790
 
741
791
  async def read_deployment(
742
792
  self,
743
- deployment_id: Union["UUID", str],
793
+ deployment_id: Union[UUID, str],
744
794
  ) -> "DeploymentResponse":
745
795
  """
746
796
  Query the Prefect API for a deployment by id.
@@ -751,7 +801,6 @@ class DeploymentAsyncClient(BaseAsyncClient):
751
801
  Returns:
752
802
  a [Deployment model][prefect.client.schemas.objects.Deployment] representation of the deployment
753
803
  """
754
- from uuid import UUID
755
804
 
756
805
  from prefect.client.schemas.responses import DeploymentResponse
757
806
 
@@ -877,7 +926,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
877
926
 
878
927
  async def delete_deployment(
879
928
  self,
880
- deployment_id: "UUID",
929
+ deployment_id: UUID,
881
930
  ) -> None:
882
931
  """
883
932
  Delete deployment by id.
@@ -902,7 +951,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
902
951
 
903
952
  async def create_deployment_schedules(
904
953
  self,
905
- deployment_id: "UUID",
954
+ deployment_id: UUID,
906
955
  schedules: list[tuple["SCHEDULE_TYPES", bool]],
907
956
  ) -> list["DeploymentSchedule"]:
908
957
  """
@@ -941,7 +990,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
941
990
 
942
991
  async def read_deployment_schedules(
943
992
  self,
944
- deployment_id: "UUID",
993
+ deployment_id: UUID,
945
994
  ) -> list["DeploymentSchedule"]:
946
995
  """
947
996
  Query the Prefect API for a deployment's schedules.
@@ -969,8 +1018,8 @@ class DeploymentAsyncClient(BaseAsyncClient):
969
1018
 
970
1019
  async def update_deployment_schedule(
971
1020
  self,
972
- deployment_id: "UUID",
973
- schedule_id: "UUID",
1021
+ deployment_id: UUID,
1022
+ schedule_id: UUID,
974
1023
  active: bool | None = None,
975
1024
  schedule: "SCHEDULE_TYPES | None" = None,
976
1025
  ) -> None:
@@ -1009,8 +1058,8 @@ class DeploymentAsyncClient(BaseAsyncClient):
1009
1058
 
1010
1059
  async def delete_deployment_schedule(
1011
1060
  self,
1012
- deployment_id: "UUID",
1013
- schedule_id: "UUID",
1061
+ deployment_id: UUID,
1062
+ schedule_id: UUID,
1014
1063
  ) -> None:
1015
1064
  """
1016
1065
  Delete a deployment schedule.
@@ -1036,7 +1085,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
1036
1085
 
1037
1086
  async def get_scheduled_flow_runs_for_deployments(
1038
1087
  self,
1039
- deployment_ids: list["UUID"],
1088
+ deployment_ids: list[UUID],
1040
1089
  scheduled_before: "datetime.datetime | None" = None,
1041
1090
  limit: int | None = None,
1042
1091
  ) -> list["FlowRun"]:
@@ -1058,7 +1107,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
1058
1107
 
1059
1108
  async def create_flow_run_from_deployment(
1060
1109
  self,
1061
- deployment_id: "UUID",
1110
+ deployment_id: UUID,
1062
1111
  *,
1063
1112
  parameters: dict[str, Any] | None = None,
1064
1113
  context: dict[str, Any] | None = None,
@@ -1066,7 +1115,7 @@ class DeploymentAsyncClient(BaseAsyncClient):
1066
1115
  name: str | None = None,
1067
1116
  tags: Iterable[str] | None = None,
1068
1117
  idempotency_key: str | None = None,
1069
- parent_task_run_id: "UUID | None" = None,
1118
+ parent_task_run_id: UUID | None = None,
1070
1119
  work_queue_name: str | None = None,
1071
1120
  job_variables: dict[str, Any] | None = None,
1072
1121
  labels: "KeyValueLabelsField | None" = None,
@@ -1134,3 +1183,25 @@ class DeploymentAsyncClient(BaseAsyncClient):
1134
1183
  json=flow_run_create.model_dump(mode="json", exclude_unset=True),
1135
1184
  )
1136
1185
  return FlowRun.model_validate(response.json())
1186
+
1187
+ async def create_deployment_branch(
1188
+ self,
1189
+ deployment_id: UUID,
1190
+ branch: str,
1191
+ options: "DeploymentBranchingOptions | None" = None,
1192
+ overrides: "DeploymentUpdate | None" = None,
1193
+ ) -> UUID:
1194
+ from prefect.client.schemas.actions import DeploymentBranch
1195
+ from prefect.client.schemas.objects import DeploymentBranchingOptions
1196
+
1197
+ response = await self.request(
1198
+ "POST",
1199
+ "/deployments/{id}/branch",
1200
+ path_params={"id": deployment_id},
1201
+ json=DeploymentBranch(
1202
+ branch=branch,
1203
+ options=options or DeploymentBranchingOptions(),
1204
+ overrides=overrides,
1205
+ ).model_dump(mode="json", exclude_unset=True),
1206
+ )
1207
+ return UUID(response.json().get("id"))
@@ -46,6 +46,7 @@ ServerRoutes = Literal[
46
46
  "/csrf-token",
47
47
  "/deployments/",
48
48
  "/deployments/{id}",
49
+ "/deployments/{id}/branch",
49
50
  "/deployments/{id}/create_flow_run",
50
51
  "/deployments/{id}/pause_deployment",
51
52
  "/deployments/{id}/resume_deployment",