prefect-client 3.2.1__tar.gz → 3.2.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 (335) hide show
  1. prefect_client-3.2.3/.gitignore +88 -0
  2. {prefect-client-3.2.1/src/prefect_client.egg-info → prefect_client-3.2.3}/PKG-INFO +47 -12
  3. prefect_client-3.2.3/pyproject.toml +98 -0
  4. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/__init__.py +15 -8
  5. prefect_client-3.2.3/src/prefect/_build_info.py +5 -0
  6. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/schemas/bases.py +4 -7
  7. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/schemas/validators.py +5 -6
  8. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_result_records.py +6 -1
  9. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/__init__.py +18 -6
  10. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/schedules.py +2 -2
  11. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/asyncio.py +4 -3
  12. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/sync.py +3 -3
  13. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/asyncio.py +3 -3
  14. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/sync.py +3 -3
  15. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/flow_runs.py +2 -2
  16. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/docker/docker_image.py +2 -3
  17. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/engine.py +1 -1
  18. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/clients.py +4 -3
  19. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/related.py +3 -5
  20. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/flows.py +11 -5
  21. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/locking/filesystem.py +8 -8
  22. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/handlers.py +7 -11
  23. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/main.py +0 -2
  24. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runtime/flow_run.py +10 -17
  25. prefect_client-3.2.3/src/prefect/server/api/__init__.py +34 -0
  26. prefect_client-3.2.3/src/prefect/server/api/admin.py +85 -0
  27. prefect_client-3.2.3/src/prefect/server/api/artifacts.py +224 -0
  28. prefect_client-3.2.3/src/prefect/server/api/automations.py +239 -0
  29. prefect_client-3.2.3/src/prefect/server/api/block_capabilities.py +25 -0
  30. prefect_client-3.2.3/src/prefect/server/api/block_documents.py +164 -0
  31. prefect_client-3.2.3/src/prefect/server/api/block_schemas.py +153 -0
  32. prefect_client-3.2.3/src/prefect/server/api/block_types.py +211 -0
  33. prefect_client-3.2.3/src/prefect/server/api/clients.py +246 -0
  34. prefect_client-3.2.3/src/prefect/server/api/collections.py +75 -0
  35. prefect_client-3.2.3/src/prefect/server/api/concurrency_limits.py +286 -0
  36. prefect_client-3.2.3/src/prefect/server/api/concurrency_limits_v2.py +269 -0
  37. prefect_client-3.2.3/src/prefect/server/api/csrf_token.py +38 -0
  38. prefect_client-3.2.3/src/prefect/server/api/dependencies.py +196 -0
  39. prefect_client-3.2.3/src/prefect/server/api/deployments.py +941 -0
  40. prefect_client-3.2.3/src/prefect/server/api/events.py +300 -0
  41. prefect_client-3.2.3/src/prefect/server/api/flow_run_notification_policies.py +120 -0
  42. prefect_client-3.2.3/src/prefect/server/api/flow_run_states.py +52 -0
  43. prefect_client-3.2.3/src/prefect/server/api/flow_runs.py +867 -0
  44. prefect_client-3.2.3/src/prefect/server/api/flows.py +210 -0
  45. prefect_client-3.2.3/src/prefect/server/api/logs.py +43 -0
  46. prefect_client-3.2.3/src/prefect/server/api/middleware.py +73 -0
  47. prefect_client-3.2.3/src/prefect/server/api/root.py +35 -0
  48. prefect_client-3.2.3/src/prefect/server/api/run_history.py +170 -0
  49. prefect_client-3.2.3/src/prefect/server/api/saved_searches.py +99 -0
  50. prefect_client-3.2.3/src/prefect/server/api/server.py +891 -0
  51. prefect_client-3.2.3/src/prefect/server/api/task_run_states.py +52 -0
  52. prefect_client-3.2.3/src/prefect/server/api/task_runs.py +342 -0
  53. prefect_client-3.2.3/src/prefect/server/api/task_workers.py +31 -0
  54. prefect_client-3.2.3/src/prefect/server/api/templates.py +35 -0
  55. prefect_client-3.2.3/src/prefect/server/api/ui/__init__.py +3 -0
  56. prefect_client-3.2.3/src/prefect/server/api/ui/flow_runs.py +128 -0
  57. prefect_client-3.2.3/src/prefect/server/api/ui/flows.py +173 -0
  58. prefect_client-3.2.3/src/prefect/server/api/ui/schemas.py +63 -0
  59. prefect_client-3.2.3/src/prefect/server/api/ui/task_runs.py +175 -0
  60. prefect_client-3.2.3/src/prefect/server/api/validation.py +382 -0
  61. prefect_client-3.2.3/src/prefect/server/api/variables.py +181 -0
  62. prefect_client-3.2.3/src/prefect/server/api/work_queues.py +230 -0
  63. prefect_client-3.2.3/src/prefect/server/api/workers.py +656 -0
  64. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/sources.py +18 -5
  65. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/states.py +3 -3
  66. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/task_engine.py +3 -3
  67. prefect_client-3.2.3/src/prefect/types/_datetime.py +125 -0
  68. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/dockerutils.py +2 -2
  69. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/base.py +5 -5
  70. prefect-client-3.2.1/MANIFEST.in +0 -37
  71. prefect-client-3.2.1/PKG-INFO +0 -139
  72. prefect-client-3.2.1/requirements-client.txt +0 -39
  73. prefect-client-3.2.1/requirements-dev.txt +0 -52
  74. prefect-client-3.2.1/requirements.txt +0 -18
  75. prefect-client-3.2.1/setup.cfg +0 -92
  76. prefect-client-3.2.1/setup.py +0 -44
  77. prefect-client-3.2.1/src/prefect/_version.py +0 -21
  78. prefect-client-3.2.1/src/prefect/types/_datetime.py +0 -46
  79. prefect-client-3.2.1/src/prefect_client.egg-info/SOURCES.txt +0 -291
  80. prefect-client-3.2.1/src/prefect_client.egg-info/dependency_links.txt +0 -1
  81. prefect-client-3.2.1/src/prefect_client.egg-info/requires.txt +0 -44
  82. prefect-client-3.2.1/src/prefect_client.egg-info/top_level.txt +0 -1
  83. prefect-client-3.2.1/versioneer.py +0 -2326
  84. {prefect-client-3.2.1 → prefect_client-3.2.3}/LICENSE +0 -0
  85. {prefect-client-3.2.1 → prefect_client-3.2.3}/README.md +0 -0
  86. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/.prefectignore +0 -0
  87. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/__main__.py +0 -0
  88. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_experimental/__init__.py +0 -0
  89. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_experimental/lineage.py +0 -0
  90. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_experimental/sla/__init__.py +0 -0
  91. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_experimental/sla/client.py +0 -0
  92. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_experimental/sla/objects.py +0 -0
  93. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/__init__.py +0 -0
  94. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/_logging.py +0 -0
  95. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/compatibility/__init__.py +0 -0
  96. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  97. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  98. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/compatibility/migration.py +0 -0
  99. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/__init__.py +0 -0
  100. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/api.py +0 -0
  101. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/calls.py +0 -0
  102. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  103. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  104. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/inspection.py +0 -0
  105. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/primitives.py +0 -0
  106. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/services.py +0 -0
  107. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/threads.py +0 -0
  108. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/concurrency/waiters.py +0 -0
  109. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/integrations.py +0 -0
  110. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/__init__.py +0 -0
  111. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  112. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  113. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/schemas.py +0 -0
  114. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  115. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  116. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  117. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/pytz.py +0 -0
  118. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/retries.py +0 -0
  119. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/schemas/__init__.py +0 -0
  120. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/schemas/fields.py +0 -0
  121. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/_internal/schemas/serializers.py +0 -0
  122. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/agent.py +0 -0
  123. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/artifacts.py +0 -0
  124. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/automations.py +0 -0
  125. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/__init__.py +0 -0
  126. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/abstract.py +0 -0
  127. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/core.py +0 -0
  128. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/fields.py +0 -0
  129. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/notifications.py +0 -0
  130. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/redis.py +0 -0
  131. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/system.py +0 -0
  132. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/blocks/webhook.py +0 -0
  133. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/cache_policies.py +0 -0
  134. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/__init__.py +0 -0
  135. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/base.py +0 -0
  136. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/cloud.py +0 -0
  137. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/collections.py +0 -0
  138. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/constants.py +0 -0
  139. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_artifacts/__init__.py +0 -0
  140. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_artifacts/client.py +0 -0
  141. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_automations/__init__.py +0 -0
  142. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_automations/client.py +0 -0
  143. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_blocks_documents/__init__.py +0 -0
  144. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_blocks_documents/client.py +0 -0
  145. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_blocks_schemas/__init__.py +0 -0
  146. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_blocks_schemas/client.py +0 -0
  147. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_blocks_types/__init__.py +0 -0
  148. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_blocks_types/client.py +0 -0
  149. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_concurrency_limits/__init__.py +0 -0
  150. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_concurrency_limits/client.py +0 -0
  151. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_deployments/__init__.py +0 -0
  152. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_deployments/client.py +0 -0
  153. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_flow_runs/__init__.py +0 -0
  154. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_flow_runs/client.py +0 -0
  155. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_flows/__init__.py +0 -0
  156. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_flows/client.py +0 -0
  157. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_logs/__init__.py +0 -0
  158. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_logs/client.py +0 -0
  159. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_variables/__init__.py +0 -0
  160. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_variables/client.py +0 -0
  161. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_work_pools/__init__.py +0 -0
  162. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/_work_pools/client.py +0 -0
  163. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/base.py +0 -0
  164. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/orchestration/routes.py +0 -0
  165. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/__init__.py +0 -0
  166. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/actions.py +0 -0
  167. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/filters.py +0 -0
  168. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/objects.py +0 -0
  169. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/responses.py +0 -0
  170. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/schemas/sorting.py +0 -0
  171. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/subscriptions.py +0 -0
  172. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/types/__init__.py +0 -0
  173. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  174. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/client/utilities.py +0 -0
  175. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/__init__.py +0 -0
  176. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/_asyncio.py +0 -0
  177. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/_events.py +0 -0
  178. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/context.py +0 -0
  179. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/services.py +0 -0
  180. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/__init__.py +0 -0
  181. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/_asyncio.py +0 -0
  182. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/_events.py +0 -0
  183. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/context.py +0 -0
  184. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/concurrency/v1/services.py +0 -0
  185. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/context.py +0 -0
  186. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/__init__.py +0 -0
  187. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/base.py +0 -0
  188. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/deployments.py +0 -0
  189. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/runner.py +0 -0
  190. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/schedules.py +0 -0
  191. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/steps/__init__.py +0 -0
  192. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/steps/core.py +0 -0
  193. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/steps/pull.py +0 -0
  194. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/deployments/steps/utility.py +0 -0
  195. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/docker/__init__.py +0 -0
  196. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/__init__.py +0 -0
  197. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/actions.py +0 -0
  198. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/cli/__init__.py +0 -0
  199. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/cli/automations.py +0 -0
  200. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/filters.py +0 -0
  201. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/schemas/__init__.py +0 -0
  202. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/schemas/automations.py +0 -0
  203. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  204. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/schemas/events.py +0 -0
  205. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/schemas/labelling.py +0 -0
  206. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/utilities.py +0 -0
  207. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/events/worker.py +0 -0
  208. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/exceptions.py +0 -0
  209. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/filesystems.py +0 -0
  210. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/flow_engine.py +0 -0
  211. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/flow_runs.py +0 -0
  212. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/futures.py +0 -0
  213. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/__init__.py +0 -0
  214. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/base.py +0 -0
  215. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  216. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  217. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/provisioners/coiled.py +0 -0
  218. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  219. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  220. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  221. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/input/__init__.py +0 -0
  222. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/input/actions.py +0 -0
  223. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/input/run_input.py +0 -0
  224. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/locking/__init__.py +0 -0
  225. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/locking/memory.py +0 -0
  226. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/locking/protocol.py +0 -0
  227. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/__init__.py +0 -0
  228. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/configuration.py +0 -0
  229. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/filters.py +0 -0
  230. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/formatters.py +0 -0
  231. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/highlighters.py +0 -0
  232. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/loggers.py +0 -0
  233. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/logging/logging.yml +0 -0
  234. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/plugins.py +0 -0
  235. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/py.typed +0 -0
  236. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/results.py +0 -0
  237. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runner/__init__.py +0 -0
  238. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runner/runner.py +0 -0
  239. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runner/server.py +0 -0
  240. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runner/storage.py +0 -0
  241. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runner/submit.py +0 -0
  242. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runner/utils.py +0 -0
  243. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runtime/__init__.py +0 -0
  244. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runtime/deployment.py +0 -0
  245. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/runtime/task_run.py +0 -0
  246. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/schedules.py +0 -0
  247. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/serializers.py +0 -0
  248. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  249. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  250. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/__init__.py +0 -0
  251. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/base.py +0 -0
  252. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/constants.py +0 -0
  253. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/context.py +0 -0
  254. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/legacy.py +0 -0
  255. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/__init__.py +0 -0
  256. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/api.py +0 -0
  257. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/cli.py +0 -0
  258. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/client.py +0 -0
  259. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/cloud.py +0 -0
  260. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/deployments.py +0 -0
  261. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/experiments.py +0 -0
  262. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/flows.py +0 -0
  263. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/internal.py +0 -0
  264. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/logging.py +0 -0
  265. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/results.py +0 -0
  266. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/root.py +0 -0
  267. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/runner.py +0 -0
  268. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/__init__.py +0 -0
  269. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/api.py +0 -0
  270. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/database.py +0 -0
  271. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/deployments.py +0 -0
  272. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/ephemeral.py +0 -0
  273. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/events.py +0 -0
  274. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  275. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/root.py +0 -0
  276. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/services.py +0 -0
  277. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/tasks.py +0 -0
  278. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/server/ui.py +0 -0
  279. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/tasks.py +0 -0
  280. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/testing.py +0 -0
  281. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/models/worker.py +0 -0
  282. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/profiles.py +0 -0
  283. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/settings/profiles.toml +0 -0
  284. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/task_runners.py +0 -0
  285. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/task_runs.py +0 -0
  286. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/task_worker.py +0 -0
  287. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/tasks.py +0 -0
  288. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/__init__.py +0 -0
  289. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/bootstrap.py +0 -0
  290. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/instrumentation.py +0 -0
  291. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/logging.py +0 -0
  292. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/processors.py +0 -0
  293. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/run_telemetry.py +0 -0
  294. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/telemetry/services.py +0 -0
  295. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/transactions.py +0 -0
  296. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/types/__init__.py +0 -0
  297. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/types/entrypoint.py +0 -0
  298. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/__init__.py +0 -0
  299. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/_deprecated.py +0 -0
  300. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/_engine.py +0 -0
  301. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/_git.py +0 -0
  302. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/annotations.py +0 -0
  303. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/asyncutils.py +0 -0
  304. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/callables.py +0 -0
  305. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/collections.py +0 -0
  306. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/compat.py +0 -0
  307. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/context.py +0 -0
  308. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/dispatch.py +0 -0
  309. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/engine.py +0 -0
  310. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/filesystem.py +0 -0
  311. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/generics.py +0 -0
  312. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/hashing.py +0 -0
  313. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/importtools.py +0 -0
  314. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/math.py +0 -0
  315. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/names.py +0 -0
  316. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/processutils.py +0 -0
  317. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/pydantic.py +0 -0
  318. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/render_swagger.py +0 -0
  319. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  320. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  321. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/schema_tools/validation.py +0 -0
  322. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/services.py +0 -0
  323. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/slugify.py +0 -0
  324. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/templating.py +0 -0
  325. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/text.py +0 -0
  326. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/timeout.py +0 -0
  327. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/urls.py +0 -0
  328. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/utilities/visualization.py +0 -0
  329. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/variables.py +0 -0
  330. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/__init__.py +0 -0
  331. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/block.py +0 -0
  332. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/cloud.py +0 -0
  333. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/process.py +0 -0
  334. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/server.py +0 -0
  335. {prefect-client-3.2.1 → prefect_client-3.2.3}/src/prefect/workers/utilities.py +0 -0
