prefect-client 2.19.3__py3-none-any.whl → 3.0.0rc1__py3-none-any.whl

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 (239) hide show
  1. prefect/__init__.py +8 -56
  2. prefect/_internal/compatibility/deprecated.py +6 -115
  3. prefect/_internal/compatibility/experimental.py +4 -79
  4. prefect/_internal/concurrency/api.py +0 -34
  5. prefect/_internal/concurrency/calls.py +0 -6
  6. prefect/_internal/concurrency/cancellation.py +0 -3
  7. prefect/_internal/concurrency/event_loop.py +0 -20
  8. prefect/_internal/concurrency/inspection.py +3 -3
  9. prefect/_internal/concurrency/threads.py +35 -0
  10. prefect/_internal/concurrency/waiters.py +0 -28
  11. prefect/_internal/pydantic/__init__.py +0 -45
  12. prefect/_internal/pydantic/v1_schema.py +21 -22
  13. prefect/_internal/pydantic/v2_schema.py +0 -2
  14. prefect/_internal/pydantic/v2_validated_func.py +18 -23
  15. prefect/_internal/schemas/bases.py +44 -177
  16. prefect/_internal/schemas/fields.py +1 -43
  17. prefect/_internal/schemas/validators.py +60 -158
  18. prefect/artifacts.py +161 -14
  19. prefect/automations.py +39 -4
  20. prefect/blocks/abstract.py +1 -1
  21. prefect/blocks/core.py +268 -148
  22. prefect/blocks/fields.py +2 -57
  23. prefect/blocks/kubernetes.py +8 -12
  24. prefect/blocks/notifications.py +40 -20
  25. prefect/blocks/system.py +22 -11
  26. prefect/blocks/webhook.py +2 -9
  27. prefect/client/base.py +4 -4
  28. prefect/client/cloud.py +8 -13
  29. prefect/client/orchestration.py +347 -341
  30. prefect/client/schemas/actions.py +92 -86
  31. prefect/client/schemas/filters.py +20 -40
  32. prefect/client/schemas/objects.py +147 -145
  33. prefect/client/schemas/responses.py +16 -24
  34. prefect/client/schemas/schedules.py +47 -35
  35. prefect/client/subscriptions.py +2 -2
  36. prefect/client/utilities.py +5 -2
  37. prefect/concurrency/asyncio.py +3 -1
  38. prefect/concurrency/events.py +1 -1
  39. prefect/concurrency/services.py +6 -3
  40. prefect/context.py +195 -27
  41. prefect/deployments/__init__.py +5 -6
  42. prefect/deployments/base.py +7 -5
  43. prefect/deployments/flow_runs.py +185 -0
  44. prefect/deployments/runner.py +50 -45
  45. prefect/deployments/schedules.py +28 -23
  46. prefect/deployments/steps/__init__.py +0 -1
  47. prefect/deployments/steps/core.py +1 -0
  48. prefect/deployments/steps/pull.py +7 -21
  49. prefect/engine.py +12 -2422
  50. prefect/events/actions.py +17 -23
  51. prefect/events/cli/automations.py +19 -6
  52. prefect/events/clients.py +14 -37
  53. prefect/events/filters.py +14 -18
  54. prefect/events/related.py +2 -2
  55. prefect/events/schemas/__init__.py +0 -5
  56. prefect/events/schemas/automations.py +55 -46
  57. prefect/events/schemas/deployment_triggers.py +7 -197
  58. prefect/events/schemas/events.py +34 -65
  59. prefect/events/schemas/labelling.py +10 -14
  60. prefect/events/utilities.py +2 -3
  61. prefect/events/worker.py +2 -3
  62. prefect/filesystems.py +6 -517
  63. prefect/{new_flow_engine.py → flow_engine.py} +313 -72
  64. prefect/flow_runs.py +377 -5
  65. prefect/flows.py +248 -165
  66. prefect/futures.py +186 -345
  67. prefect/infrastructure/__init__.py +0 -27
  68. prefect/infrastructure/provisioners/__init__.py +5 -3
  69. prefect/infrastructure/provisioners/cloud_run.py +11 -6
  70. prefect/infrastructure/provisioners/container_instance.py +11 -7
  71. prefect/infrastructure/provisioners/ecs.py +6 -4
  72. prefect/infrastructure/provisioners/modal.py +8 -5
  73. prefect/input/actions.py +2 -4
  74. prefect/input/run_input.py +5 -7
  75. prefect/logging/formatters.py +0 -2
  76. prefect/logging/handlers.py +3 -11
  77. prefect/logging/loggers.py +2 -2
  78. prefect/manifests.py +2 -1
  79. prefect/records/__init__.py +1 -0
  80. prefect/records/result_store.py +42 -0
  81. prefect/records/store.py +9 -0
  82. prefect/results.py +43 -39
  83. prefect/runner/runner.py +9 -9
  84. prefect/runner/server.py +6 -10
  85. prefect/runner/storage.py +3 -8
  86. prefect/runner/submit.py +2 -2
  87. prefect/runner/utils.py +2 -2
  88. prefect/serializers.py +24 -35
  89. prefect/server/api/collections_data/views/aggregate-worker-metadata.json +5 -14
  90. prefect/settings.py +70 -133
  91. prefect/states.py +17 -47
  92. prefect/task_engine.py +697 -58
  93. prefect/task_runners.py +269 -301
  94. prefect/task_server.py +53 -34
  95. prefect/tasks.py +327 -337
  96. prefect/transactions.py +220 -0
  97. prefect/types/__init__.py +61 -82
  98. prefect/utilities/asyncutils.py +195 -136
  99. prefect/utilities/callables.py +121 -41
  100. prefect/utilities/collections.py +23 -38
  101. prefect/utilities/dispatch.py +11 -3
  102. prefect/utilities/dockerutils.py +4 -0
  103. prefect/utilities/engine.py +140 -20
  104. prefect/utilities/importtools.py +26 -27
  105. prefect/utilities/pydantic.py +128 -38
  106. prefect/utilities/schema_tools/hydration.py +5 -1
  107. prefect/utilities/templating.py +12 -2
  108. prefect/variables.py +78 -61
  109. prefect/workers/__init__.py +0 -1
  110. prefect/workers/base.py +15 -17
  111. prefect/workers/process.py +3 -8
  112. prefect/workers/server.py +2 -2
  113. {prefect_client-2.19.3.dist-info → prefect_client-3.0.0rc1.dist-info}/METADATA +22 -21
  114. prefect_client-3.0.0rc1.dist-info/RECORD +176 -0
  115. prefect/_internal/pydantic/_base_model.py +0 -51
  116. prefect/_internal/pydantic/_compat.py +0 -82
  117. prefect/_internal/pydantic/_flags.py +0 -20
  118. prefect/_internal/pydantic/_types.py +0 -8
  119. prefect/_internal/pydantic/utilities/__init__.py +0 -0
  120. prefect/_internal/pydantic/utilities/config_dict.py +0 -72
  121. prefect/_internal/pydantic/utilities/field_validator.py +0 -150
  122. prefect/_internal/pydantic/utilities/model_construct.py +0 -56
  123. prefect/_internal/pydantic/utilities/model_copy.py +0 -55
  124. prefect/_internal/pydantic/utilities/model_dump.py +0 -136
  125. prefect/_internal/pydantic/utilities/model_dump_json.py +0 -112
  126. prefect/_internal/pydantic/utilities/model_fields.py +0 -50
  127. prefect/_internal/pydantic/utilities/model_fields_set.py +0 -29
  128. prefect/_internal/pydantic/utilities/model_json_schema.py +0 -82
  129. prefect/_internal/pydantic/utilities/model_rebuild.py +0 -80
  130. prefect/_internal/pydantic/utilities/model_validate.py +0 -75
  131. prefect/_internal/pydantic/utilities/model_validate_json.py +0 -68
  132. prefect/_internal/pydantic/utilities/model_validator.py +0 -87
  133. prefect/_internal/pydantic/utilities/type_adapter.py +0 -71
  134. prefect/_vendor/__init__.py +0 -0
  135. prefect/_vendor/fastapi/__init__.py +0 -25
  136. prefect/_vendor/fastapi/applications.py +0 -946
  137. prefect/_vendor/fastapi/background.py +0 -3
  138. prefect/_vendor/fastapi/concurrency.py +0 -44
  139. prefect/_vendor/fastapi/datastructures.py +0 -58
  140. prefect/_vendor/fastapi/dependencies/__init__.py +0 -0
  141. prefect/_vendor/fastapi/dependencies/models.py +0 -64
  142. prefect/_vendor/fastapi/dependencies/utils.py +0 -877
  143. prefect/_vendor/fastapi/encoders.py +0 -177
  144. prefect/_vendor/fastapi/exception_handlers.py +0 -40
  145. prefect/_vendor/fastapi/exceptions.py +0 -46
  146. prefect/_vendor/fastapi/logger.py +0 -3
  147. prefect/_vendor/fastapi/middleware/__init__.py +0 -1
  148. prefect/_vendor/fastapi/middleware/asyncexitstack.py +0 -25
  149. prefect/_vendor/fastapi/middleware/cors.py +0 -3
  150. prefect/_vendor/fastapi/middleware/gzip.py +0 -3
  151. prefect/_vendor/fastapi/middleware/httpsredirect.py +0 -3
  152. prefect/_vendor/fastapi/middleware/trustedhost.py +0 -3
  153. prefect/_vendor/fastapi/middleware/wsgi.py +0 -3
  154. prefect/_vendor/fastapi/openapi/__init__.py +0 -0
  155. prefect/_vendor/fastapi/openapi/constants.py +0 -2
  156. prefect/_vendor/fastapi/openapi/docs.py +0 -203
  157. prefect/_vendor/fastapi/openapi/models.py +0 -480
  158. prefect/_vendor/fastapi/openapi/utils.py +0 -485
  159. prefect/_vendor/fastapi/param_functions.py +0 -340
  160. prefect/_vendor/fastapi/params.py +0 -453
  161. prefect/_vendor/fastapi/requests.py +0 -4
  162. prefect/_vendor/fastapi/responses.py +0 -40
  163. prefect/_vendor/fastapi/routing.py +0 -1331
  164. prefect/_vendor/fastapi/security/__init__.py +0 -15
  165. prefect/_vendor/fastapi/security/api_key.py +0 -98
  166. prefect/_vendor/fastapi/security/base.py +0 -6
  167. prefect/_vendor/fastapi/security/http.py +0 -172
  168. prefect/_vendor/fastapi/security/oauth2.py +0 -227
  169. prefect/_vendor/fastapi/security/open_id_connect_url.py +0 -34
  170. prefect/_vendor/fastapi/security/utils.py +0 -10
  171. prefect/_vendor/fastapi/staticfiles.py +0 -1
  172. prefect/_vendor/fastapi/templating.py +0 -3
  173. prefect/_vendor/fastapi/testclient.py +0 -1
  174. prefect/_vendor/fastapi/types.py +0 -3
  175. prefect/_vendor/fastapi/utils.py +0 -235
  176. prefect/_vendor/fastapi/websockets.py +0 -7
  177. prefect/_vendor/starlette/__init__.py +0 -1
  178. prefect/_vendor/starlette/_compat.py +0 -28
  179. prefect/_vendor/starlette/_exception_handler.py +0 -80
  180. prefect/_vendor/starlette/_utils.py +0 -88
  181. prefect/_vendor/starlette/applications.py +0 -261
  182. prefect/_vendor/starlette/authentication.py +0 -159
  183. prefect/_vendor/starlette/background.py +0 -43
  184. prefect/_vendor/starlette/concurrency.py +0 -59
  185. prefect/_vendor/starlette/config.py +0 -151
  186. prefect/_vendor/starlette/convertors.py +0 -87
  187. prefect/_vendor/starlette/datastructures.py +0 -707
  188. prefect/_vendor/starlette/endpoints.py +0 -130
  189. prefect/_vendor/starlette/exceptions.py +0 -60
  190. prefect/_vendor/starlette/formparsers.py +0 -276
  191. prefect/_vendor/starlette/middleware/__init__.py +0 -17
  192. prefect/_vendor/starlette/middleware/authentication.py +0 -52
  193. prefect/_vendor/starlette/middleware/base.py +0 -220
  194. prefect/_vendor/starlette/middleware/cors.py +0 -176
  195. prefect/_vendor/starlette/middleware/errors.py +0 -265
  196. prefect/_vendor/starlette/middleware/exceptions.py +0 -74
  197. prefect/_vendor/starlette/middleware/gzip.py +0 -113
  198. prefect/_vendor/starlette/middleware/httpsredirect.py +0 -19
  199. prefect/_vendor/starlette/middleware/sessions.py +0 -82
  200. prefect/_vendor/starlette/middleware/trustedhost.py +0 -64
  201. prefect/_vendor/starlette/middleware/wsgi.py +0 -147
  202. prefect/_vendor/starlette/requests.py +0 -328
  203. prefect/_vendor/starlette/responses.py +0 -347
  204. prefect/_vendor/starlette/routing.py +0 -933
  205. prefect/_vendor/starlette/schemas.py +0 -154
  206. prefect/_vendor/starlette/staticfiles.py +0 -248
  207. prefect/_vendor/starlette/status.py +0 -199
  208. prefect/_vendor/starlette/templating.py +0 -231
  209. prefect/_vendor/starlette/testclient.py +0 -804
  210. prefect/_vendor/starlette/types.py +0 -30
  211. prefect/_vendor/starlette/websockets.py +0 -193
  212. prefect/agent.py +0 -698
  213. prefect/deployments/deployments.py +0 -1042
  214. prefect/deprecated/__init__.py +0 -0
  215. prefect/deprecated/data_documents.py +0 -350
  216. prefect/deprecated/packaging/__init__.py +0 -12
  217. prefect/deprecated/packaging/base.py +0 -96
  218. prefect/deprecated/packaging/docker.py +0 -146
  219. prefect/deprecated/packaging/file.py +0 -92
  220. prefect/deprecated/packaging/orion.py +0 -80
  221. prefect/deprecated/packaging/serializers.py +0 -171
  222. prefect/events/instrument.py +0 -135
  223. prefect/infrastructure/base.py +0 -323
  224. prefect/infrastructure/container.py +0 -818
  225. prefect/infrastructure/kubernetes.py +0 -920
  226. prefect/infrastructure/process.py +0 -289
  227. prefect/new_task_engine.py +0 -423
  228. prefect/pydantic/__init__.py +0 -76
  229. prefect/pydantic/main.py +0 -39
  230. prefect/software/__init__.py +0 -2
  231. prefect/software/base.py +0 -50
  232. prefect/software/conda.py +0 -199
  233. prefect/software/pip.py +0 -122
  234. prefect/software/python.py +0 -52
  235. prefect/workers/block.py +0 -218
  236. prefect_client-2.19.3.dist-info/RECORD +0 -292
  237. {prefect_client-2.19.3.dist-info → prefect_client-3.0.0rc1.dist-info}/LICENSE +0 -0
  238. {prefect_client-2.19.3.dist-info → prefect_client-3.0.0rc1.dist-info}/WHEEL +0 -0
  239. {prefect_client-2.19.3.dist-info → prefect_client-3.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 2.19.3
3
+ Version: 3.0.0rc1
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -16,19 +16,21 @@ Classifier: Intended Audience :: Developers
16
16
  Classifier: Intended Audience :: System Administrators
17
17
  Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Programming Language :: Python :: 3 :: Only
19
- Classifier: Programming Language :: Python :: 3.8
20
19
  Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
23
  Classifier: Topic :: Software Development :: Libraries
24
- Requires-Python: >=3.8
24
+ Requires-Python: >=3.9
25
25
  Description-Content-Type: text/markdown
26
- Requires-Dist: anyio <4.0.0,>=3.7.1
26
+ License-File: LICENSE
27
+ Requires-Dist: anyio <5.0.0,>=4.0.0
27
28
  Requires-Dist: asgi-lifespan <3.0,>=1.0
28
29
  Requires-Dist: cachetools <6.0,>=5.3
29
30
  Requires-Dist: cloudpickle <4.0,>=2.0
30
31
  Requires-Dist: coolname <3.0.0,>=1.0.4
31
32
  Requires-Dist: croniter <3.0.0,>=1.0.12
33
+ Requires-Dist: fastapi <1.0.0,>=0.111.0
32
34
  Requires-Dist: fsspec >=2022.5.0
33
35
  Requires-Dist: graphviz >=0.20.1
34
36
  Requires-Dist: griffe >=0.20.0
@@ -40,8 +42,11 @@ Requires-Dist: jsonschema <5.0.0,>=4.0.0
40
42
  Requires-Dist: orjson <4.0,>=3.7
41
43
  Requires-Dist: packaging <24.3,>=21.3
42
44
  Requires-Dist: pathspec >=0.8.0
43
- Requires-Dist: pydantic[email] !=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.10.0
45
+ Requires-Dist: pendulum <4,>=3.0.0
46
+ Requires-Dist: pydantic <3.0.0,>=2.7
44
47
  Requires-Dist: pydantic-core <3.0.0,>=2.12.0
48
+ Requires-Dist: pydantic-extra-types
49
+ Requires-Dist: pydantic-settings
45
50
  Requires-Dist: python-dateutil <3.0.0,>=2.8.2
46
51
  Requires-Dist: python-slugify <9.0,>=5.0
47
52
  Requires-Dist: pyyaml <7.0.0,>=5.4.1
@@ -54,11 +59,7 @@ Requires-Dist: typing-extensions <5.0.0,>=4.5.0
54
59
  Requires-Dist: ujson <6.0.0,>=5.8.0
55
60
  Requires-Dist: uvicorn <0.29.0,>=0.14.0
56
61
  Requires-Dist: websockets <13.0,>=10.4
57
- Requires-Dist: itsdangerous
58
- Requires-Dist: python-multipart >=0.0.7
59
62
  Requires-Dist: importlib-metadata >=4.4 ; python_version < "3.10"
60
- Requires-Dist: pendulum <3.0 ; python_version < "3.12"
61
- Requires-Dist: pendulum <4,>=3.0.0 ; python_version >= "3.12"
62
63
  Provides-Extra: notifications
63
64
  Requires-Dist: apprise <2.0.0,>=1.1.0 ; extra == 'notifications'
64
65
 
@@ -84,24 +85,24 @@ Requires-Dist: apprise <2.0.0,>=1.1.0 ; extra == 'notifications'
84
85
 
85
86
  # prefect-client
86
87
 
87
- The `prefect-client` package is a minimal-installation of `prefect` which is designed for interacting with Prefect Cloud
88
- or remote any `prefect` server. It sheds some functionality and dependencies in exchange for a smaller installation size,
89
- making it ideal for use in lightweight or ephemeral environments. These characteristics make it ideal for use in lambdas
90
- or other resource-constrained environments.
88
+ The `prefect-client` package is a minimal-installation of `prefect` which is designed for interacting with Prefect Cloud
89
+ or remote any `prefect` server. It sheds some functionality and dependencies in exchange for a smaller installation size,
90
+ making it ideal for use in lightweight or ephemeral environments. These characteristics make it ideal for use in lambdas
91
+ or other resource-constrained environments.
91
92
 
92
93
 
93
94
  ## Getting started
94
95
 
95
- `prefect-client` shares the same installation requirements as prefect. To install, make sure you are on Python 3.8 or
96
+ `prefect-client` shares the same installation requirements as prefect. To install, make sure you are on Python 3.9 or
96
97
  later and run the following command:
97
98
 
98
99
  ```bash
99
100
  pip install prefect-client
100
101
  ```
101
102
 
102
- Next, ensure that your `prefect-client` has access to a remote `prefect` server by exporting the `PREFECT_API_KEY`
103
- (if using Prefect Cloud) and `PREFECT_API_URL` environment variables. Once those are set, use the package in your code as
104
- you would normally use `prefect`!
103
+ Next, ensure that your `prefect-client` has access to a remote `prefect` server by exporting the `PREFECT_API_KEY`
104
+ (if using Prefect Cloud) and `PREFECT_API_URL` environment variables. Once those are set, use the package in your code as
105
+ you would normally use `prefect`!
105
106
 
106
107
 
107
108
  For example, to remotely trigger a run a deployment:
@@ -150,10 +151,10 @@ query_api()
150
151
 
151
152
 
152
153
  ## Known limitations
153
- By design, `prefect-client` omits all CLI and server components. This means that the CLI is not available for use
154
- and attempts to access server objects will fail. Furthermore, some classes, methods, and objects may be available
155
- for import in `prefect-client` but may not be "runnable" if they tap into server-oriented functionality. If you
156
- encounter such a limitation, feel free to [open an issue](https://github.com/PrefectHQ/prefect/issues/new/choose)
154
+ By design, `prefect-client` omits all CLI and server components. This means that the CLI is not available for use
155
+ and attempts to access server objects will fail. Furthermore, some classes, methods, and objects may be available
156
+ for import in `prefect-client` but may not be "runnable" if they tap into server-oriented functionality. If you
157
+ encounter such a limitation, feel free to [open an issue](https://github.com/PrefectHQ/prefect/issues/new/choose)
157
158
  describing the functionality you are interested in using and we will do our best to make it available.
158
159
 
159
160
 
@@ -0,0 +1,176 @@
1
+ prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
2
+ prefect/__init__.py,sha256=7U1KgTkcvbIuof0yse4_i181D98rih8y_SkZhPQStyA,2952
3
+ prefect/_version.py,sha256=I9JsXwt7BjAAbMEZgtmE3a6dJ2jqV-wqWto9D6msb3k,24597
4
+ prefect/artifacts.py,sha256=G-jCyce3XGtTyQpCk_s3L7e-TWFyJY8Dcnk_i4_CsY4,12647
5
+ prefect/automations.py,sha256=NlQ62GPJzy-gnWQqX7c6CQJKw7p60WLGDAFcy82vtg4,5613
6
+ prefect/context.py,sha256=9pw-HE0ytP7xzwE2P-O5mylQurs5srcgIwmxeSFDy-Q,24500
7
+ prefect/engine.py,sha256=8IUQZXPLW623zkCdAmErO7_qDksnmKdOZqLpqli_krk,1904
8
+ prefect/exceptions.py,sha256=Fyl-GXvF9OuKHtsyn5EhWg81pkU1UG3DFHsI1JzhOQE,10851
9
+ prefect/filesystems.py,sha256=HsflgeOfFGAni9KrdQDbwpb23joSKGtTWDAQOr4GqBY,16819
10
+ prefect/flow_engine.py,sha256=PspyfqHVaDNiZet6HtU10D1zcHyEXjz6wjrcCGCCeh4,25264
11
+ prefect/flow_runs.py,sha256=8OPmh1hGnf1on6LTJGf3vw--CVIUUiHzBkayJzAq7wo,16029
12
+ prefect/flows.py,sha256=aLMJ-cwX0qyq0rQt0eC-cFxj9k090cAB1IsdWYeuSdo,78548
13
+ prefect/futures.py,sha256=Lqkdmt7d1gA4a9YSlnPSIDJ42tPA4CfL40reXiVlPTw,8994
14
+ prefect/manifests.py,sha256=477XcmfdC_yE81wT6zIAKnEUEJ0lH9ZLfOVSgX2FohE,676
15
+ prefect/plugins.py,sha256=0C-D3-dKi06JZ44XEGmLjCiAkefbE_lKX-g3urzdbQ4,4163
16
+ prefect/profiles.toml,sha256=Fs8hD_BdWHZgAijgk8pK_Zx-Pm-YFixqDIfEP6fM-qU,38
17
+ prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ prefect/results.py,sha256=BeIOWNTzEgdOOkMZA4R3KcFpaknjbWQm-WEDTqbzBuU,25972
19
+ prefect/serializers.py,sha256=8ON--RmaLX3Td3Rpd1lshGcqWyjlCFkmO3sblxsdT_c,8699
20
+ prefect/settings.py,sha256=Vf9Y8IAM8fmUUNrwWsGsIr6iCQ8wk4x9t8VaQed8lIs,73990
21
+ prefect/states.py,sha256=BMm0PEbXeTyk9oLVVQ5MvWXMZR4nJGG-wQMXBm7-7d8,20093
22
+ prefect/task_engine.py,sha256=yj6GyllBzKaNEVgQFUG5H8OhKsn46UyIcXWDKJtFosA,27115
23
+ prefect/task_runners.py,sha256=hQKO5EYFJ74uCChbUID8kbL5saLfqdgbVTuG1DhyFfs,11418
24
+ prefect/task_server.py,sha256=wdVmayiYbg4pnEIMUwUkxq9jgLNsJ8xflD-3vzr_JSw,11842
25
+ prefect/tasks.py,sha256=pvqFVnb4FQLfNd_poo6VAsm_6cWR6_sF34R7Gc8MnRA,55689
26
+ prefect/transactions.py,sha256=iux22yzUqtJh-PU57LfdYGVg4mrZVd0kPgSPf8JPCJ8,6383
27
+ prefect/variables.py,sha256=LvQbeTnd2-BjcGSQkdKTWv6-bqbQiUj2jhLPD56ZVOs,4507
28
+ prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ prefect/_internal/_logging.py,sha256=HvNHY-8P469o5u4LYEDBTem69XZEt1QUeUaLToijpak,810
30
+ prefect/_internal/pytz.py,sha256=47Y28jKxUvgw7vaEvN-Xl0laiVdMLXC8IRUEk7oHz1Q,13749
31
+ prefect/_internal/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ prefect/_internal/compatibility/deprecated.py,sha256=nqevphK00rakKgCfkbqBQ4NCktdb4338uuROjFcq6xA,7517
33
+ prefect/_internal/compatibility/experimental.py,sha256=nrIeeAe1vZ0yMb1cPw5AroVR6_msx-bzTeBLzY4au6o,5634
34
+ prefect/_internal/concurrency/__init__.py,sha256=ncKwi1NhE3umSFGSKRk9wEVKzN1z1ZD-fmY4EDZHH_U,2142
35
+ prefect/_internal/concurrency/api.py,sha256=mE2IahRxGX1DgyxIryDXhF6gwhOJ-cdghsTjJtNil9U,7132
36
+ prefect/_internal/concurrency/calls.py,sha256=UlNgzCoy3awKEPnMpexBSa1dk_2MNwCWoZ5YQODEmG4,15437
37
+ prefect/_internal/concurrency/cancellation.py,sha256=D1B_I2cBSGPNXcLaXNaLN_9_QAgFjRmA540RcTmS0rA,18050
38
+ prefect/_internal/concurrency/event_loop.py,sha256=1VBW862QZ6DV9dExWOT398A0fti4A7jW2kcY7Y5V-lI,2073
39
+ prefect/_internal/concurrency/inspection.py,sha256=xfyUNr5CoES8LFhybi2DmzHeW4RpTAbrGPiZOYMVLbQ,3464
40
+ prefect/_internal/concurrency/primitives.py,sha256=kxCPD9yLtCeqt-JIHjevL4Zt5FvrF_Bam-Ucf41FX6k,2608
41
+ prefect/_internal/concurrency/services.py,sha256=aggJd4IUSB6ufppRYdRT-36daEg1JSpJCvK635R8meg,11951
42
+ prefect/_internal/concurrency/threads.py,sha256=90Wi00pTebfihiFgP-P71DeGTnhlJKctzP69mtjphKU,8860
43
+ prefect/_internal/concurrency/waiters.py,sha256=X6xxsKcHB9ULnCkeUf0cLTI267kI_GC4k96XRuhPhnw,8790
44
+ prefect/_internal/pydantic/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
45
+ prefect/_internal/pydantic/schemas.py,sha256=tsRKq5yEIgiRbWMl3BPnbfNaKyDN6pq8WSs0M8SQMm4,452
46
+ prefect/_internal/pydantic/v1_schema.py,sha256=H8it3U5-8UoJnkUG3OSuDISZr8mz9gJniJlqfW6Gdxo,1151
47
+ prefect/_internal/pydantic/v2_schema.py,sha256=FA20vh_a5-3TNvQgl11Pe77bsf0qVB6nrUz5Cro6jQ8,3617
48
+ prefect/_internal/pydantic/v2_validated_func.py,sha256=WfEKOMb-tPYdc8o2QX5hDLJhUiykts4Dpwp07cr0Vbo,3476
49
+ prefect/_internal/pydantic/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ prefect/_internal/pydantic/annotations/pendulum.py,sha256=rWT6zzCtIqvK2_EuAkMt73ZzAvdE5tF2104e0-tIaa4,2625
51
+ prefect/_internal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
+ prefect/_internal/schemas/bases.py,sha256=KYT8v4UOIClOKoXLEHSzDI7jran35BHvRcYWueyMFYU,4098
53
+ prefect/_internal/schemas/fields.py,sha256=m4LrFNz8rA9uBhMk9VyQT6FIXmV_EVAW92hdXeSvHbY,837
54
+ prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1OdR6TXNrRhQ,825
55
+ prefect/_internal/schemas/validators.py,sha256=McSijrOcrqQpE-fvp4WRMoxsVn5fWIyBIXdYys1YRhk,29690
56
+ prefect/blocks/__init__.py,sha256=BUfh6gIwA6HEjRyVCAiv0he3M1zfM-oY-JrlBfeWeY8,182
57
+ prefect/blocks/abstract.py,sha256=YLzCaf3yXv6wFCF5ZqCIHJNwH7fME1rLxC-SijARHzk,16319
58
+ prefect/blocks/core.py,sha256=AavpIpQx6znhomFYS751hY8HjjrAM0Ug3SwNRELpjGA,46657
59
+ prefect/blocks/fields.py,sha256=1m507VVmkpOnMF_7N-qboRjtw4_ceIuDneX3jZ3Jm54,63
60
+ prefect/blocks/kubernetes.py,sha256=1AHzcI2hPeu5zOEKLC4FBjjv8VdZ8ianuv6oVEh4ou8,4016
61
+ prefect/blocks/notifications.py,sha256=QV2ndeiERBbL9vNW2zR1LzH86llDY1sJVh2DN0sh1eo,28198
62
+ prefect/blocks/system.py,sha256=tkONKzDlaQgR6NtWXON0ZQm7nGuFKt0_Du3sj8ubs-M,3605
63
+ prefect/blocks/webhook.py,sha256=mnAfGF64WyjH55BKkTbC1AP9FETNcrm_PEjiqJNpigA,1867
64
+ prefect/client/__init__.py,sha256=yJ5FRF9RxNUio2V_HmyKCKw5G6CZO0h8cv6xA_Hkpcc,477
65
+ prefect/client/base.py,sha256=laxz64IEhbetMIcRh67_YDYd5ThCmUK9fgUgco8WyXQ,24647
66
+ prefect/client/cloud.py,sha256=5T84QP9IRa_cqL7rmY3lR1wxFW6C41PajFZgelurhK0,4124
67
+ prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
68
+ prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
69
+ prefect/client/orchestration.py,sha256=66JtcsgDRo4N8NmZ14pYQjMDudHq6JZdg_VbBw5Huk4,139516
70
+ prefect/client/subscriptions.py,sha256=1jalWVk8Ho-dHHuDePr43vw_SYm2BcOA5MX2Dp7REng,3366
71
+ prefect/client/utilities.py,sha256=Ni1DsFDhnvxpXWerlvZpK8tCg-uZ8UyZwOmDTKEb1DI,3269
72
+ prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
73
+ prefect/client/schemas/actions.py,sha256=OOHVSeCMGW3hXK65M4Jr3fQM9fq95c_vvnPBi2bHcUM,28127
74
+ prefect/client/schemas/filters.py,sha256=KqRPjSzb-Tt3gVfVGNiLPaYKtD_W9npsPLGxpaVPm5U,35045
75
+ prefect/client/schemas/objects.py,sha256=0oEVlZVoUOv-jEP0Fzjn4WF1dEyDF6ZJcI6xnSwiYy4,53121
76
+ prefect/client/schemas/responses.py,sha256=YnofjvPxaDE0kPw7SLfK5TuZSJ0IlqP2G17rQgz_buk,15135
77
+ prefect/client/schemas/schedules.py,sha256=EIvVQN01ZnLf6Yu-3_Ar1iHybDwJ6C767AAnqMhVxWo,12846
78
+ prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
79
+ prefect/concurrency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
+ prefect/concurrency/asyncio.py,sha256=xwDPp3qBuFmXCUkboOx1-JPGYV0pdpR-Ot2Qk41sVE0,4283
81
+ prefect/concurrency/events.py,sha256=rQLSBwcYCzvdKTXr7bLjgMIklllObxB33MAL6dylXAM,1802
82
+ prefect/concurrency/services.py,sha256=nmJcs9hWfqU7l3OmkNOpAqgK-_YOcqJ7Y5p_LbDSffU,2577
83
+ prefect/concurrency/sync.py,sha256=gXyiiA0bul7jjpHWPm6su8pFdBiMOekhu9FHnjiPWBQ,3339
84
+ prefect/deployments/__init__.py,sha256=UoP8mn3Drz65sK2FVZJxyGJR5zhsYQD5BRX3LlaAxdI,317
85
+ prefect/deployments/base.py,sha256=dtXZm9FeqHFQmLAQSW_w18sMylgVIqS9QASyEIjfqgs,16455
86
+ prefect/deployments/flow_runs.py,sha256=eatcBD7pg-aaEqs9JxQQcKN_flf614O4gAvedAlRyNo,6803
87
+ prefect/deployments/runner.py,sha256=5f3pFGxw_DOA9k169KFIzILTZ_TkKIWI9DLhl1iK1Ck,44716
88
+ prefect/deployments/schedules.py,sha256=c8ONC9t_buAWVxfcWAQEGhuIkU5rAjetuvU87PLJx48,2031
89
+ prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
90
+ prefect/deployments/steps/core.py,sha256=yKBVi8pi_7fzdng28kUD8vcSl5aED5yFnu9KxCdquKA,6627
91
+ prefect/deployments/steps/pull.py,sha256=DSSpjPo7JnydM31Q2Pl4bMsVRoNjm3PjvpJpt2cbqUE,7124
92
+ prefect/deployments/steps/utility.py,sha256=EhoitdNqsQHUL5MBmVyOL9lSwNXweZvFiw03eIkzveU,8134
93
+ prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
94
+ prefect/events/actions.py,sha256=4kBV2NwFlC6oXVeMp9Qb2HMNqv1IZ7FcOqeXz1zlRf0,8983
95
+ prefect/events/clients.py,sha256=4EKwu_TLx2nVaUu30g62uGJ_rsdzmQ4IjON5C_0fydk,19625
96
+ prefect/events/filters.py,sha256=IJ1TF-TCC7Wk2nJsbYW-HyAANToDQ6z1MdD63qE-lfw,8186
97
+ prefect/events/related.py,sha256=1rUnQ7tg_UtNfSAkKdRo-rD2W93EKKB9xafPxyusFj8,6841
98
+ prefect/events/utilities.py,sha256=gia_jGwxykxRTzS6FAp-gVEP9d7gH8S_hTd3-RQNJVQ,2627
99
+ prefect/events/worker.py,sha256=UGwqnoOHmtvAh_Y9yJlEB6RfKmYRu4Xsc5l9LolHV_0,3434
100
+ prefect/events/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ prefect/events/cli/automations.py,sha256=XK0Uad87-3iECnIcQphrUG0wSwtqQVZsEyEkKRkOJkA,11440
102
+ prefect/events/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ prefect/events/schemas/automations.py,sha256=hZ7lbkJEhpHmyd118k_O7kl_i_lEnDifwsn2ZHyn8Po,14380
104
+ prefect/events/schemas/deployment_triggers.py,sha256=i_BtKscXU9kOHAeqmxrYQr8itEYfuPIxAnCW3fo1YeE,3114
105
+ prefect/events/schemas/events.py,sha256=bATcg3zjtZYMbbLdquzuyg_KsXhWlpW5e3ftB-056sM,8602
106
+ prefect/events/schemas/labelling.py,sha256=bU-XYaHXhI2MEBIHngth96R9D02m8HHb85KNcHZ_1Gc,3073
107
+ prefect/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
+ prefect/infrastructure/provisioners/__init__.py,sha256=wn240gHrQbien2g_g2A8Ujb2iFyjmDgMHLQ7tgQngf4,1706
109
+ prefect/infrastructure/provisioners/cloud_run.py,sha256=A2q9LhYQbbOZd-W5VG_Uy8KbEkttXu7Fj2DiQrOUhL0,17758
110
+ prefect/infrastructure/provisioners/container_instance.py,sha256=FlNrMpkwF_ovzm7J_gaYwDURjQsfBSzMp88sl2GXScQ,41293
111
+ prefect/infrastructure/provisioners/ecs.py,sha256=gAkJ5R0gVSUZpEAGVr6YZC00PfNZegkZhq0ddhvhoAE,47716
112
+ prefect/infrastructure/provisioners/modal.py,sha256=4-VanBPqWlAj_5ckpXT7NonbqP0YwznTXFa4P8cthIs,9080
113
+ prefect/input/__init__.py,sha256=TPJ9UfG9_SiBze23sQwU1MnWI8AgyEMNihotgTebFQ0,627
114
+ prefect/input/actions.py,sha256=IGdWjVcesnRjLmPCzB4ZM7FkRWXDKCku6yhE-7p0vKk,3777
115
+ prefect/input/run_input.py,sha256=DaCXNUYwoG-8yqsebrLuzHw0TPtE1wfwiqB92kdhaF4,18674
116
+ prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
117
+ prefect/logging/configuration.py,sha256=bYqFJm0QgLz92Dub1Lbl3JONjjm0lTK149pNAGbxPdM,3467
118
+ prefect/logging/filters.py,sha256=9keHLN4-cpnsWcii1qU0RITNi9-m7pOhkJ_t0MtCM4k,1117
119
+ prefect/logging/formatters.py,sha256=IJlxl-X9DbXg5vk4y9d78lMf-2PKX57z8l5hAN8ArbY,3903
120
+ prefect/logging/handlers.py,sha256=_dNsAISeduCnO-14QjlFOXF5wlu3EcXO9uVTMdlwRE4,10414
121
+ prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rgok,1681
122
+ prefect/logging/loggers.py,sha256=pWxp2SLiyYTD4Dpxqi7tsdlThhdpmdorPAL8wKM2MBM,11517
123
+ prefect/logging/logging.yml,sha256=UkEewf0c3_dURI2uCU4RrxkhI5Devoa1s93fl7hilcg,3160
124
+ prefect/records/__init__.py,sha256=7q-lwyevfVgb5S7K9frzawmiJmpZ5ET0m5yXIHBYcVA,31
125
+ prefect/records/result_store.py,sha256=Xa5PdalG9yyPIGxTvdgDSAp2LP4UFnJ9vF2Vv-rnoGA,1352
126
+ prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
127
+ prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
128
+ prefect/runner/runner.py,sha256=70ifb78m2PDZ4wZSMkWKdfFpiHgpKKMFHZrwCNT53E8,45088
129
+ prefect/runner/server.py,sha256=MnAPtLY7lkaPqX_0Axfz8-kLjYkSYEhORUsVNZPDSmo,10509
130
+ prefect/runner/storage.py,sha256=nuzkEjmAZYAjCEpXhuuZSGJAqBARICIBmDQNqDgI4yk,22316
131
+ prefect/runner/submit.py,sha256=EpgYNR-tAub0VFVTIkijp8qwHcS1iojLAZN5NM0X39s,8552
132
+ prefect/runner/utils.py,sha256=wVgVa7p5uUL7tfYfDOVuq6QIGf-I8U9dfAjYBmYf6n4,3286
133
+ prefect/runtime/__init__.py,sha256=iYmfK1HmXiXXCQK77wDloOqZmY7SFF5iyr37jRzuf-c,406
134
+ prefect/runtime/deployment.py,sha256=UWNXH-3-NNVxLCl5XnDKiofo4a5j8w_42ns1OSQMixg,4751
135
+ prefect/runtime/flow_run.py,sha256=aFM3e9xqpeZQ4WkvZQXD0lmXu2fNVVVA1etSN3ZI9aE,8444
136
+ prefect/runtime/task_run.py,sha256=_np3pjBHWkvEtSe-QElEAGwUct629vVx_sahPr-H8gM,3402
137
+ prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
138
+ prefect/server/api/static/prefect-logo-mark-gradient.png,sha256=ylRjJkI_JHCw8VbQasNnXQHwZW-sH-IQiUGSD3aWP1E,73430
139
+ prefect/types/__init__.py,sha256=FmTJx5Uh89Pv6ssgcyUiA4p1zxPMHrUdQ7gfXqmypqw,2161
140
+ prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
141
+ prefect/utilities/annotations.py,sha256=bXB43j5Zsq5gaBcJe9qnszBlnNwCTwqSTgcu2OkkRLo,2776
142
+ prefect/utilities/asyncutils.py,sha256=YCkMNOGB1DCLR6pgr6hgXFOjfyv9fXhY8ISiv4tHX0w,19174
143
+ prefect/utilities/callables.py,sha256=OGypmNncbp4KvBlE_-gfNxBs0sUmmBmoLcYu9eX0Vi0,21493
144
+ prefect/utilities/collections.py,sha256=9vUZA8j_NAOcsRZ45UWGYpO1EuUErcpcPTyZap5q28I,14883
145
+ prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
146
+ prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
147
+ prefect/utilities/dispatch.py,sha256=c8G-gBo7hZlyoD7my9nO50Rzy8Retk-np5WGq9_E2AM,5856
148
+ prefect/utilities/dockerutils.py,sha256=BXXW5RinfPxNa02k2XDqPwbKhAvrey3IvVZwLV3CLJ8,20251
149
+ prefect/utilities/engine.py,sha256=t5Gi96TY2Uv_cTi-WnYPtPoI-MEWeN11VxraDulyyJI,29707
150
+ prefect/utilities/filesystem.py,sha256=M_TeZ1MftjBf7hDLWk-Iphir369TpJ1binMsBKiO9YE,4449
151
+ prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
152
+ prefect/utilities/importtools.py,sha256=t34M3M_CwRTZMrpBdw6-P42VQoOkG_AhIL1aM7Bytgg,14432
153
+ prefect/utilities/math.py,sha256=wLwcKVidpNeWQi1TUIWWLHGjlz9UgboX9FUGhx_CQzo,2821
154
+ prefect/utilities/names.py,sha256=x-stHcF7_tebJPvB1dz-5FvdXJXNBTg2kFZXSnIBBmk,1657
155
+ prefect/utilities/processutils.py,sha256=yo_GO48pZzgn4A0IK5irTAoqyUCYvWKDSqHXCrtP8c4,14547
156
+ prefect/utilities/pydantic.py,sha256=YEY7hp5ptaYqOzsZJC4dXf9d2g37aOdepoH8FBPg7uw,12394
157
+ prefect/utilities/render_swagger.py,sha256=h2UrORVN3f7gM4zurtMnySjQXZIOWbji3uMinpbkl8U,3717
158
+ prefect/utilities/services.py,sha256=u0Gpdw5pYceaSLCqOihGyFb2AlMBYE2P9Ts9qRb3N9Q,6584
159
+ prefect/utilities/slugify.py,sha256=57Vb14t13F3zm1P65KAu8nVeAz0iJCd1Qc5eMG-R5y8,169
160
+ prefect/utilities/templating.py,sha256=nAiOGMMHGbIDFkGYy-g-dzcbY311WfycdgAhsM3cLpY,13298
161
+ prefect/utilities/text.py,sha256=eXGIsCcZ7h_6hy8T5GDQjL8GiKyktoOqavYub0QjgO4,445
162
+ prefect/utilities/timeout.py,sha256=nxmuPxROIT-i8gPffpARuxnxu58H0vkmbjTVIgef0_0,805
163
+ prefect/utilities/visualization.py,sha256=9Pc8ImgnBpnszWTFxYm42cmtHjNEAsGZ8ugkn8w_dJk,6501
164
+ prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQPxbx-m6YQhiNEI,322
165
+ prefect/utilities/schema_tools/hydration.py,sha256=Nitnmr35Mcn5z9NXIvh9DuZW5nCZxpjyMc9RFawMsgs,8376
166
+ prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
167
+ prefect/workers/__init__.py,sha256=8dP8SLZbWYyC_l9DRTQSE3dEbDgns5DZDhxkp_NfsbQ,35
168
+ prefect/workers/base.py,sha256=zsQm4CRIRwkk6swO4Q--zYf5ThUvqr-5Nm1exoLO5Qc,45084
169
+ prefect/workers/process.py,sha256=vylkSSswaSCew-V65YW0HcxIxyKI-uqWkbSKpkkLamQ,9372
170
+ prefect/workers/server.py,sha256=EfPiMxI7TVgkqpHkdPwSaYG-ydi99sG7jwXhkAcACbI,1519
171
+ prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
172
+ prefect_client-3.0.0rc1.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
173
+ prefect_client-3.0.0rc1.dist-info/METADATA,sha256=Wrpd4NnquPpQFP5gme88mwI7Bb06izlCCvH1_t3sgio,7339
174
+ prefect_client-3.0.0rc1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
175
+ prefect_client-3.0.0rc1.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
176
+ prefect_client-3.0.0rc1.dist-info/RECORD,,
@@ -1,51 +0,0 @@
1
- """
2
- This file introduces a conditional import of `BaseModel` from Pydantic, depending on the Pydantic version available. If Pydantic V2 is not used, it falls back to importing `BaseModel` from Pydantic V1. This is to ensure compatibility with different versions of Pydantic.
3
- """
4
- import typing
5
-
6
- from prefect._internal.pydantic._flags import (
7
- HAS_PYDANTIC_V2,
8
- USE_PYDANTIC_V2,
9
- )
10
-
11
- if typing.TYPE_CHECKING:
12
- from pydantic import (
13
- BaseModel,
14
- ConfigDict,
15
- Field,
16
- PrivateAttr,
17
- SecretStr,
18
- ValidationError,
19
- )
20
- from pydantic.fields import FieldInfo
21
-
22
- if HAS_PYDANTIC_V2 and not USE_PYDANTIC_V2:
23
- from pydantic.v1 import (
24
- BaseModel,
25
- ConfigDict,
26
- Field,
27
- PrivateAttr,
28
- SecretStr,
29
- ValidationError,
30
- )
31
- from pydantic.v1.fields import FieldInfo
32
- else:
33
- from pydantic import (
34
- BaseModel,
35
- ConfigDict,
36
- Field,
37
- PrivateAttr,
38
- SecretStr,
39
- ValidationError,
40
- )
41
- from pydantic.fields import FieldInfo
42
-
43
- __all__ = [
44
- "BaseModel",
45
- "Field",
46
- "FieldInfo",
47
- "PrivateAttr",
48
- "SecretStr",
49
- "ConfigDict",
50
- "ValidationError",
51
- ]
@@ -1,82 +0,0 @@
1
- """
2
- Functions within this module check for Pydantic V2 compatibility and provide mechanisms for copying,
3
- dumping, and validating models in a way that is agnostic to the underlying Pydantic version.
4
- """
5
-
6
- import typing
7
-
8
- from ._base_model import BaseModel as PydanticBaseModel
9
- from ._base_model import (
10
- ConfigDict,
11
- Field,
12
- FieldInfo,
13
- PrivateAttr,
14
- SecretStr,
15
- ValidationError,
16
- )
17
- from ._flags import HAS_PYDANTIC_V2, USE_PYDANTIC_V2
18
- from .utilities.config_dict import ConfigMixin
19
- from .utilities.field_validator import field_validator
20
- from .utilities.model_construct import ModelConstructMixin, model_construct
21
- from .utilities.model_copy import ModelCopyMixin, model_copy
22
- from .utilities.model_dump import ModelDumpMixin, model_dump
23
- from .utilities.model_dump_json import ModelDumpJsonMixin, model_dump_json
24
- from .utilities.model_fields import ModelFieldMixin
25
- from .utilities.model_fields_set import ModelFieldsSetMixin, model_fields_set
26
- from .utilities.model_json_schema import ModelJsonSchemaMixin, model_json_schema
27
- from .utilities.model_validate import ModelValidateMixin, model_validate
28
- from .utilities.model_validate_json import ModelValidateJsonMixin, model_validate_json
29
- from .utilities.model_validator import model_validator
30
- from .utilities.type_adapter import TypeAdapter, validate_python
31
-
32
- if typing.TYPE_CHECKING:
33
-
34
- class BaseModel(PydanticBaseModel): # type: ignore
35
- pass
36
-
37
- elif HAS_PYDANTIC_V2 and USE_PYDANTIC_V2:
38
- # In this case, there's no functionality to add, so we just alias the Pydantic v2 BaseModel
39
- class BaseModel(PydanticBaseModel): # type: ignore
40
- pass
41
-
42
- else:
43
- # In this case, we're working with a Pydantic v1 model, so we need to add Pydantic v2 functionality
44
- # TODO: Find a smarter way of attaching these methods so that they don't need to be redefined
45
-
46
- class BaseModel(
47
- ModelConstructMixin,
48
- ModelCopyMixin,
49
- ModelDumpMixin,
50
- ModelDumpJsonMixin,
51
- ModelJsonSchemaMixin,
52
- ModelValidateMixin,
53
- ModelValidateJsonMixin,
54
- ModelFieldMixin,
55
- ConfigMixin,
56
- ModelFieldsSetMixin,
57
- PydanticBaseModel,
58
- ):
59
- pass
60
-
61
-
62
- __all__ = [
63
- "model_construct",
64
- "model_copy",
65
- "model_dump",
66
- "model_dump_json",
67
- "model_json_schema",
68
- "model_validate",
69
- "model_validate_json",
70
- "model_fields_set",
71
- "TypeAdapter",
72
- "validate_python",
73
- "BaseModel",
74
- "Field",
75
- "FieldInfo",
76
- "field_validator",
77
- "model_validator",
78
- "PrivateAttr",
79
- "SecretStr",
80
- "ConfigDict",
81
- "ValidationError",
82
- ]
@@ -1,20 +0,0 @@
1
- """
2
- This file defines flags that determine whether Pydantic V2 is available and whether its features should be used.
3
- """
4
- import os
5
-
6
- # Retrieve current version of Pydantic installed in environment
7
- from pydantic.version import VERSION as PYDANTIC_VERSION
8
-
9
- # Check if Pydantic version 2 is the installed version
10
- HAS_PYDANTIC_V2 = PYDANTIC_VERSION.startswith("2.")
11
-
12
- # Determine if Pydantic v2 internals should be used based on an environment variable.
13
- USE_PYDANTIC_V2 = os.environ.get(
14
- "PREFECT_EXPERIMENTAL_ENABLE_PYDANTIC_V2_INTERNALS", False
15
- ) in {"1", "true", "True"}
16
-
17
- USE_V2_MODELS = HAS_PYDANTIC_V2 and USE_PYDANTIC_V2
18
-
19
- # Set to True if Pydantic v2 is present but not enabled, indicating deprecation warnings may occur.
20
- EXPECT_DEPRECATION_WARNINGS = HAS_PYDANTIC_V2 and not USE_PYDANTIC_V2
@@ -1,8 +0,0 @@
1
- from typing import Any, Dict, Literal, Set, Union
2
-
3
- from typing_extensions import TypeAlias
4
-
5
- IncEx: TypeAlias = "Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any], None]"
6
-
7
- DEFAULT_REF_TEMPLATE = "#/$defs/{model}"
8
- JsonSchemaMode = Literal["validation", "serialization"]
File without changes
@@ -1,72 +0,0 @@
1
- import typing
2
-
3
- from prefect._internal.pydantic._base_model import BaseModel, ConfigDict
4
- from prefect._internal.pydantic._flags import HAS_PYDANTIC_V2, USE_PYDANTIC_V2
5
-
6
- if HAS_PYDANTIC_V2:
7
- from pydantic.v1.main import ModelMetaclass as PydanticModelMetaclass
8
- else:
9
- from pydantic.main import ModelMetaclass as PydanticModelMetaclass
10
-
11
-
12
- if USE_PYDANTIC_V2:
13
-
14
- class ConfigMixin(BaseModel): # type: ignore
15
- pass
16
-
17
- else:
18
- T = typing.TypeVar("T")
19
-
20
- CONFIG_V1_V2_KEYS: typing.Dict[str, str] = {
21
- "allow_population_by_field_name": "populate_by_name",
22
- "anystr_lower": "str_to_lower",
23
- "anystr_strip_whitespace": "str_strip_whitespace",
24
- "anystr_upper": "str_to_upper",
25
- "keep_untouched": "ignored_types",
26
- "max_anystr_length": "str_max_length",
27
- "min_anystr_length": "str_min_length",
28
- "orm_mode": "from_attributes",
29
- "schema_extra": "json_schema_extra",
30
- "validate_all": "validate_default",
31
- "copy_on_model_validation": "revalidate_instances",
32
- }
33
-
34
- CONFIG_V2_V1_KEYS: typing.Dict[str, str] = {
35
- v: k for k, v in CONFIG_V1_V2_KEYS.items()
36
- }
37
-
38
- def _convert_v2_config_to_v1_config(
39
- config_dict: typing.Union[ConfigDict, typing.Dict[str, typing.Any]],
40
- ) -> type:
41
- deprecated_renamed_keys = CONFIG_V2_V1_KEYS.keys() & config_dict.keys()
42
- output: typing.Dict[str, typing.Any] = {}
43
- for k in sorted(deprecated_renamed_keys):
44
- if CONFIG_V2_V1_KEYS[k] == "copy_on_model_validation":
45
- value = config_dict.get(k)
46
- if value == "never":
47
- output[CONFIG_V2_V1_KEYS[k]] = "none"
48
- if value == "always":
49
- output[CONFIG_V2_V1_KEYS[k]] = "deep"
50
- if value == "subclass-instances":
51
- output[CONFIG_V2_V1_KEYS[k]] = "deep"
52
- else:
53
- output[CONFIG_V2_V1_KEYS[k]] = config_dict.get(k)
54
- return type("Config", (), output)
55
-
56
- class ConfigMeta(PydanticModelMetaclass): # type: ignore
57
- def __new__( # type: ignore
58
- cls,
59
- name: str,
60
- bases: typing.Any,
61
- namespace: typing.Dict[str, typing.Any],
62
- **kwargs: typing.Any,
63
- ): # type: ignore
64
- if model_config := namespace.get("model_config"):
65
- namespace["Config"] = _convert_v2_config_to_v1_config(model_config)
66
- return super().__new__(cls, name, bases, namespace, **kwargs) # type: ignore
67
-
68
- class ConfigMixin(BaseModel, metaclass=ConfigMeta):
69
- model_config: typing.ClassVar[ConfigDict]
70
-
71
-
72
- __all__ = ["ConfigMixin"]