prefect-client 3.2.10__tar.gz → 3.2.12__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 (326) hide show
  1. {prefect_client-3.2.10 → prefect_client-3.2.12}/.gitignore +3 -2
  2. {prefect_client-3.2.10 → prefect_client-3.2.12}/PKG-INFO +1 -1
  3. prefect_client-3.2.12/src/prefect/_build_info.py +5 -0
  4. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/actions.py +2 -0
  5. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/flow_runs.py +11 -2
  6. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/runner.py +25 -4
  7. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/flows.py +4 -4
  8. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/flow_runs.py +2 -2
  9. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/ui/schemas.py +1 -0
  10. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/annotations.py +43 -0
  11. prefect_client-3.2.10/src/prefect/_build_info.py +0 -5
  12. {prefect_client-3.2.10 → prefect_client-3.2.12}/LICENSE +0 -0
  13. {prefect_client-3.2.10 → prefect_client-3.2.12}/README.md +0 -0
  14. {prefect_client-3.2.10 → prefect_client-3.2.12}/pyproject.toml +0 -0
  15. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/.prefectignore +0 -0
  16. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/__init__.py +0 -0
  17. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/__main__.py +0 -0
  18. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_experimental/__init__.py +0 -0
  19. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_experimental/bundles.py +0 -0
  20. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_experimental/lineage.py +0 -0
  21. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_experimental/sla/__init__.py +0 -0
  22. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_experimental/sla/client.py +0 -0
  23. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_experimental/sla/objects.py +0 -0
  24. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/__init__.py +0 -0
  25. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/_logging.py +0 -0
  26. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/compatibility/__init__.py +0 -0
  27. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  28. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  29. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/compatibility/migration.py +0 -0
  30. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/__init__.py +0 -0
  31. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/api.py +0 -0
  32. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/calls.py +0 -0
  33. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  34. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  35. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/inspection.py +0 -0
  36. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/primitives.py +0 -0
  37. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/services.py +0 -0
  38. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/threads.py +0 -0
  39. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/concurrency/waiters.py +0 -0
  40. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/integrations.py +0 -0
  41. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/__init__.py +0 -0
  42. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  43. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  44. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/schemas.py +0 -0
  45. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  46. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  47. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  48. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/pytz.py +0 -0
  49. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/retries.py +0 -0
  50. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/schemas/__init__.py +0 -0
  51. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/schemas/bases.py +0 -0
  52. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/schemas/fields.py +0 -0
  53. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/schemas/serializers.py +0 -0
  54. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_internal/schemas/validators.py +0 -0
  55. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_result_records.py +0 -0
  56. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_vendor/croniter/__init__.py +0 -0
  57. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_vendor/croniter/croniter.py +0 -0
  58. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/_waiters.py +0 -0
  59. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/agent.py +0 -0
  60. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/artifacts.py +0 -0
  61. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/automations.py +0 -0
  62. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/__init__.py +0 -0
  63. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/abstract.py +0 -0
  64. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/core.py +0 -0
  65. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/fields.py +0 -0
  66. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/notifications.py +0 -0
  67. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/redis.py +0 -0
  68. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/system.py +0 -0
  69. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/blocks/webhook.py +0 -0
  70. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/cache_policies.py +0 -0
  71. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/__init__.py +0 -0
  72. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/base.py +0 -0
  73. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/cloud.py +0 -0
  74. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/collections.py +0 -0
  75. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/constants.py +0 -0
  76. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/__init__.py +0 -0
  77. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  78. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  79. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  80. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_automations/client.py +0 -0
  81. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  82. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  83. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  84. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  85. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  86. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  87. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  88. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  89. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  90. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  91. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  92. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  93. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  94. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_flows/client.py +0 -0
  95. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  96. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_logs/client.py +0 -0
  97. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  98. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_variables/client.py +0 -0
  99. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  100. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  101. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/base.py +0 -0
  102. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/orchestration/routes.py +0 -0
  103. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/__init__.py +0 -0
  104. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/filters.py +0 -0
  105. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/objects.py +0 -0
  106. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/responses.py +0 -0
  107. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/schedules.py +0 -0
  108. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/schemas/sorting.py +0 -0
  109. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/subscriptions.py +0 -0
  110. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/types/__init__.py +0 -0
  111. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  112. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/client/utilities.py +0 -0
  113. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/__init__.py +0 -0
  114. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/_asyncio.py +0 -0
  115. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/_events.py +0 -0
  116. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/asyncio.py +0 -0
  117. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/context.py +0 -0
  118. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/services.py +0 -0
  119. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/sync.py +0 -0
  120. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/__init__.py +0 -0
  121. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  122. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/_events.py +0 -0
  123. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/asyncio.py +0 -0
  124. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/context.py +0 -0
  125. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/services.py +0 -0
  126. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/concurrency/v1/sync.py +0 -0
  127. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/context.py +0 -0
  128. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/__init__.py +0 -0
  129. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/base.py +0 -0
  130. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/deployments.py +0 -0
  131. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/schedules.py +0 -0
  132. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/steps/__init__.py +0 -0
  133. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/steps/core.py +0 -0
  134. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/steps/pull.py +0 -0
  135. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/deployments/steps/utility.py +0 -0
  136. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/docker/__init__.py +0 -0
  137. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/docker/docker_image.py +0 -0
  138. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/engine.py +0 -0
  139. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/__init__.py +0 -0
  140. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/actions.py +0 -0
  141. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/cli/__init__.py +0 -0
  142. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/cli/automations.py +0 -0
  143. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/clients.py +0 -0
  144. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/filters.py +0 -0
  145. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/related.py +0 -0
  146. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/schemas/__init__.py +0 -0
  147. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/schemas/automations.py +0 -0
  148. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  149. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/schemas/events.py +0 -0
  150. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/schemas/labelling.py +0 -0
  151. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/utilities.py +0 -0
  152. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/events/worker.py +0 -0
  153. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/exceptions.py +0 -0
  154. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/filesystems.py +0 -0
  155. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/flow_engine.py +0 -0
  156. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/flow_runs.py +0 -0
  157. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/futures.py +0 -0
  158. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/__init__.py +0 -0
  159. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/base.py +0 -0
  160. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  161. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  162. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  163. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  164. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  165. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  166. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/input/__init__.py +0 -0
  167. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/input/actions.py +0 -0
  168. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/input/run_input.py +0 -0
  169. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/locking/__init__.py +0 -0
  170. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/locking/filesystem.py +0 -0
  171. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/locking/memory.py +0 -0
  172. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/locking/protocol.py +0 -0
  173. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/__init__.py +0 -0
  174. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/configuration.py +0 -0
  175. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/filters.py +0 -0
  176. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/formatters.py +0 -0
  177. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/handlers.py +0 -0
  178. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/highlighters.py +0 -0
  179. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/loggers.py +0 -0
  180. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/logging/logging.yml +0 -0
  181. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/main.py +0 -0
  182. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/plugins.py +0 -0
  183. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/py.typed +0 -0
  184. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/results.py +0 -0
  185. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runner/__init__.py +0 -0
  186. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runner/runner.py +0 -0
  187. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runner/server.py +0 -0
  188. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runner/storage.py +0 -0
  189. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runner/submit.py +0 -0
  190. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runner/utils.py +0 -0
  191. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runtime/__init__.py +0 -0
  192. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runtime/deployment.py +0 -0
  193. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runtime/flow_run.py +0 -0
  194. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/runtime/task_run.py +0 -0
  195. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/schedules.py +0 -0
  196. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/serializers.py +0 -0
  197. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/__init__.py +0 -0
  198. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/admin.py +0 -0
  199. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/artifacts.py +0 -0
  200. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/automations.py +0 -0
  201. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/block_capabilities.py +0 -0
  202. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/block_documents.py +0 -0
  203. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/block_schemas.py +0 -0
  204. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/block_types.py +0 -0
  205. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/clients.py +0 -0
  206. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/collections.py +0 -0
  207. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  208. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/concurrency_limits.py +0 -0
  209. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  210. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/csrf_token.py +0 -0
  211. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/dependencies.py +0 -0
  212. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/deployments.py +0 -0
  213. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/events.py +0 -0
  214. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
  215. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/flow_run_states.py +0 -0
  216. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/flows.py +0 -0
  217. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/logs.py +0 -0
  218. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/middleware.py +0 -0
  219. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/root.py +0 -0
  220. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/run_history.py +0 -0
  221. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/saved_searches.py +0 -0
  222. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/server.py +0 -0
  223. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  224. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/task_run_states.py +0 -0
  225. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/task_runs.py +0 -0
  226. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/task_workers.py +0 -0
  227. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/templates.py +0 -0
  228. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/ui/__init__.py +0 -0
  229. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/ui/flow_runs.py +0 -0
  230. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/ui/flows.py +0 -0
  231. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/ui/task_runs.py +0 -0
  232. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/validation.py +0 -0
  233. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/variables.py +0 -0
  234. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/work_queues.py +0 -0
  235. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/server/api/workers.py +0 -0
  236. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/__init__.py +0 -0
  237. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/base.py +0 -0
  238. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/constants.py +0 -0
  239. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/context.py +0 -0
  240. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/legacy.py +0 -0
  241. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/__init__.py +0 -0
  242. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/api.py +0 -0
  243. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/cli.py +0 -0
  244. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/client.py +0 -0
  245. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/cloud.py +0 -0
  246. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/deployments.py +0 -0
  247. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/experiments.py +0 -0
  248. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/flows.py +0 -0
  249. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/internal.py +0 -0
  250. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/logging.py +0 -0
  251. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/results.py +0 -0
  252. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/root.py +0 -0
  253. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/runner.py +0 -0
  254. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/__init__.py +0 -0
  255. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/api.py +0 -0
  256. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/database.py +0 -0
  257. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/deployments.py +0 -0
  258. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/ephemeral.py +0 -0
  259. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/events.py +0 -0
  260. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  261. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/root.py +0 -0
  262. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/services.py +0 -0
  263. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/tasks.py +0 -0
  264. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/server/ui.py +0 -0
  265. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/tasks.py +0 -0
  266. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/testing.py +0 -0
  267. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/models/worker.py +0 -0
  268. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/profiles.py +0 -0
  269. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/profiles.toml +0 -0
  270. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/settings/sources.py +0 -0
  271. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/states.py +0 -0
  272. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/task_engine.py +0 -0
  273. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/task_runners.py +0 -0
  274. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/task_runs.py +0 -0
  275. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/task_worker.py +0 -0
  276. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/tasks.py +0 -0
  277. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/__init__.py +0 -0
  278. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/bootstrap.py +0 -0
  279. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/instrumentation.py +0 -0
  280. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/logging.py +0 -0
  281. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/processors.py +0 -0
  282. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/run_telemetry.py +0 -0
  283. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/telemetry/services.py +0 -0
  284. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/transactions.py +0 -0
  285. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/types/__init__.py +0 -0
  286. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/types/_datetime.py +0 -0
  287. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/types/entrypoint.py +0 -0
  288. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/__init__.py +0 -0
  289. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/_deprecated.py +0 -0
  290. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/_engine.py +0 -0
  291. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/_git.py +0 -0
  292. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/asyncutils.py +0 -0
  293. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/callables.py +0 -0
  294. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/collections.py +0 -0
  295. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/compat.py +0 -0
  296. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/context.py +0 -0
  297. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/dispatch.py +0 -0
  298. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/dockerutils.py +0 -0
  299. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/engine.py +0 -0
  300. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/filesystem.py +0 -0
  301. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/generics.py +0 -0
  302. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/hashing.py +0 -0
  303. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/importtools.py +0 -0
  304. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/math.py +0 -0
  305. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/names.py +0 -0
  306. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/processutils.py +0 -0
  307. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/pydantic.py +0 -0
  308. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/render_swagger.py +0 -0
  309. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  310. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  311. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/schema_tools/validation.py +0 -0
  312. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/services.py +0 -0
  313. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/slugify.py +0 -0
  314. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/templating.py +0 -0
  315. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/text.py +0 -0
  316. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/timeout.py +0 -0
  317. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/urls.py +0 -0
  318. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/utilities/visualization.py +0 -0
  319. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/variables.py +0 -0
  320. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/__init__.py +0 -0
  321. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/base.py +0 -0
  322. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/block.py +0 -0
  323. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/cloud.py +0 -0
  324. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/process.py +0 -0
  325. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/server.py +0 -0
  326. {prefect_client-3.2.10 → prefect_client-3.2.12}/src/prefect/workers/utilities.py +0 -0