@@ -0,0 +1,88 @@
1
+ # Python artifacts
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.egg-info/
6
+ *.egg
7
+ build/
8
+ dist/
9
+ sdist/
10
+ # We likely ought to eventually include uv.lock
11
+ uv.lock
12
+
13
+ # Build metadata
14
+ src/prefect/_build_info.py
15
+ src/prefect/_version.py
16
+
17
+ # Test artifacts
18
+ .benchmarks/
19
+ .coverage
20
+ .coverage.*.*
21
+ .prefect-results
22
+ .pytest_cache/
23
+
24
+ # Type checking artifacts
25
+ .mypy_cache/
26
+ .dmypy.json
27
+ dmypy.json
28
+ .pyre/
29
+
30
+ # IPython
31
+ profile_default/
32
+ ipython_config.py
33
+ *.ipynb_checkpoints/*
34
+
35
+ # Profiling
36
+ /prof
37
+
38
+ # Environments
39
+ .python-version
40
+ .env
41
+ .venv
42
+ env/
43
+ venv/
44
+
45
+ # Documentation artifacts
46
+ # gschema.json
47
+ site/
48
+ .cache/
49
+ src/mkdocs-material
50
+
51
+ # UI artifacts
52
+ src/prefect/server/ui/*
53
+ src/prefect/server/ui_build/*
54
+ **/node_modules
55
+
56
+ # Databases
57
+ *.db
58
+
59
+ # API artifacts
60
+
61
+ # MacOS
62
+ .DS_Store
63
+
64
+ # Dask
65
+ dask-worker-space/
66
+
67
+ # Editors
68
+ .idea/
69
+ .vscode/
70
+ !ui/.vscode/
71
+
72
+ # Prefect files
73
+ prefect.toml
74
+ prefect.yaml
75
+
76
+ # Deployment recipes
77
+ !src/prefect/deployments/recipes/*/**
78
+
79
+ # For development doc server if link
80
+ libcairo.2.dylib
81
+
82
+ # setuptools-scm generated files
83
+ src/prefect/_version.py
84
+ src/integrations/*/**/_version.py
85
+ *.log
86
+
87
+ # Pyright type analysis report
88
+ prefect-analysis.json
@@ -1,20 +1,18 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.2.1
3
+ Version: 3.2.3
4
4
  Summary: Workflow orchestration and management.
