prefect-client 2.19.4__py3-none-any.whl → 3.0.0rc2__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 (242) 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/redis.py +168 -0
  26. prefect/blocks/system.py +22 -11
  27. prefect/blocks/webhook.py +2 -9
  28. prefect/client/base.py +4 -4
  29. prefect/client/cloud.py +8 -13
  30. prefect/client/orchestration.py +362 -340
  31. prefect/client/schemas/actions.py +92 -86
  32. prefect/client/schemas/filters.py +20 -40
  33. prefect/client/schemas/objects.py +158 -152
  34. prefect/client/schemas/responses.py +16 -24
  35. prefect/client/schemas/schedules.py +47 -35
  36. prefect/client/subscriptions.py +2 -2
  37. prefect/client/utilities.py +5 -2
  38. prefect/concurrency/asyncio.py +4 -2
  39. prefect/concurrency/events.py +1 -1
  40. prefect/concurrency/services.py +7 -4
  41. prefect/context.py +195 -27
  42. prefect/deployments/__init__.py +5 -6
  43. prefect/deployments/base.py +7 -5
  44. prefect/deployments/flow_runs.py +185 -0
  45. prefect/deployments/runner.py +50 -45
  46. prefect/deployments/schedules.py +28 -23
  47. prefect/deployments/steps/__init__.py +0 -1
  48. prefect/deployments/steps/core.py +1 -0
  49. prefect/deployments/steps/pull.py +7 -21
  50. prefect/engine.py +12 -2422
  51. prefect/events/actions.py +17 -23
  52. prefect/events/cli/automations.py +19 -6
  53. prefect/events/clients.py +14 -37
  54. prefect/events/filters.py +14 -18
  55. prefect/events/related.py +2 -2
  56. prefect/events/schemas/__init__.py +0 -5
  57. prefect/events/schemas/automations.py +55 -46
  58. prefect/events/schemas/deployment_triggers.py +7 -197
  59. prefect/events/schemas/events.py +36 -65
  60. prefect/events/schemas/labelling.py +10 -14
  61. prefect/events/utilities.py +2 -3
  62. prefect/events/worker.py +2 -3
  63. prefect/filesystems.py +6 -517
  64. prefect/{new_flow_engine.py → flow_engine.py} +315 -74
  65. prefect/flow_runs.py +379 -7
  66. prefect/flows.py +248 -165
  67. prefect/futures.py +187 -345
  68. prefect/infrastructure/__init__.py +0 -27
  69. prefect/infrastructure/provisioners/__init__.py +5 -3
  70. prefect/infrastructure/provisioners/cloud_run.py +11 -6
  71. prefect/infrastructure/provisioners/container_instance.py +11 -7
  72. prefect/infrastructure/provisioners/ecs.py +6 -4
  73. prefect/infrastructure/provisioners/modal.py +8 -5
  74. prefect/input/actions.py +2 -4
  75. prefect/input/run_input.py +9 -9
  76. prefect/logging/formatters.py +0 -2
  77. prefect/logging/handlers.py +3 -11
  78. prefect/logging/loggers.py +2 -2
  79. prefect/manifests.py +2 -1
  80. prefect/records/__init__.py +1 -0
  81. prefect/records/cache_policies.py +179 -0
  82. prefect/records/result_store.py +42 -0
  83. prefect/records/store.py +9 -0
  84. prefect/results.py +43 -39
  85. prefect/runner/runner.py +9 -9
  86. prefect/runner/server.py +6 -10
  87. prefect/runner/storage.py +3 -8
  88. prefect/runner/submit.py +2 -2
  89. prefect/runner/utils.py +2 -2
  90. prefect/serializers.py +24 -35
  91. prefect/server/api/collections_data/views/aggregate-worker-metadata.json +5 -14
  92. prefect/settings.py +76 -136
  93. prefect/states.py +22 -50
  94. prefect/task_engine.py +666 -56
  95. prefect/task_runners.py +272 -300
  96. prefect/task_runs.py +203 -0
  97. prefect/{task_server.py → task_worker.py} +89 -60
  98. prefect/tasks.py +358 -341
  99. prefect/transactions.py +224 -0
  100. prefect/types/__init__.py +61 -82
  101. prefect/utilities/asyncutils.py +195 -136
  102. prefect/utilities/callables.py +121 -41
  103. prefect/utilities/collections.py +23 -38
  104. prefect/utilities/dispatch.py +11 -3
  105. prefect/utilities/dockerutils.py +4 -0
  106. prefect/utilities/engine.py +140 -20
  107. prefect/utilities/importtools.py +26 -27
  108. prefect/utilities/pydantic.py +128 -38
  109. prefect/utilities/schema_tools/hydration.py +5 -1
  110. prefect/utilities/templating.py +12 -2
  111. prefect/variables.py +84 -62
  112. prefect/workers/__init__.py +0 -1
  113. prefect/workers/base.py +26 -18
  114. prefect/workers/process.py +3 -8
  115. prefect/workers/server.py +2 -2
  116. {prefect_client-2.19.4.dist-info → prefect_client-3.0.0rc2.dist-info}/METADATA +23 -21
  117. prefect_client-3.0.0rc2.dist-info/RECORD +179 -0
  118. prefect/_internal/pydantic/_base_model.py +0 -51
  119. prefect/_internal/pydantic/_compat.py +0 -82
  120. prefect/_internal/pydantic/_flags.py +0 -20
  121. prefect/_internal/pydantic/_types.py +0 -8
  122. prefect/_internal/pydantic/utilities/__init__.py +0 -0
  123. prefect/_internal/pydantic/utilities/config_dict.py +0 -72
  124. prefect/_internal/pydantic/utilities/field_validator.py +0 -150
  125. prefect/_internal/pydantic/utilities/model_construct.py +0 -56
  126. prefect/_internal/pydantic/utilities/model_copy.py +0 -55
  127. prefect/_internal/pydantic/utilities/model_dump.py +0 -136
  128. prefect/_internal/pydantic/utilities/model_dump_json.py +0 -112
  129. prefect/_internal/pydantic/utilities/model_fields.py +0 -50
  130. prefect/_internal/pydantic/utilities/model_fields_set.py +0 -29
  131. prefect/_internal/pydantic/utilities/model_json_schema.py +0 -82
  132. prefect/_internal/pydantic/utilities/model_rebuild.py +0 -80
  133. prefect/_internal/pydantic/utilities/model_validate.py +0 -75
  134. prefect/_internal/pydantic/utilities/model_validate_json.py +0 -68
  135. prefect/_internal/pydantic/utilities/model_validator.py +0 -87
  136. prefect/_internal/pydantic/utilities/type_adapter.py +0 -71
  137. prefect/_vendor/__init__.py +0 -0
  138. prefect/_vendor/fastapi/__init__.py +0 -25
  139. prefect/_vendor/fastapi/applications.py +0 -946
  140. prefect/_vendor/fastapi/background.py +0 -3
  141. prefect/_vendor/fastapi/concurrency.py +0 -44
  142. prefect/_vendor/fastapi/datastructures.py +0 -58
  143. prefect/_vendor/fastapi/dependencies/__init__.py +0 -0
  144. prefect/_vendor/fastapi/dependencies/models.py +0 -64
  145. prefect/_vendor/fastapi/dependencies/utils.py +0 -877
  146. prefect/_vendor/fastapi/encoders.py +0 -177
  147. prefect/_vendor/fastapi/exception_handlers.py +0 -40
  148. prefect/_vendor/fastapi/exceptions.py +0 -46
  149. prefect/_vendor/fastapi/logger.py +0 -3
  150. prefect/_vendor/fastapi/middleware/__init__.py +0 -1
  151. prefect/_vendor/fastapi/middleware/asyncexitstack.py +0 -25
  152. prefect/_vendor/fastapi/middleware/cors.py +0 -3
  153. prefect/_vendor/fastapi/middleware/gzip.py +0 -3
  154. prefect/_vendor/fastapi/middleware/httpsredirect.py +0 -3
  155. prefect/_vendor/fastapi/middleware/trustedhost.py +0 -3
  156. prefect/_vendor/fastapi/middleware/wsgi.py +0 -3
  157. prefect/_vendor/fastapi/openapi/__init__.py +0 -0
  158. prefect/_vendor/fastapi/openapi/constants.py +0 -2
  159. prefect/_vendor/fastapi/openapi/docs.py +0 -203
  160. prefect/_vendor/fastapi/openapi/models.py +0 -480
  161. prefect/_vendor/fastapi/openapi/utils.py +0 -485
  162. prefect/_vendor/fastapi/param_functions.py +0 -340
  163. prefect/_vendor/fastapi/params.py +0 -453
  164. prefect/_vendor/fastapi/requests.py +0 -4
  165. prefect/_vendor/fastapi/responses.py +0 -40
  166. prefect/_vendor/fastapi/routing.py +0 -1331
  167. prefect/_vendor/fastapi/security/__init__.py +0 -15
  168. prefect/_vendor/fastapi/security/api_key.py +0 -98
  169. prefect/_vendor/fastapi/security/base.py +0 -6
  170. prefect/_vendor/fastapi/security/http.py +0 -172
  171. prefect/_vendor/fastapi/security/oauth2.py +0 -227
  172. prefect/_vendor/fastapi/security/open_id_connect_url.py +0 -34
  173. prefect/_vendor/fastapi/security/utils.py +0 -10
  174. prefect/_vendor/fastapi/staticfiles.py +0 -1
  175. prefect/_vendor/fastapi/templating.py +0 -3
  176. prefect/_vendor/fastapi/testclient.py +0 -1
  177. prefect/_vendor/fastapi/types.py +0 -3
  178. prefect/_vendor/fastapi/utils.py +0 -235
  179. prefect/_vendor/fastapi/websockets.py +0 -7
  180. prefect/_vendor/starlette/__init__.py +0 -1
  181. prefect/_vendor/starlette/_compat.py +0 -28
  182. prefect/_vendor/starlette/_exception_handler.py +0 -80
  183. prefect/_vendor/starlette/_utils.py +0 -88
  184. prefect/_vendor/starlette/applications.py +0 -261
  185. prefect/_vendor/starlette/authentication.py +0 -159
  186. prefect/_vendor/starlette/background.py +0 -43
  187. prefect/_vendor/starlette/concurrency.py +0 -59
  188. prefect/_vendor/starlette/config.py +0 -151
  189. prefect/_vendor/starlette/convertors.py +0 -87
  190. prefect/_vendor/starlette/datastructures.py +0 -707
  191. prefect/_vendor/starlette/endpoints.py +0 -130
  192. prefect/_vendor/starlette/exceptions.py +0 -60
  193. prefect/_vendor/starlette/formparsers.py +0 -276
  194. prefect/_vendor/starlette/middleware/__init__.py +0 -17
  195. prefect/_vendor/starlette/middleware/authentication.py +0 -52
  196. prefect/_vendor/starlette/middleware/base.py +0 -220
  197. prefect/_vendor/starlette/middleware/cors.py +0 -176
  198. prefect/_vendor/starlette/middleware/errors.py +0 -265
  199. prefect/_vendor/starlette/middleware/exceptions.py +0 -74
  200. prefect/_vendor/starlette/middleware/gzip.py +0 -113
  201. prefect/_vendor/starlette/middleware/httpsredirect.py +0 -19
  202. prefect/_vendor/starlette/middleware/sessions.py +0 -82
  203. prefect/_vendor/starlette/middleware/trustedhost.py +0 -64
  204. prefect/_vendor/starlette/middleware/wsgi.py +0 -147
  205. prefect/_vendor/starlette/requests.py +0 -328
  206. prefect/_vendor/starlette/responses.py +0 -347
  207. prefect/_vendor/starlette/routing.py +0 -933
  208. prefect/_vendor/starlette/schemas.py +0 -154
  209. prefect/_vendor/starlette/staticfiles.py +0 -248
  210. prefect/_vendor/starlette/status.py +0 -199
  211. prefect/_vendor/starlette/templating.py +0 -231
  212. prefect/_vendor/starlette/testclient.py +0 -804
  213. prefect/_vendor/starlette/types.py +0 -30
  214. prefect/_vendor/starlette/websockets.py +0 -193
  215. prefect/agent.py +0 -698
  216. prefect/deployments/deployments.py +0 -1042
  217. prefect/deprecated/__init__.py +0 -0
  218. prefect/deprecated/data_documents.py +0 -350
  219. prefect/deprecated/packaging/__init__.py +0 -12
  220. prefect/deprecated/packaging/base.py +0 -96
  221. prefect/deprecated/packaging/docker.py +0 -146
  222. prefect/deprecated/packaging/file.py +0 -92
  223. prefect/deprecated/packaging/orion.py +0 -80
  224. prefect/deprecated/packaging/serializers.py +0 -171
  225. prefect/events/instrument.py +0 -135
  226. prefect/infrastructure/base.py +0 -323
  227. prefect/infrastructure/container.py +0 -818
  228. prefect/infrastructure/kubernetes.py +0 -920
  229. prefect/infrastructure/process.py +0 -289
  230. prefect/new_task_engine.py +0 -423
  231. prefect/pydantic/__init__.py +0 -76
  232. prefect/pydantic/main.py +0 -39
  233. prefect/software/__init__.py +0 -2
  234. prefect/software/base.py +0 -50
  235. prefect/software/conda.py +0 -199
  236. prefect/software/pip.py +0 -122
  237. prefect/software/python.py +0 -52
  238. prefect/workers/block.py +0 -218
  239. prefect_client-2.19.4.dist-info/RECORD +0 -292
  240. {prefect_client-2.19.4.dist-info → prefect_client-3.0.0rc2.dist-info}/LICENSE +0 -0
  241. {prefect_client-2.19.4.dist-info → prefect_client-3.0.0rc2.dist-info}/WHEEL +0 -0
  242. {prefect_client-2.19.4.dist-info → prefect_client-3.0.0rc2.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.4
3
+ Version: 3.0.0rc2
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -16,19 +16,22 @@ 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: exceptiongroup >=1.0.0
34
+ Requires-Dist: fastapi <1.0.0,>=0.111.0
32
35
  Requires-Dist: fsspec >=2022.5.0
33
36
  Requires-Dist: graphviz >=0.20.1
34
37
  Requires-Dist: griffe >=0.20.0
@@ -40,8 +43,11 @@ Requires-Dist: jsonschema <5.0.0,>=4.0.0
40
43
  Requires-Dist: orjson <4.0,>=3.7
41
44
  Requires-Dist: packaging <24.3,>=21.3
42
45
  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
46
+ Requires-Dist: pendulum <4,>=3.0.0
47
+ Requires-Dist: pydantic <3.0.0,>=2.7
44
48
  Requires-Dist: pydantic-core <3.0.0,>=2.12.0
49
+ Requires-Dist: pydantic-extra-types
50
+ Requires-Dist: pydantic-settings
45
51
  Requires-Dist: python-dateutil <3.0.0,>=2.8.2
46
52
  Requires-Dist: python-slugify <9.0,>=5.0
47
53
  Requires-Dist: pyyaml <7.0.0,>=5.4.1
@@ -54,11 +60,7 @@ Requires-Dist: typing-extensions <5.0.0,>=4.5.0
54
60
  Requires-Dist: ujson <6.0.0,>=5.8.0
55
61
  Requires-Dist: uvicorn <0.29.0,>=0.14.0
56
62
  Requires-Dist: websockets <13.0,>=10.4
57
- Requires-Dist: itsdangerous
58
- Requires-Dist: python-multipart >=0.0.7
59
63
  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
64
  Provides-Extra: notifications
63
65
  Requires-Dist: apprise <2.0.0,>=1.1.0 ; extra == 'notifications'
64
66
 
@@ -84,24 +86,24 @@ Requires-Dist: apprise <2.0.0,>=1.1.0 ; extra == 'notifications'
84
86
 
85
87
  # prefect-client
86
88
 
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.
89
+ The `prefect-client` package is a minimal-installation of `prefect` which is designed for interacting with Prefect Cloud
90
+ or remote any `prefect` server. It sheds some functionality and dependencies in exchange for a smaller installation size,
91
+ making it ideal for use in lightweight or ephemeral environments. These characteristics make it ideal for use in lambdas
92
+ or other resource-constrained environments.
91
93
 
92
94
 
93
95
  ## Getting started
94
96
 
95
- `prefect-client` shares the same installation requirements as prefect. To install, make sure you are on Python 3.8 or
97
+ `prefect-client` shares the same installation requirements as prefect. To install, make sure you are on Python 3.9 or
96
98
  later and run the following command:
97
99
 
98
100
  ```bash
99
101
  pip install prefect-client
100
102
  ```
101
103
 
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`!
104
+ Next, ensure that your `prefect-client` has access to a remote `prefect` server by exporting the `PREFECT_API_KEY`
105
+ (if using Prefect Cloud) and `PREFECT_API_URL` environment variables. Once those are set, use the package in your code as
106
+ you would normally use `prefect`!
105
107
 
106
108
 
107
109
  For example, to remotely trigger a run a deployment:
@@ -150,10 +152,10 @@ query_api()
150
152
 
151
153
 
152
154
  ## 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)
155
+ By design, `prefect-client` omits all CLI and server components. This means that the CLI is not available for use
156
+ and attempts to access server objects will fail. Furthermore, some classes, methods, and objects may be available
157
+ for import in `prefect-client` but may not be "runnable" if they tap into server-oriented functionality. If you
158
+ encounter such a limitation, feel free to [open an issue](https://github.com/PrefectHQ/prefect/issues/new/choose)
157
159
  describing the functionality you are interested in using and we will do our best to make it available.
158
160
 
159
161
 
@@ -0,0 +1,179 @@
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=f5yQRAN3abUr-LdmSB3AfdRHbzbTCL-MaNteWNCrkvw,25264
11
+ prefect/flow_runs.py,sha256=7mHGjb3-6MfR4XKQjy9sJPS9dS0yTxVO6MYQ8YlGjGw,16071
12
+ prefect/flows.py,sha256=wRK8Zb_i1LGdCnvKqZz-ia0ewjCFwNoz97oYU65QrhM,78690
13
+ prefect/futures.py,sha256=-ElpB4lcjJxMS1Jl-iHnUEofpgoSs2xCtMgR3_F4bTE,9139
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=v5QaD8x7jxSieksapkEOF70U7_i_nC-lFDMSu7htQ6s,74123
21
+ prefect/states.py,sha256=iMghF9qstBxfWV7MIZEmR3wijGo9hjnMAsWt37Kxue4,20143
22
+ prefect/task_engine.py,sha256=nPc5zyhYiYUjZMBpUP5aLqXFNBuWMXQMAvL1zyxIOZo,25536
23
+ prefect/task_runners.py,sha256=H9QRog6ox3gFg__w3GJbXIPj19uMQxhk1_2yqEw14KM,11554
24
+ prefect/task_runs.py,sha256=3FEz95KSkGiL8rf3aqxY4sIJGEKY4GfxKvDlGdXU4Pk,7170
25
+ prefect/task_worker.py,sha256=5Xb1FpYotmxEMMoeQtvfuseBNxCjKJVXXTXl9viT844,12291
26
+ prefect/tasks.py,sha256=lasNeqKfNFeQWSwgmsqWDNojS2hVEOaJSo80Fh_XD_Q,56854
27
+ prefect/transactions.py,sha256=1XkoxwX6JOzMGSxidvBD-KDAb7edk_cAQ8t1XlBZ3P4,6498
28
+ prefect/variables.py,sha256=Qd3rn-lbDDEXENp2Ej1-RcbepkV2hlQp6TWoS4-xTOQ,4705
29
+ prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ prefect/_internal/_logging.py,sha256=HvNHY-8P469o5u4LYEDBTem69XZEt1QUeUaLToijpak,810
31
+ prefect/_internal/pytz.py,sha256=47Y28jKxUvgw7vaEvN-Xl0laiVdMLXC8IRUEk7oHz1Q,13749
32
+ prefect/_internal/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ prefect/_internal/compatibility/deprecated.py,sha256=nqevphK00rakKgCfkbqBQ4NCktdb4338uuROjFcq6xA,7517
34
+ prefect/_internal/compatibility/experimental.py,sha256=nrIeeAe1vZ0yMb1cPw5AroVR6_msx-bzTeBLzY4au6o,5634
35
+ prefect/_internal/concurrency/__init__.py,sha256=ncKwi1NhE3umSFGSKRk9wEVKzN1z1ZD-fmY4EDZHH_U,2142
36
+ prefect/_internal/concurrency/api.py,sha256=mE2IahRxGX1DgyxIryDXhF6gwhOJ-cdghsTjJtNil9U,7132
37
+ prefect/_internal/concurrency/calls.py,sha256=UlNgzCoy3awKEPnMpexBSa1dk_2MNwCWoZ5YQODEmG4,15437
38
+ prefect/_internal/concurrency/cancellation.py,sha256=D1B_I2cBSGPNXcLaXNaLN_9_QAgFjRmA540RcTmS0rA,18050
39
+ prefect/_internal/concurrency/event_loop.py,sha256=1VBW862QZ6DV9dExWOT398A0fti4A7jW2kcY7Y5V-lI,2073
40
+ prefect/_internal/concurrency/inspection.py,sha256=xfyUNr5CoES8LFhybi2DmzHeW4RpTAbrGPiZOYMVLbQ,3464
41
+ prefect/_internal/concurrency/primitives.py,sha256=kxCPD9yLtCeqt-JIHjevL4Zt5FvrF_Bam-Ucf41FX6k,2608
42
+ prefect/_internal/concurrency/services.py,sha256=aggJd4IUSB6ufppRYdRT-36daEg1JSpJCvK635R8meg,11951
43
+ prefect/_internal/concurrency/threads.py,sha256=90Wi00pTebfihiFgP-P71DeGTnhlJKctzP69mtjphKU,8860
44
+ prefect/_internal/concurrency/waiters.py,sha256=X6xxsKcHB9ULnCkeUf0cLTI267kI_GC4k96XRuhPhnw,8790
45
+ prefect/_internal/pydantic/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
46
+ prefect/_internal/pydantic/schemas.py,sha256=tsRKq5yEIgiRbWMl3BPnbfNaKyDN6pq8WSs0M8SQMm4,452
47
+ prefect/_internal/pydantic/v1_schema.py,sha256=H8it3U5-8UoJnkUG3OSuDISZr8mz9gJniJlqfW6Gdxo,1151
48
+ prefect/_internal/pydantic/v2_schema.py,sha256=FA20vh_a5-3TNvQgl11Pe77bsf0qVB6nrUz5Cro6jQ8,3617
49
+ prefect/_internal/pydantic/v2_validated_func.py,sha256=WfEKOMb-tPYdc8o2QX5hDLJhUiykts4Dpwp07cr0Vbo,3476
50
+ prefect/_internal/pydantic/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
+ prefect/_internal/pydantic/annotations/pendulum.py,sha256=rWT6zzCtIqvK2_EuAkMt73ZzAvdE5tF2104e0-tIaa4,2625
52
+ prefect/_internal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
+ prefect/_internal/schemas/bases.py,sha256=KYT8v4UOIClOKoXLEHSzDI7jran35BHvRcYWueyMFYU,4098
54
+ prefect/_internal/schemas/fields.py,sha256=m4LrFNz8rA9uBhMk9VyQT6FIXmV_EVAW92hdXeSvHbY,837
55
+ prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1OdR6TXNrRhQ,825
56
+ prefect/_internal/schemas/validators.py,sha256=McSijrOcrqQpE-fvp4WRMoxsVn5fWIyBIXdYys1YRhk,29690
57
+ prefect/blocks/__init__.py,sha256=BUfh6gIwA6HEjRyVCAiv0he3M1zfM-oY-JrlBfeWeY8,182
58
+ prefect/blocks/abstract.py,sha256=YLzCaf3yXv6wFCF5ZqCIHJNwH7fME1rLxC-SijARHzk,16319
59
+ prefect/blocks/core.py,sha256=AavpIpQx6znhomFYS751hY8HjjrAM0Ug3SwNRELpjGA,46657
60
+ prefect/blocks/fields.py,sha256=1m507VVmkpOnMF_7N-qboRjtw4_ceIuDneX3jZ3Jm54,63
61
+ prefect/blocks/kubernetes.py,sha256=1AHzcI2hPeu5zOEKLC4FBjjv8VdZ8ianuv6oVEh4ou8,4016
62
+ prefect/blocks/notifications.py,sha256=QV2ndeiERBbL9vNW2zR1LzH86llDY1sJVh2DN0sh1eo,28198
63
+ prefect/blocks/redis.py,sha256=GUKYyx2QLtyNvgf5FT_dJxbgQcOzWCja3I23J1-AXhM,5629
64
+ prefect/blocks/system.py,sha256=tkONKzDlaQgR6NtWXON0ZQm7nGuFKt0_Du3sj8ubs-M,3605
65
+ prefect/blocks/webhook.py,sha256=mnAfGF64WyjH55BKkTbC1AP9FETNcrm_PEjiqJNpigA,1867
66
+ prefect/client/__init__.py,sha256=yJ5FRF9RxNUio2V_HmyKCKw5G6CZO0h8cv6xA_Hkpcc,477
67
+ prefect/client/base.py,sha256=laxz64IEhbetMIcRh67_YDYd5ThCmUK9fgUgco8WyXQ,24647
68
+ prefect/client/cloud.py,sha256=5T84QP9IRa_cqL7rmY3lR1wxFW6C41PajFZgelurhK0,4124
69
+ prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
70
+ prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
71
+ prefect/client/orchestration.py,sha256=tGQfaBpghPIzNe_CKDcwDgq67YFRfjLaEOdvHlgI4sM,139792
72
+ prefect/client/subscriptions.py,sha256=1jalWVk8Ho-dHHuDePr43vw_SYm2BcOA5MX2Dp7REng,3366
73
+ prefect/client/utilities.py,sha256=Ni1DsFDhnvxpXWerlvZpK8tCg-uZ8UyZwOmDTKEb1DI,3269
74
+ prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
75
+ prefect/client/schemas/actions.py,sha256=OOHVSeCMGW3hXK65M4Jr3fQM9fq95c_vvnPBi2bHcUM,28127
76
+ prefect/client/schemas/filters.py,sha256=KqRPjSzb-Tt3gVfVGNiLPaYKtD_W9npsPLGxpaVPm5U,35045
77
+ prefect/client/schemas/objects.py,sha256=1HusFAS5rx7T4VleWc6UGJVwZhUUl9uVX8CUIf2Xnjw,53126
78
+ prefect/client/schemas/responses.py,sha256=YnofjvPxaDE0kPw7SLfK5TuZSJ0IlqP2G17rQgz_buk,15135
79
+ prefect/client/schemas/schedules.py,sha256=EIvVQN01ZnLf6Yu-3_Ar1iHybDwJ6C767AAnqMhVxWo,12846
80
+ prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
81
+ prefect/concurrency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ prefect/concurrency/asyncio.py,sha256=P9e69XYik9QBSlUYyq1OcyqyUJaFjvW8jm6nfMkZ7uA,4304
83
+ prefect/concurrency/events.py,sha256=rQLSBwcYCzvdKTXr7bLjgMIklllObxB33MAL6dylXAM,1802
84
+ prefect/concurrency/services.py,sha256=JP74IUjdoDoljy-BdZQTa1IOEuSZZxMgsMyr7KJAYS0,2598
85
+ prefect/concurrency/sync.py,sha256=gXyiiA0bul7jjpHWPm6su8pFdBiMOekhu9FHnjiPWBQ,3339
86
+ prefect/deployments/__init__.py,sha256=UoP8mn3Drz65sK2FVZJxyGJR5zhsYQD5BRX3LlaAxdI,317
87
+ prefect/deployments/base.py,sha256=DJJJCDjrXLnhtMDrz1ZpH9R1rNhhW-qxDc1Q7MVGIkA,16561
88
+ prefect/deployments/flow_runs.py,sha256=eatcBD7pg-aaEqs9JxQQcKN_flf614O4gAvedAlRyNo,6803
89
+ prefect/deployments/runner.py,sha256=5f3pFGxw_DOA9k169KFIzILTZ_TkKIWI9DLhl1iK1Ck,44716
90
+ prefect/deployments/schedules.py,sha256=c8ONC9t_buAWVxfcWAQEGhuIkU5rAjetuvU87PLJx48,2031
91
+ prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
92
+ prefect/deployments/steps/core.py,sha256=yKBVi8pi_7fzdng28kUD8vcSl5aED5yFnu9KxCdquKA,6627
93
+ prefect/deployments/steps/pull.py,sha256=DSSpjPo7JnydM31Q2Pl4bMsVRoNjm3PjvpJpt2cbqUE,7124
94
+ prefect/deployments/steps/utility.py,sha256=EhoitdNqsQHUL5MBmVyOL9lSwNXweZvFiw03eIkzveU,8134
95
+ prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
96
+ prefect/events/actions.py,sha256=4kBV2NwFlC6oXVeMp9Qb2HMNqv1IZ7FcOqeXz1zlRf0,8983
97
+ prefect/events/clients.py,sha256=4EKwu_TLx2nVaUu30g62uGJ_rsdzmQ4IjON5C_0fydk,19625
98
+ prefect/events/filters.py,sha256=IJ1TF-TCC7Wk2nJsbYW-HyAANToDQ6z1MdD63qE-lfw,8186
99
+ prefect/events/related.py,sha256=1rUnQ7tg_UtNfSAkKdRo-rD2W93EKKB9xafPxyusFj8,6841
100
+ prefect/events/utilities.py,sha256=gia_jGwxykxRTzS6FAp-gVEP9d7gH8S_hTd3-RQNJVQ,2627
101
+ prefect/events/worker.py,sha256=UGwqnoOHmtvAh_Y9yJlEB6RfKmYRu4Xsc5l9LolHV_0,3434
102
+ prefect/events/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ prefect/events/cli/automations.py,sha256=XK0Uad87-3iECnIcQphrUG0wSwtqQVZsEyEkKRkOJkA,11440
104
+ prefect/events/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
+ prefect/events/schemas/automations.py,sha256=hZ7lbkJEhpHmyd118k_O7kl_i_lEnDifwsn2ZHyn8Po,14380
106
+ prefect/events/schemas/deployment_triggers.py,sha256=i_BtKscXU9kOHAeqmxrYQr8itEYfuPIxAnCW3fo1YeE,3114
107
+ prefect/events/schemas/events.py,sha256=RqosMukGfHvLPnYDcyxkm6VuifCeH5-aQ4POdMPmaUA,8649
108
+ prefect/events/schemas/labelling.py,sha256=bU-XYaHXhI2MEBIHngth96R9D02m8HHb85KNcHZ_1Gc,3073
109
+ prefect/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
+ prefect/infrastructure/provisioners/__init__.py,sha256=wn240gHrQbien2g_g2A8Ujb2iFyjmDgMHLQ7tgQngf4,1706
111
+ prefect/infrastructure/provisioners/cloud_run.py,sha256=A2q9LhYQbbOZd-W5VG_Uy8KbEkttXu7Fj2DiQrOUhL0,17758
112
+ prefect/infrastructure/provisioners/container_instance.py,sha256=FlNrMpkwF_ovzm7J_gaYwDURjQsfBSzMp88sl2GXScQ,41293
113
+ prefect/infrastructure/provisioners/ecs.py,sha256=gAkJ5R0gVSUZpEAGVr6YZC00PfNZegkZhq0ddhvhoAE,47716
114
+ prefect/infrastructure/provisioners/modal.py,sha256=4-VanBPqWlAj_5ckpXT7NonbqP0YwznTXFa4P8cthIs,9080
115
+ prefect/input/__init__.py,sha256=TPJ9UfG9_SiBze23sQwU1MnWI8AgyEMNihotgTebFQ0,627
116
+ prefect/input/actions.py,sha256=IGdWjVcesnRjLmPCzB4ZM7FkRWXDKCku6yhE-7p0vKk,3777
117
+ prefect/input/run_input.py,sha256=2wG-0L3N0spwh61Z3xI0PM8AAjHEIQZcDN703Er_gLo,18728
118
+ prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
119
+ prefect/logging/configuration.py,sha256=bYqFJm0QgLz92Dub1Lbl3JONjjm0lTK149pNAGbxPdM,3467
120
+ prefect/logging/filters.py,sha256=9keHLN4-cpnsWcii1qU0RITNi9-m7pOhkJ_t0MtCM4k,1117
121
+ prefect/logging/formatters.py,sha256=IJlxl-X9DbXg5vk4y9d78lMf-2PKX57z8l5hAN8ArbY,3903
122
+ prefect/logging/handlers.py,sha256=_dNsAISeduCnO-14QjlFOXF5wlu3EcXO9uVTMdlwRE4,10414
123
+ prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rgok,1681
124
+ prefect/logging/loggers.py,sha256=pWxp2SLiyYTD4Dpxqi7tsdlThhdpmdorPAL8wKM2MBM,11517
125
+ prefect/logging/logging.yml,sha256=UkEewf0c3_dURI2uCU4RrxkhI5Devoa1s93fl7hilcg,3160
126
+ prefect/records/__init__.py,sha256=7q-lwyevfVgb5S7K9frzawmiJmpZ5ET0m5yXIHBYcVA,31
127
+ prefect/records/cache_policies.py,sha256=Tznezrm_sVR1npwirrUNv5t8b7XFkJ8xDrNW84KUlyg,4735
128
+ prefect/records/result_store.py,sha256=Xa5PdalG9yyPIGxTvdgDSAp2LP4UFnJ9vF2Vv-rnoGA,1352
129
+ prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
130
+ prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
131
+ prefect/runner/runner.py,sha256=70ifb78m2PDZ4wZSMkWKdfFpiHgpKKMFHZrwCNT53E8,45088
132
+ prefect/runner/server.py,sha256=MnAPtLY7lkaPqX_0Axfz8-kLjYkSYEhORUsVNZPDSmo,10509
133
+ prefect/runner/storage.py,sha256=nuzkEjmAZYAjCEpXhuuZSGJAqBARICIBmDQNqDgI4yk,22316
134
+ prefect/runner/submit.py,sha256=EpgYNR-tAub0VFVTIkijp8qwHcS1iojLAZN5NM0X39s,8552
135
+ prefect/runner/utils.py,sha256=wVgVa7p5uUL7tfYfDOVuq6QIGf-I8U9dfAjYBmYf6n4,3286
136
+ prefect/runtime/__init__.py,sha256=iYmfK1HmXiXXCQK77wDloOqZmY7SFF5iyr37jRzuf-c,406
137
+ prefect/runtime/deployment.py,sha256=UWNXH-3-NNVxLCl5XnDKiofo4a5j8w_42ns1OSQMixg,4751
138
+ prefect/runtime/flow_run.py,sha256=aFM3e9xqpeZQ4WkvZQXD0lmXu2fNVVVA1etSN3ZI9aE,8444
139
+ prefect/runtime/task_run.py,sha256=_np3pjBHWkvEtSe-QElEAGwUct629vVx_sahPr-H8gM,3402
140
+ prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
141
+ prefect/server/api/static/prefect-logo-mark-gradient.png,sha256=ylRjJkI_JHCw8VbQasNnXQHwZW-sH-IQiUGSD3aWP1E,73430
142
+ prefect/types/__init__.py,sha256=FmTJx5Uh89Pv6ssgcyUiA4p1zxPMHrUdQ7gfXqmypqw,2161
143
+ prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
+ prefect/utilities/annotations.py,sha256=bXB43j5Zsq5gaBcJe9qnszBlnNwCTwqSTgcu2OkkRLo,2776
145
+ prefect/utilities/asyncutils.py,sha256=YCkMNOGB1DCLR6pgr6hgXFOjfyv9fXhY8ISiv4tHX0w,19174
146
+ prefect/utilities/callables.py,sha256=Y4P4dvsOlPovT5BuL8kjrmt0RmyV4tvtXNOwJ5ADNEc,24320
147
+ prefect/utilities/collections.py,sha256=9vUZA8j_NAOcsRZ45UWGYpO1EuUErcpcPTyZap5q28I,14883
148
+ prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
149
+ prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
150
+ prefect/utilities/dispatch.py,sha256=c8G-gBo7hZlyoD7my9nO50Rzy8Retk-np5WGq9_E2AM,5856
151
+ prefect/utilities/dockerutils.py,sha256=BXXW5RinfPxNa02k2XDqPwbKhAvrey3IvVZwLV3CLJ8,20251
152
+ prefect/utilities/engine.py,sha256=t5Gi96TY2Uv_cTi-WnYPtPoI-MEWeN11VxraDulyyJI,29707
153
+ prefect/utilities/filesystem.py,sha256=M_TeZ1MftjBf7hDLWk-Iphir369TpJ1binMsBKiO9YE,4449
154
+ prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
155
+ prefect/utilities/importtools.py,sha256=u-b5Hpuh7YBnLEjWfVPoppxpKEBmYszEQ6oMkrr-Ff8,14471
156
+ prefect/utilities/math.py,sha256=wLwcKVidpNeWQi1TUIWWLHGjlz9UgboX9FUGhx_CQzo,2821
157
+ prefect/utilities/names.py,sha256=x-stHcF7_tebJPvB1dz-5FvdXJXNBTg2kFZXSnIBBmk,1657
158
+ prefect/utilities/processutils.py,sha256=yo_GO48pZzgn4A0IK5irTAoqyUCYvWKDSqHXCrtP8c4,14547
159
+ prefect/utilities/pydantic.py,sha256=YEY7hp5ptaYqOzsZJC4dXf9d2g37aOdepoH8FBPg7uw,12394
160
+ prefect/utilities/render_swagger.py,sha256=h2UrORVN3f7gM4zurtMnySjQXZIOWbji3uMinpbkl8U,3717
161
+ prefect/utilities/services.py,sha256=u0Gpdw5pYceaSLCqOihGyFb2AlMBYE2P9Ts9qRb3N9Q,6584
162
+ prefect/utilities/slugify.py,sha256=57Vb14t13F3zm1P65KAu8nVeAz0iJCd1Qc5eMG-R5y8,169
163
+ prefect/utilities/templating.py,sha256=nAiOGMMHGbIDFkGYy-g-dzcbY311WfycdgAhsM3cLpY,13298
164
+ prefect/utilities/text.py,sha256=eXGIsCcZ7h_6hy8T5GDQjL8GiKyktoOqavYub0QjgO4,445
165
+ prefect/utilities/timeout.py,sha256=nxmuPxROIT-i8gPffpARuxnxu58H0vkmbjTVIgef0_0,805
166
+ prefect/utilities/visualization.py,sha256=9Pc8ImgnBpnszWTFxYm42cmtHjNEAsGZ8ugkn8w_dJk,6501
167
+ prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQPxbx-m6YQhiNEI,322
168
+ prefect/utilities/schema_tools/hydration.py,sha256=Nitnmr35Mcn5z9NXIvh9DuZW5nCZxpjyMc9RFawMsgs,8376
169
+ prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
170
+ prefect/workers/__init__.py,sha256=8dP8SLZbWYyC_l9DRTQSE3dEbDgns5DZDhxkp_NfsbQ,35
171
+ prefect/workers/base.py,sha256=e5KUgepv9MtPk_9L-Ipg35AOumuGErQhfNHFi5OiBEM,45622
172
+ prefect/workers/process.py,sha256=vylkSSswaSCew-V65YW0HcxIxyKI-uqWkbSKpkkLamQ,9372
173
+ prefect/workers/server.py,sha256=EfPiMxI7TVgkqpHkdPwSaYG-ydi99sG7jwXhkAcACbI,1519
174
+ prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
175
+ prefect_client-3.0.0rc2.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
176
+ prefect_client-3.0.0rc2.dist-info/METADATA,sha256=l2B0IqOCU0nqp8txhuStu0oXYO9umh5-wTP3M7x5py0,7377
177
+ prefect_client-3.0.0rc2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
178
+ prefect_client-3.0.0rc2.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
179
+ prefect_client-3.0.0rc2.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"]