@@ -7,8 +7,9 @@ __pycache__/
7
7
  build/
8
8
  dist/
9
9
  sdist/
10
- # We likely ought to eventually include uv.lock
11
- uv.lock
10
+
11
+ # uv (consider committing later)
12
+ src/integrations/**/uv.lock
12
13
 
13
14
  # Build metadata
14
15
  src/prefect/_build_info.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.2.10
3
+ Version: 3.2.12
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.2.12"
3
+ __build_date__ = "2025-03-10 16:35:36.997425+00:00"
4
+ __git_commit__ = "826eb1a7423831a2eeb6541909ef35ecca17fde7"
5
+ __dirty__ = False
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from copy import deepcopy
2
4
  from typing import TYPE_CHECKING, Any, Callable, Optional, TypeVar, Union
3
5
  from uuid import UUID, uuid4
@@ -4,7 +4,6 @@ from uuid import UUID
4
4
 
5
5
  import anyio
6
6
  from opentelemetry import trace
7
- from opentelemetry.instrumentation.utils import is_instrumentation_enabled
8
7
 
9
8
  import prefect
10
9
  from prefect._result_records import ResultRecordMetadata
@@ -19,6 +18,16 @@ from prefect.types._datetime import now
19
18
  from prefect.utilities.asyncutils import sync_compatible