5
- Home-page: https://www.prefect.io
6
- Author: Prefect Technologies, Inc.
7
- Author-email: help@prefect.io
8
- License: UNKNOWN
9
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
10
6
  Project-URL: Documentation, https://docs.prefect.io
11
7
  Project-URL: Source, https://github.com/PrefectHQ/prefect
12
8
  Project-URL: Tracker, https://github.com/PrefectHQ/prefect/issues
13
- Platform: UNKNOWN
14
- Classifier: Natural Language :: English
9
+ Author-email: "Prefect Technologies, Inc." <help@prefect.io>
10
+ License: Apache-2.0
11
+ License-File: LICENSE
15
12
  Classifier: Intended Audience :: Developers
16
13
  Classifier: Intended Audience :: System Administrators
17
14
  Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Natural Language :: English
18
16
  Classifier: Programming Language :: Python :: 3 :: Only
19
17
  Classifier: Programming Language :: Python :: 3.9
20
18
  Classifier: Programming Language :: Python :: 3.10
@@ -22,9 +20,48 @@ Classifier: Programming Language :: Python :: 3.11
22
20
  Classifier: Programming Language :: Python :: 3.12
23
21
  Classifier: Topic :: Software Development :: Libraries
24
22
  Requires-Python: >=3.9
25
- Description-Content-Type: text/markdown
23
+ Requires-Dist: anyio<5.0.0,>=4.4.0
24
+ Requires-Dist: asgi-lifespan<3.0,>=1.0
25
+ Requires-Dist: cachetools<6.0,>=5.3
26
+ Requires-Dist: cloudpickle<4.0,>=2.0
27
+ Requires-Dist: coolname<3.0.0,>=1.0.4
28
+ Requires-Dist: croniter<7.0.0,>=1.0.12
29
+ Requires-Dist: exceptiongroup>=1.0.0
30
+ Requires-Dist: fastapi<1.0.0,>=0.111.0
31
+ Requires-Dist: fsspec>=2022.5.0
32
+ Requires-Dist: graphviz>=0.20.1
33
+ Requires-Dist: griffe<2.0.0,>=0.49.0
34
+ Requires-Dist: httpcore<2.0.0,>=1.0.5
35
+ Requires-Dist: httpx[http2]!=0.23.2,>=0.23
36
+ Requires-Dist: importlib-metadata>=4.4; python_version < '3.10'
37
+ Requires-Dist: jsonpatch<2.0,>=1.32
38
+ Requires-Dist: jsonschema<5.0.0,>=4.0.0
39
+ Requires-Dist: opentelemetry-api<2.0.0,>=1.27.0
40
+ Requires-Dist: orjson<4.0,>=3.7
41
+ Requires-Dist: packaging<24.3,>=21.3
42
+ Requires-Dist: pathspec>=0.8.0
43
+ Requires-Dist: pendulum<4,>=3.0.0
44
+ Requires-Dist: prometheus-client>=0.20.0
45
+ Requires-Dist: pydantic!=2.10.0,<3.0.0,>=2.9
46
+ Requires-Dist: pydantic-core<3.0.0,>=2.12.0
47
+ Requires-Dist: pydantic-extra-types<3.0.0,>=2.8.2
48
+ Requires-Dist: pydantic-settings>2.2.1
49
+ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
50
+ Requires-Dist: python-slugify<9.0,>=5.0
51
+ Requires-Dist: python-socks[asyncio]<3.0,>=2.5.3
52
+ Requires-Dist: pyyaml<7.0.0,>=5.4.1
53
+ Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
54
+ Requires-Dist: rich<14.0,>=11.0
55
+ Requires-Dist: ruamel-yaml>=0.17.0
56
+ Requires-Dist: sniffio<2.0.0,>=1.3.0
57
+ Requires-Dist: toml>=0.10.0
58
+ Requires-Dist: typing-extensions<5.0.0,>=4.5.0
59
+ Requires-Dist: ujson<6.0.0,>=5.8.0
60
+ Requires-Dist: uvicorn!=0.29.0,>=0.14.0
61
+ Requires-Dist: websockets<14.0,>=10.4
26
62
  Provides-Extra: notifications
27
- License-File: LICENSE
63
+ Requires-Dist: apprise<2.0.0,>=1.1.0; extra == 'notifications'
64
+ Description-Content-Type: text/markdown
28
65
 
29
66
  <p align="center"><img src="https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85" width=1000></p>
30
67
 
@@ -135,5 +172,3 @@ All community forums, including code contributions, issue discussions, and Slack
135
172
  See our [documentation on contributing to Prefect](https://docs.prefect.io/contributing/overview/).
136
173
 
137
174
  Thanks for being part of the mission to build a new kind of workflow system and, of course, **happy engineering!**
138
-
139
-
@@ -0,0 +1,98 @@
1
+ [build-system]
2
+ requires = ["hatchling", "versioningit"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "prefect-client"
7
+ dynamic = ["version"]
8
+ description = "Workflow orchestration and management."
9
+ readme = "README.md"
10
+ requires-python = ">=3.9"
11
+ license = { text = "Apache-2.0" }
12
+ authors = [{ name = "Prefect Technologies, Inc.", email = "help@prefect.io" }]
13
+ classifiers = [
14
+ "Natural Language :: English",
15
+ "Intended Audience :: Developers",
16
+ "Intended Audience :: System Administrators",
17
+ "License :: OSI Approved :: Apache Software License",
18
+ "Programming Language :: Python :: 3 :: Only",
19
+ "Programming Language :: Python :: 3.9",
20
+ "Programming Language :: Python :: 3.10",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Topic :: Software Development :: Libraries",
24
+ ]
25
+ dependencies = [
26
+ # Client dependencies
27
+ "anyio>=4.4.0,<5.0.0",
28
+ "asgi-lifespan>=1.0,<3.0",
29
+ "cachetools>=5.3,<6.0",
30
+ "cloudpickle>=2.0,<4.0",
31
+ "coolname>=1.0.4,<3.0.0",
32
+ "croniter>=1.0.12,<7.0.0",
33
+ "exceptiongroup>=1.0.0",
34
+ "fastapi>=0.111.0,<1.0.0",
35
+ "fsspec>=2022.5.0",
36
+ "graphviz>=0.20.1",
37
+ "griffe>=0.49.0,<2.0.0",
38
+ "httpcore>=1.0.5,<2.0.0",
39
+ "httpx[http2]>=0.23,!=0.23.2",
40
+ "importlib_metadata>=4.4;python_version<'3.10'",
41
+ "jsonpatch>=1.32,<2.0",
42
+ "jsonschema>=4.0.0,<5.0.0",
43
+ "opentelemetry-api>=1.27.0,<2.0.0",
44
+ "orjson>=3.7,<4.0",
45
+ "packaging>=21.3,<24.3",
46
+ "pathspec>=0.8.0",
47
+ "pendulum>=3.0.0,<4",
48
+ "prometheus-client>=0.20.0",
49
+ "pydantic>=2.9,<3.0.0,!=2.10.0",
50
+ "pydantic_core>=2.12.0,<3.0.0",
51
+ "pydantic_extra_types>=2.8.2,<3.0.0",
52
+ "pydantic_settings>2.2.1",
53
+ "python-dateutil>=2.8.2,<3.0.0",
54
+ "python-slugify>=5.0,<9.0",
55
+ "python-socks[asyncio]>=2.5.3,<3.0",
56
+ "pyyaml>=5.4.1,<7.0.0",
57
+ "rfc3339-validator>=0.1.4,<0.2.0",
58
+ "rich>=11.0,<14.0",
59
+ "ruamel.yaml>=0.17.0",
60
+ "sniffio>=1.3.0,<2.0.0",
61
+ "toml>=0.10.0",
62
+ "typing_extensions>=4.5.0,<5.0.0",
63
+ "ujson>=5.8.0,<6.0.0",
64
+ "uvicorn>=0.14.0,!=0.29.0",
65
+ "websockets>=10.4,<14.0",
66
+ ]
67
+ [project.urls]
68
+ Changelog = "https://github.com/PrefectHQ/prefect/releases"
69
+ Documentation = "https://docs.prefect.io"
70
+ Source = "https://github.com/PrefectHQ/prefect"
71
+ Tracker = "https://github.com/PrefectHQ/prefect/issues"
72
+ [project.optional-dependencies]
73
+ notifications = ["apprise>=1.1.0, <2.0.0"]
74
+
75
+
76
+ [tool.hatch.version]
77
+ source = "versioningit"
78
+
79
+ [tool.versioningit.vcs]
80
+ match = ["[0-9]*.[0-9]*.[0-9]*", "[0-9]*.[0-9]*.[0-9]*.dev[0-9]*"]
81
+
82
+ [tool.versioningit.write]
83
+ method = { module = "write_build_info", value = "write_build_info", module-dir = "tools" }
84
+ path = "src/prefect/_build_info.py"
85
+
86
+ [tool.versioningit.format]
87
+ distance = "{base_version}+{distance}.{vcs}{rev}"
88
+ dirty = "{base_version}"
89
+ distance-dirty = "{base_version}+{distance}.{vcs}{rev}"
90
+
91
+ [tool.hatch.build]
92
+ artifacts = ["src/prefect/_build_info.py"]
93
+
94
+ [tool.hatch.build.targets.sdist]
95
+ include = ["/src/prefect", "/README.md", "/LICENSE", "/pyproject.toml"]
96
+
97
+ [tool.hatch.build.targets.wheel]
98
+ packages = ["src/prefect"]
@@ -3,7 +3,7 @@
3
3
  # Setup version and path constants
4
4
 
5
5
  import sys
6
- from . import _version
6
+ from . import _build_info
7
7
  import importlib
8
8
  import pathlib
9
9
  from typing import TYPE_CHECKING, Any, Optional, TypedDict, cast
@@ -24,16 +24,14 @@ if TYPE_CHECKING:
24
24
  unmapped,
25
25
  serve,
26
26
  aserve,
27
- deploy,
28
27
  pause_flow_run,
29
28
  resume_flow_run,
30
29
  suspend_flow_run,
31
30
  )
31
+ from prefect.deployments.runner import deploy
32
32
 
33
33
  __spec__: ModuleSpec
34
34
 
35
- # Versioneer provides version information as dictionaries
36
- # with these keys
37
35
  class VersionInfo(TypedDict("_FullRevisionId", {"full-revisionid": str})):
38
36
  version: str
39
37
  dirty: Optional[bool]
@@ -41,8 +39,17 @@ if TYPE_CHECKING:
41
39
  date: Optional[str]
42
40
 
43
41
 
44
- __version_info__: "VersionInfo" = cast("VersionInfo", _version.get_versions())
45
- __version__ = __version_info__["version"]
42
+ __version__ = _build_info.__version__
43
+ __version_info__: "VersionInfo" = cast(
44
+ "VersionInfo",
45
+ {
46
+ "version": __version__,
47
+ "date": _build_info.__build_date__,
48
+ "full-revisionid": _build_info.__git_commit__,
49
+ "error": None,
50
+ "dirty": _build_info.__dirty__,
51
+ },
52
+ )
46
53
 
47
54
  # The absolute path to this module
48
55
  __module_path__: pathlib.Path = pathlib.Path(__file__).parent
@@ -56,12 +63,12 @@ __ui_static_subpath__: pathlib.Path = __module_path__ / "server" / "ui_build"
56
63
  # The absolute path to the built UI within the Python module
57
64
  __ui_static_path__: pathlib.Path = __module_path__ / "server" / "ui"
58
65
 
59
- del _version, pathlib
66
+ del _build_info, pathlib
60
67
 
61
68
  _public_api: dict[str, tuple[Optional[str], str]] = {
62
69
  "allow_failure": (__spec__.parent, ".main"),
63
70
  "aserve": (__spec__.parent, ".main"),
64
- "deploy": (__spec__.parent, ".main"),
71
+ "deploy": (__spec__.parent, ".deployments.runner"),
65
72
  "flow": (__spec__.parent, ".main"),
66
73
  "Flow": (__spec__.parent, ".main"),
67
74
  "get_client": (__spec__.parent, ".main"),
@@ -0,0 +1,5 @@
1
+ # Generated by versioningit
2
+ __version__ = "3.2.3"
3
+ __build_date__ = "2025-02-18 19:56:33.826730+00:00"
4
+ __git_commit__ = "b31bfa353b4421ce133091e87cb9f661152a48bb"
5
+ __dirty__ = False
@@ -3,15 +3,14 @@ Utilities for creating and working with Prefect REST API schemas.
3
3
  """
4
4
 
5
5
  import datetime
6
- from typing import Any, ClassVar, Optional, TypeVar, cast
6
+ from typing import Any, ClassVar, Optional, TypeVar
7
7
  from uuid import UUID, uuid4
8
8
 
9
- import pendulum
10
9
  from pydantic import BaseModel, ConfigDict, Field
11
10
  from rich.repr import RichReprResult
12
11
  from typing_extensions import Self
13
12
 
14
- from prefect.types import DateTime
13
+ from prefect.types._datetime import DateTime, create_datetime_instance
15
14
  from prefect.utilities.generics import validate_list
16
15
 
17
16
  T = TypeVar("T")
@@ -73,11 +72,9 @@ class PrefectBaseModel(BaseModel):
73
72
  and name == "timestamp"
74
73
  and value
75
74
  ):
76
- value = cast(pendulum.DateTime, pendulum.instance(value)).isoformat()
75
+ value = create_datetime_instance(value).isoformat()
77
76
  elif isinstance(field.annotation, datetime.datetime) and value:
78
- value = cast(
79
- pendulum.DateTime, pendulum.instance(value)
80
- ).diff_for_humans()
77
+ value = create_datetime_instance(value).diff_for_humans()
81
78
 
82
79
  yield name, value, field.get_default()
83
80
 
@@ -19,9 +19,8 @@ from typing import TYPE_CHECKING, Any, Optional, TypeVar, Union, overload
19
19
  from uuid import UUID
20
20
 
21
21
  import jsonschema
22
- import pendulum
23
- import pendulum.tz
24
22
 
23
+ from prefect.types._datetime import DateTime, create_datetime_instance, get_timezones
25
24
  from prefect.utilities.collections import isiterable
26
25
  from prefect.utilities.filesystem import relative_path_to_current_platform
27
26
  from prefect.utilities.importtools import from_qualified_name
@@ -253,8 +252,8 @@ def reconcile_paused_deployment(values: MM) -> MM:
253
252
  return values
254
253
 
255
254
 
256
- def default_anchor_date(v: pendulum.DateTime) -> pendulum.DateTime:
257
- return pendulum.instance(v)
255
+ def default_anchor_date(v: DateTime) -> DateTime:
256
+ return create_datetime_instance(v)
258
257
 
259
258
 
260
259
  @overload
@@ -271,7 +270,7 @@ def default_timezone(
271
270
  v: Optional[str], values: Optional[Mapping[str, Any]] = None
272
271
  ) -> Optional[str]:
273
272
  values = values or {}
274
- timezones = pendulum.tz.timezones()
273
+ timezones = get_timezones()
275
274
 
276
275
  if v is not None:
277
276
  if v and v not in timezones:
@@ -283,7 +282,7 @@ def default_timezone(
283
282
 
284
283
  # anchor schedules
285
284
  elif "anchor_date" in values:
286
- anchor_date: pendulum.DateTime = values["anchor_date"]
285
+ anchor_date: DateTime = values["anchor_date"]
287
286
  tz = "UTC" if anchor_date.tz is None else anchor_date.tz.name
288
287
  # sometimes anchor dates have "timezones" that are UTC offsets
289
288
  # like "-04:00". This happens when parsing ISO8601 strings.
@@ -9,6 +9,7 @@ from typing import (
9
9
  Optional,
10
10
  TypeVar,
11
11
  Union,
12
+ cast,
12
13
  )
13
14
  from uuid import UUID
14
15
 
@@ -146,6 +147,8 @@ class ResultRecord(BaseModel, Generic[R]):
146
147
  @classmethod
147
148
  def coerce_old_format(cls, value: dict[str, Any] | Any) -> dict[str, Any]:
148
149
  if isinstance(value, dict):
150
+ if TYPE_CHECKING: # TODO: # isintance doesn't accept generic parameters
151
+ value = cast(dict[str, Any], value)
149
152
  if "data" in value:
150
153
  value["result"] = value.pop("data")
151
154
  if "metadata" not in value:
@@ -232,4 +235,6 @@ class ResultRecord(BaseModel, Generic[R]):
232
235
  def __eq__(self, other: Any | "ResultRecord[Any]") -> bool:
233
236
  if not isinstance(other, ResultRecord):
234
237
  return False
235
- return self.metadata == other.metadata and self.result == other.result
238
+ return self.model_dump(include={"metadata", "result"}) == other.model_dump(
239
+ include={"metadata", "result"}
240
+ )
@@ -11,7 +11,7 @@ from uuid import UUID
11
11
  import certifi
12
12
  import httpcore
13
13
  import httpx
14
- import pendulum
14
+
15
15
  import pydantic
16
16
  from asgi_lifespan import LifespanManager
17
17
  from packaging import version
@@ -130,6 +130,7 @@ from prefect.settings import (
130
130
  PREFECT_SERVER_ALLOW_EPHEMERAL_MODE,
131
131
  PREFECT_TESTING_UNIT_TEST_MODE,
132
132
  )
133
+ from prefect.types._datetime import now
133
134
 
134
135
  if TYPE_CHECKING:
135
136
  from prefect.tasks import Task as TaskObject
@@ -149,18 +150,29 @@ T = TypeVar("T")
149
150
 
150
151
  @overload
151
152
  def get_client(
152
- *,
153
- httpx_settings: Optional[dict[str, Any]] = ...,
154
- sync_client: Literal[False] = False,
153
+ httpx_settings: Optional[dict[str, Any]],
154
+ sync_client: Literal[False],
155
155
  ) -> "PrefectClient": ...
156
156
 
157
157
 
158
+ @overload
159
+ def get_client(*, httpx_settings: Optional[dict[str, Any]]) -> "PrefectClient": ...
160
+
161
+
162
+ @overload
163
+ def get_client(*, sync_client: Literal[False] = False) -> "PrefectClient": ...
164
+
165
+
158
166
  @overload
159
167
  def get_client(
160
- *, httpx_settings: Optional[dict[str, Any]] = ..., sync_client: Literal[True] = ...
168
+ httpx_settings: Optional[dict[str, Any]], sync_client: Literal[True]
161
169
  ) -> "SyncPrefectClient": ...
162
170
 
163
171
 
172
+ @overload
173
+ def get_client(*, sync_client: Literal[True]) -> "SyncPrefectClient": ...
174
+
175
+
164
176
  def get_client(
165
177
  httpx_settings: Optional[dict[str, Any]] = None, sync_client: bool = False
166
178
  ) -> Union["SyncPrefectClient", "PrefectClient"]:
@@ -607,7 +619,7 @@ class PrefectClient(
607
619
  List[FlowRun]: a list of FlowRun objects read from the queue
608
620
  """
609
621
  if scheduled_before is None:
610
- scheduled_before = pendulum.now("UTC")
622
+ scheduled_before = now("UTC")
611
623
 
612
624
  try:
613
625
  response = await self._client.post(
@@ -30,7 +30,7 @@ def is_valid_timezone(v: str) -> bool:
30
30
  Validate that the provided timezone is a valid IANA timezone.
31
31
 
32
32
  Unfortunately this list is slightly different from the list of valid
33
- timezones in pendulum that we use for cron and interval timezone validation.
33
+ timezones we use for cron and interval timezone validation.
34
34
  """
35
35
  from prefect._internal.pytz import HAS_PYTZ
36
36
 
@@ -309,7 +309,7 @@ class RRuleSchedule(PrefectBaseModel):
309
309
  Validate that the provided timezone is a valid IANA timezone.
310
310
 
311
311
  Unfortunately this list is slightly different from the list of valid
312
- timezones in pendulum that we use for cron and interval timezone validation.
312
+ timezones we use for cron and interval timezone validation.
313
313
  """
314
314
  if v is None:
315
315
  return "UTC"
@@ -3,7 +3,8 @@ from contextlib import asynccontextmanager
3
3
  from typing import Optional, Union
4
4
 
5
5
  import anyio
6
- import pendulum
6
+
7
+ from prefect.types._datetime import now
7
8
 
8
9
  from ._asyncio import (
9
10
  AcquireConcurrencySlotTimeoutError as AcquireConcurrencySlotTimeoutError,
@@ -69,13 +70,13 @@ async def concurrency(
69
70
  max_retries=max_retries,
70
71
  strict=strict,
71
72
  )
72
- acquisition_time = pendulum.now("UTC")
73
+ acquisition_time = now("UTC")
73
74
  emitted_events = emit_concurrency_acquisition_events(limits, occupy)
74
75
 
75
76
  try:
76
77
  yield
77
78
  finally:
78
- occupancy_period = pendulum.now("UTC") - acquisition_time
79
+ occupancy_period = now("UTC") - acquisition_time
79
80
  try:
80
81
  await arelease_concurrency_slots(
81
82
  names, occupy, occupancy_period.total_seconds()
@@ -2,10 +2,10 @@ from collections.abc import Generator
2
2
  from contextlib import contextmanager
3
3
  from typing import Optional, TypeVar, Union
4
4
 
5
- import pendulum
6
5
  from typing_extensions import Literal
7
6
 
8
7
  from prefect.client.schemas.responses import MinimalConcurrencyLimitResponse
8
+ from prefect.types._datetime import now
9
9
  from prefect.utilities.asyncutils import run_coro_as_sync
10
10
 
11
11
  from ._asyncio import (
@@ -98,13 +98,13 @@ def concurrency(
98
98
  strict=strict,
99
99
  max_retries=max_retries,
100
100
  )
101
- acquisition_time = pendulum.now("UTC")
101
+ acquisition_time = now("UTC")
102
102
  emitted_events = emit_concurrency_acquisition_events(limits, occupy)
103
103
 
104
104
  try:
105
105
  yield
106
106
  finally:
107
- occupancy_period = pendulum.now("UTC") - acquisition_time
107
+ occupancy_period = now("UTC") - acquisition_time
108
108
  _release_concurrency_slots(names, occupy, occupancy_period.total_seconds())
109
109
  emit_concurrency_release_events(limits, occupy, emitted_events)
110
110
 
@@ -4,7 +4,6 @@ from typing import TYPE_CHECKING, Optional, Union
4
4
  from uuid import UUID
5
5
 
6
6
  import anyio
7
- import pendulum
8
7
 
9
8
  from prefect.concurrency.v1._asyncio import (
10
9
  acquire_concurrency_slots,
@@ -15,6 +14,7 @@ from prefect.concurrency.v1._events import (
15
14
  emit_concurrency_release_events,
16
15
  )
17
16
  from prefect.concurrency.v1.context import ConcurrencyContext
17
+ from prefect.types._datetime import now
18
18
 
19
19
  from ._asyncio import (
20
20
  AcquireConcurrencySlotTimeoutError as AcquireConcurrencySlotTimeoutError,
@@ -67,13 +67,13 @@ async def concurrency(
67
67
  if TYPE_CHECKING:
68
68
  assert not isinstance(acquire_slots, list)
69
69
  limits = await acquire_slots
70
- acquisition_time = pendulum.now("UTC")
70
+ acquisition_time = now("UTC")
71
71
  emitted_events = emit_concurrency_acquisition_events(limits, task_run_id)
72
72
 
73
73
  try:
74
74
  yield
75
75
  finally:
76
- occupancy_period = pendulum.now("UTC") - acquisition_time
76
+ occupancy_period = now("UTC") - acquisition_time
77
77
  try:
78
78
  release_slots = release_concurrency_slots(
79
79
  names_normalized, task_run_id, occupancy_period.total_seconds()
@@ -4,7 +4,7 @@ from contextlib import contextmanager
4
4
  from typing import Optional, TypeVar, Union
5
5
  from uuid import UUID
6
6
 
7
- import pendulum
7
+ from prefect.types._datetime import now
8
8
 
9
9
  from ._asyncio import acquire_concurrency_slots, release_concurrency_slots
10
10
  from ._events import (
@@ -59,13 +59,13 @@ def concurrency(
59
59
  )
60
60
  assert not asyncio.iscoroutine(result)
61
61
  limits = result
62
- acquisition_time = pendulum.now("UTC")
62
+ acquisition_time = now("UTC")
63
63
  emitted_events = emit_concurrency_acquisition_events(limits, task_run_id)
64
64
 
65
65
  try:
66
66
  yield
67
67
  finally:
68
- occupancy_period = pendulum.now("UTC") - acquisition_time
68
+ occupancy_period = now("UTC") - acquisition_time
69
69
  release_concurrency_slots(
70
70
  names, task_run_id, occupancy_period.total_seconds(), **force
71
71
  )
@@ -3,7 +3,6 @@ from typing import TYPE_CHECKING, Any, Iterable, Optional, Union
3
3
  from uuid import UUID
4
4
 
5
5
  import anyio
6
- import pendulum
7
6
 
8
7
  import prefect
9
8
  from prefect._result_records import ResultRecordMetadata
@@ -16,6 +15,7 @@ from prefect.tasks import Task
16
15
  from prefect.telemetry.run_telemetry import (
17
16
  LABELS_TRACEPARENT_KEY,
18
17
  )
18
+ from prefect.types._datetime import now
19
19
  from prefect.utilities.asyncutils import sync_compatible
20
20
  from prefect.utilities.slugify import slugify
21
21
 
@@ -96,7 +96,7 @@ async def run_deployment(
96
96
  raise ValueError("`timeout` cannot be negative")
97
97
 
98
98
  if scheduled_time is None:
99
- scheduled_time = pendulum.now("UTC")
99
+ scheduled_time = now("UTC")
100
100
 
101
101
  parameters = parameters or {}
102
102
 
@@ -1,11 +1,10 @@
1
1
  from pathlib import Path
2
2
  from typing import Any, Optional
3
3
 
4
- from pendulum import now as pendulum_now
5
-
6
4
  from prefect.settings import (
7
5
  PREFECT_DEFAULT_DOCKER_BUILD_NAMESPACE,
8
6
  )
7
+ from prefect.types._datetime import now
9
8
  from prefect.utilities.dockerutils import (
10
9
  PushError,
11
10
  build_image,
@@ -54,7 +53,7 @@ class DockerImage:
54
53
  # join the namespace and repository to create the full image name
55
54
  # ignore namespace if it is None
56
55
  self.name: str = "/".join(filter(None, [namespace, repository]))
57
- self.tag: str = tag or image_tag or slugify(pendulum_now("utc").isoformat())
56
+ self.tag: str = tag or image_tag or slugify(now("UTC").isoformat())
58
57
  self.dockerfile: str = dockerfile
59
58
  self.build_kwargs: dict[str, Any] = build_kwargs
60
59