20
19
  from prefect.utilities.slugify import slugify
21
20
 
21
+
22
+ def _is_instrumentation_enabled() -> bool:
23
+ try:
24
+ from opentelemetry.instrumentation.utils import is_instrumentation_enabled
25
+
26
+ return is_instrumentation_enabled()
27
+ except (ImportError, ModuleNotFoundError):
28
+ return False
29
+
30
+
22
31
  if TYPE_CHECKING:
23
32
  from prefect.client.orchestration import PrefectClient
24
33
  from prefect.client.schemas.objects import FlowRun
@@ -164,7 +173,7 @@ async def run_deployment(
164
173
 
165
174
  if flow_run_ctx and flow_run_ctx.flow_run:
166
175
  traceparent = flow_run_ctx.flow_run.labels.get(LABELS_TRACEPARENT_KEY)
167
- elif is_instrumentation_enabled():
176
+ elif _is_instrumentation_enabled():
168
177
  traceparent = RunTelemetry.traceparent_from_span(span=trace.get_current_span())
169
178
  else:
170
179
  traceparent = None
@@ -47,6 +47,7 @@ from pydantic import (
47
47
  from rich.console import Console
48
48
  from rich.progress import Progress, SpinnerColumn, TextColumn, track
49
49
  from rich.table import Table
50
+ from typing_extensions import Self
50
51
 
51
52
  from prefect._experimental.sla.objects import SlaTypes
52
53
  from prefect._internal.compatibility.async_dispatch import async_dispatch
@@ -84,6 +85,7 @@ from prefect.settings import (
84
85
  )
85
86
  from prefect.types import ListOfNonEmptyStrings
86
87
  from prefect.types.entrypoint import EntrypointType
88
+ from prefect.utilities.annotations import freeze
87
89
  from prefect.utilities.asyncutils import run_coro_as_sync, sync_compatible
88
90
  from prefect.utilities.callables import ParameterSchema, parameter_schema
89
91
  from prefect.utilities.collections import get_from_dict, isiterable
@@ -135,7 +137,9 @@ class RunnerDeployment(BaseModel):
135
137
  _sla: (Experimental) SLA configuration for the deployment. May be removed or modified at any time. Currently only supported on Prefect Cloud.
136
138
  """
137
139
 
138
- model_config: ClassVar[ConfigDict] = ConfigDict(arbitrary_types_allowed=True)
140
+ model_config: ClassVar[ConfigDict] = ConfigDict(
141
+ arbitrary_types_allowed=True, validate_assignment=True
142
+ )
139
143
 
140
144
  name: str = Field(..., description="The name of the deployment.")
141
145
  flow_name: Optional[str] = Field(
@@ -250,14 +254,30 @@ class RunnerDeployment(BaseModel):
250
254
  trigger.name = f"{self.name}__automation_{i}"
251
255
  return self
252
256
 
257
+ @model_validator(mode="after")
258
+ def validate_deployment_parameters(self) -> Self:
259
+ """Update the parameter schema to mark frozen parameters as readonly."""
260
+ if not self.parameters:
261
+ return self
262
+
263
+ for key, value in self.parameters.items():
264
+ if isinstance(value, freeze):
265
+ raw_value = value.unfreeze()
266
+ if key in self._parameter_openapi_schema.properties:
267
+ self._parameter_openapi_schema.properties[key]["readOnly"] = True
268
+ self._parameter_openapi_schema.properties[key]["enum"] = [raw_value]
269
+ self.parameters[key] = raw_value
270
+
271
+ return self
272
+
253
273
  @model_validator(mode="before")
254
274
  @classmethod
255
- def reconcile_paused(cls, values):
275
+ def reconcile_paused(cls, values: dict[str, Any]) -> dict[str, Any]:
256
276
  return reconcile_paused_deployment(values)
257
277
 
258
278
  @model_validator(mode="before")
259
279
  @classmethod
260
- def reconcile_schedules(cls, values):
280
+ def reconcile_schedules(cls, values: dict[str, Any]) -> dict[str, Any]:
261
281
  return reconcile_schedules_runner(values)
262
282
 
263
283
  async def _create(
@@ -367,7 +387,8 @@ class RunnerDeployment(BaseModel):
367
387
  await client.update_deployment(
368
388
  deployment_id,
369
389
  deployment=DeploymentUpdate(
370
- **update_payload, parameter_openapi_schema=parameter_openapi_schema
390
+ **update_payload,
391
+ parameter_openapi_schema=parameter_openapi_schema,
371
392
  ),
372
393
  )
373
394
 
@@ -1490,10 +1490,10 @@ class Flow(Generic[P, R]):
1490
1490
  _sla=_sla,
1491
1491
  )
1492
1492
 
1493
- if TYPE_CHECKING:
1494
- assert inspect.isawaitable(to_deployment_coro)
1495
-
1496
- deployment = await to_deployment_coro
1493
+ if inspect.isawaitable(to_deployment_coro):
1494
+ deployment = await to_deployment_coro
1495
+ else:
1496
+ deployment = to_deployment_coro
1497
1497
 
1498
1498
  from prefect.deployments.runner import deploy
1499
1499
 
@@ -313,7 +313,7 @@ async def read_flow_run(
313
313
  )
314
314
 
315
315
 
316
- @router.get("/{id}/graph")
316
+ @router.get("/{id}/graph", tags=["Flow Run Graph"])
317
317
  async def read_flow_run_graph_v1(
318
318
  flow_run_id: UUID = Path(..., description="The flow run id", alias="id"),
319
319
  db: PrefectDBInterface = Depends(provide_database_interface),
@@ -327,7 +327,7 @@ async def read_flow_run_graph_v1(
327
327
  )
328
328
 
329
329
 
330
- @router.get("/{id:uuid}/graph-v2")
330
+ @router.get("/{id:uuid}/graph-v2", tags=["Flow Run Graph"])
331
331
  async def read_flow_run_graph_v2(
332
332
  flow_run_id: UUID = Path(..., description="The flow run id", alias="id"),
333
333
  since: DateTime = Query(
@@ -29,6 +29,7 @@ async def validate_obj(
29
29
  ...,
30
30
  embed=True,
31
31
  alias="schema",
32
+ validation_alias="schema",
32
33
  json_schema_extra={"additionalProperties": True},
33
34
  ),
34
35
  values: dict[str, Any] = Body(
@@ -2,6 +2,8 @@ import warnings
2
2
  from operator import itemgetter
3
3
  from typing import Any, cast
4
4
 
5
+ from pydantic import GetCoreSchemaHandler
6
+ from pydantic_core import core_schema, to_json
5
7
  from typing_extensions import Self, TypeVar
6
8
 
7
9
  T = TypeVar("T", infer_variance=True)
@@ -108,3 +110,44 @@ class NotSet:
108
110
  """
109
111
  Singleton to distinguish `None` from a value that is not provided by the user.
110
112
  """
113
+
114
+
115
+ class freeze(BaseAnnotation[T]):
116
+ """
117
+ Wrapper for parameters in deployments.
118
+
119
+ Indicates that this parameter should be frozen in the UI and not editable
120
+ when creating flow runs from this deployment.
121
+
122
+ Example:
123
+ ```python
124
+ @flow
125
+ def my_flow(customer_id: str):
126
+ # flow logic
127
+
128
+ deployment = my_flow.deploy(parameters={"customer_id": freeze("customer123")})
129
+ ```
130
+ """
131
+
132
+ def __new__(cls, value: T) -> Self:
133
+ try:
134
+ to_json(value)
135
+ except Exception:
136
+ raise ValueError("Value must be JSON serializable")
137
+ return super().__new__(cls, value)
138
+
139
+ def unfreeze(self) -> T:
140
+ """Return the unwrapped value."""
141
+ return self.unwrap()
142
+
143
+ @classmethod
144
+ def __get_pydantic_core_schema__(
145
+ cls, source: type[Any], handler: GetCoreSchemaHandler
146
+ ) -> core_schema.CoreSchema:
147
+ return core_schema.no_info_after_validator_function(
148
+ cls, # Use the class itself as the validator
149
+ core_schema.any_schema(),
150
+ serialization=core_schema.plain_serializer_function_ser_schema(
151
+ lambda x: x.unfreeze() # Serialize by unwrapping the value
152
+ ),
153
+ )
@@ -1,5 +0,0 @@
1
- # Generated by versioningit
2
- __version__ = "3.2.10"
3
- __build_date__ = "2025-03-05 18:07:05.465362+00:00"
4
- __git_commit__ = "3a61a72641ef7ba00d874f725351b1017927a247"
5
- __dirty__ = False
File without changes