prefect-client 3.0.0rc2__py3-none-any.whl → 3.0.0rc3__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 (65) hide show
  1. prefect/_internal/compatibility/migration.py +124 -0
  2. prefect/_internal/concurrency/__init__.py +2 -2
  3. prefect/_internal/concurrency/primitives.py +1 -0
  4. prefect/_internal/pydantic/annotations/pendulum.py +2 -2
  5. prefect/_internal/pytz.py +1 -1
  6. prefect/blocks/core.py +1 -1
  7. prefect/client/orchestration.py +96 -22
  8. prefect/client/schemas/actions.py +1 -1
  9. prefect/client/schemas/filters.py +6 -0
  10. prefect/client/schemas/objects.py +10 -3
  11. prefect/client/subscriptions.py +3 -2
  12. prefect/context.py +1 -27
  13. prefect/deployments/__init__.py +3 -0
  14. prefect/deployments/base.py +4 -2
  15. prefect/deployments/deployments.py +3 -0
  16. prefect/deployments/steps/pull.py +1 -0
  17. prefect/deployments/steps/utility.py +2 -1
  18. prefect/engine.py +3 -0
  19. prefect/events/cli/automations.py +1 -1
  20. prefect/events/clients.py +7 -1
  21. prefect/exceptions.py +9 -0
  22. prefect/filesystems.py +22 -11
  23. prefect/flow_engine.py +116 -154
  24. prefect/flows.py +83 -34
  25. prefect/infrastructure/provisioners/container_instance.py +1 -0
  26. prefect/infrastructure/provisioners/ecs.py +2 -2
  27. prefect/input/__init__.py +4 -0
  28. prefect/logging/formatters.py +2 -2
  29. prefect/logging/handlers.py +2 -2
  30. prefect/logging/loggers.py +1 -1
  31. prefect/plugins.py +1 -0
  32. prefect/records/cache_policies.py +3 -3
  33. prefect/records/result_store.py +10 -3
  34. prefect/results.py +27 -55
  35. prefect/runner/runner.py +1 -1
  36. prefect/runner/server.py +1 -1
  37. prefect/runtime/__init__.py +1 -0
  38. prefect/runtime/deployment.py +1 -0
  39. prefect/runtime/flow_run.py +1 -0
  40. prefect/runtime/task_run.py +1 -0
  41. prefect/settings.py +15 -2
  42. prefect/states.py +15 -4
  43. prefect/task_engine.py +190 -33
  44. prefect/task_runners.py +9 -3
  45. prefect/task_runs.py +3 -3
  46. prefect/task_worker.py +29 -9
  47. prefect/tasks.py +133 -57
  48. prefect/transactions.py +87 -15
  49. prefect/types/__init__.py +1 -1
  50. prefect/utilities/asyncutils.py +3 -3
  51. prefect/utilities/callables.py +16 -4
  52. prefect/utilities/dockerutils.py +5 -3
  53. prefect/utilities/engine.py +11 -0
  54. prefect/utilities/filesystem.py +4 -5
  55. prefect/utilities/importtools.py +29 -0
  56. prefect/utilities/services.py +2 -2
  57. prefect/utilities/urls.py +195 -0
  58. prefect/utilities/visualization.py +1 -0
  59. prefect/variables.py +4 -0
  60. prefect/workers/base.py +35 -0
  61. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc3.dist-info}/METADATA +2 -2
  62. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc3.dist-info}/RECORD +65 -62
  63. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc3.dist-info}/LICENSE +0 -0
  64. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc3.dist-info}/WHEEL +0 -0
  65. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,195 @@
1
+ import inspect
2
+ import urllib.parse
3
+ from typing import Any, Literal, Optional, Union
4
+ from uuid import UUID
5
+
6
+ from pydantic import BaseModel
7
+
8
+ from prefect import settings
9
+ from prefect.blocks.core import Block
10
+ from prefect.events.schemas.automations import Automation
11
+ from prefect.events.schemas.events import ReceivedEvent, Resource
12
+ from prefect.futures import PrefectFuture
13
+ from prefect.logging.loggers import get_logger
14
+ from prefect.variables import Variable
15
+
16
+ logger = get_logger("utilities.urls")
17
+
18
+ # The following objects are excluded from UI URL generation because we lack a
19
+ # directly-addressable URL:
20
+ # worker
21
+ # artifact
22
+ # variable
23
+ # saved-search
24
+ UI_URL_FORMATS = {
25
+ "flow": "flows/flow/{obj_id}",
26
+ "flow-run": "runs/flow-run/{obj_id}",
27
+ "task-run": "runs/task-run/{obj_id}",
28
+ "block": "blocks/block/{obj_id}",
29
+ "block-document": "blocks/block/{obj_id}",
30
+ "work-pool": "work-pools/work-pool/{obj_id}",
31
+ "work-queue": "work-queues/work-queue/{obj_id}",
32
+ "concurrency-limit": "concurrency-limits/concurrency-limit/{obj_id}",
33
+ "deployment": "deployments/deployment/{obj_id}",
34
+ "automation": "automations/automation/{obj_id}",
35
+ "received-event": "events/event/{occurred}/{obj_id}",
36
+ }
37
+
38
+ # The following objects are excluded from API URL generation because we lack a
39
+ # directly-addressable URL:
40
+ # worker
41
+ # artifact
42
+ # saved-search
43
+ # received-event
44
+ API_URL_FORMATS = {
45
+ "flow": "flows/{obj_id}",
46
+ "flow-run": "flow_runs/{obj_id}",
47
+ "task-run": "task_runs/{obj_id}",
48
+ "variable": "variables/name/{obj_id}",
49
+ "block": "blocks/{obj_id}",
50
+ "work-pool": "work_pools/{obj_id}",
51
+ "work-queue": "work_queues/{obj_id}",
52
+ "concurrency-limit": "concurrency_limits/{obj_id}",
53
+ "deployment": "deployments/{obj_id}",
54
+ "automation": "automations/{obj_id}",
55
+ }
56
+
57
+ URLType = Literal["ui", "api"]
58
+ RUN_TYPES = {"flow-run", "task-run"}
59
+
60
+
61
+ def convert_class_to_name(obj: Any) -> str:
62
+ """
63
+ Convert CamelCase class name to dash-separated lowercase name
64
+ """
65
+ cls = obj if inspect.isclass(obj) else obj.__class__
66
+ name = cls.__name__
67
+ return "".join(["-" + i.lower() if i.isupper() else i for i in name]).lstrip("-")
68
+
69
+
70
+ def url_for(
71
+ obj: Union[
72
+ PrefectFuture,
73
+ Block,
74
+ Variable,
75
+ Automation,
76
+ Resource,
77
+ ReceivedEvent,
78
+ BaseModel,
79
+ str,
80
+ ],
81
+ obj_id: Optional[Union[str, UUID]] = None,
82
+ url_type: URLType = "ui",
83
+ default_base_url: Optional[str] = None,
84
+ ) -> Optional[str]:
85
+ """
86
+ Returns the URL for a Prefect object.
87
+
88
+ Pass in a supported object directly or provide an object name and ID.
89
+
90
+ Args:
91
+ obj (Union[PrefectFuture, Block, Variable, Automation, Resource, ReceivedEvent, BaseModel, str]):
92
+ A Prefect object to get the URL for, or its URL name and ID.
93
+ obj_id (Union[str, UUID], optional):
94
+ The UUID of the object.
95
+ url_type (Literal["ui", "api"], optional):
96
+ Whether to return the URL for the UI (default) or API.
97
+ default_base_url (str, optional):
98
+ The default base URL to use if no URL is configured.
99
+
100
+ Returns:
101
+ Optional[str]: The URL for the given object or None if the object is not supported.
102
+
103
+ Examples:
104
+ url_for(my_flow_run)
105
+ url_for(obj=my_flow_run)
106
+ url_for("flow-run", obj_id="123e4567-e89b-12d3-a456-426614174000")
107
+ """
108
+ if isinstance(obj, PrefectFuture):
109
+ name = "task-run"
110
+ elif isinstance(obj, Block):
111
+ name = "block"
112
+ elif isinstance(obj, Automation):
113
+ name = "automation"
114
+ elif isinstance(obj, ReceivedEvent):
115
+ name = "received-event"
116
+ elif isinstance(obj, Resource):
117
+ if obj.id.startswith("prefect."):
118
+ name = obj.id.split(".")[1]
119
+ else:
120
+ logger.warning(f"No URL known for resource with ID: {obj.id}")
121
+ return None
122
+ elif isinstance(obj, str):
123
+ name = obj
124
+ else:
125
+ name = convert_class_to_name(obj)
126
+
127
+ # Can't do an isinstance check here because the client build
128
+ # doesn't have access to that server schema.
129
+ if name == "work-queue-with-status":
130
+ name = "work-queue"
131
+
132
+ if url_type != "ui" and url_type != "api":
133
+ raise ValueError(f"Invalid URL type: {url_type}. Use 'ui' or 'api'.")
134
+
135
+ if url_type == "ui" and name not in UI_URL_FORMATS:
136
+ logger.error("No UI URL known for this object: %s", name)
137
+ return None
138
+ elif url_type == "api" and name not in API_URL_FORMATS:
139
+ logger.error("No API URL known for this object: %s", name)
140
+ return None
141
+
142
+ if isinstance(obj, str) and not obj_id:
143
+ raise ValueError(
144
+ "If passing an object name, you must also provide an object ID."
145
+ )
146
+
147
+ base_url = (
148
+ settings.PREFECT_UI_URL.value()
149
+ if url_type == "ui"
150
+ else settings.PREFECT_API_URL.value()
151
+ )
152
+ base_url = base_url or default_base_url
153
+
154
+ if not base_url:
155
+ logger.warning(
156
+ f"No URL found for the Prefect {'UI' if url_type == 'ui' else 'API'}, "
157
+ f"and no default base path provided."
158
+ )
159
+ return None
160
+
161
+ if not obj_id:
162
+ # We treat PrefectFuture as if it was the underlying task run,
163
+ # so we need to check the object type here instead of name.
164
+ if isinstance(obj, PrefectFuture):
165
+ obj_id = getattr(obj, "task_run_id", None)
166
+ elif name == "block":
167
+ # Blocks are client-side objects whose API representation is a
168
+ # BlockDocument.
169
+ obj_id = obj._block_document_id
170
+ elif name in ("variable", "work-pool"):
171
+ obj_id = obj.name
172
+ elif isinstance(obj, Resource):
173
+ obj_id = obj.id.rpartition(".")[2]
174
+ else:
175
+ obj_id = getattr(obj, "id", None)
176
+ if not obj_id:
177
+ logger.error(
178
+ "An ID is required to build a URL, but object did not have one: %s", obj
179
+ )
180
+ return ""
181
+
182
+ url_format = (
183
+ UI_URL_FORMATS.get(name) if url_type == "ui" else API_URL_FORMATS.get(name)
184
+ )
185
+
186
+ if isinstance(obj, ReceivedEvent):
187
+ url = url_format.format(
188
+ occurred=obj.occurred.strftime("%Y-%m-%d"), obj_id=obj_id
189
+ )
190
+ else:
191
+ url = url_format.format(obj_id=obj_id)
192
+
193
+ if not base_url.endswith("/"):
194
+ base_url += "/"
195
+ return urllib.parse.urljoin(base_url, url)
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Utilities for working with Flow.visualize()
3
3
  """
4
+
4
5
  from functools import partial
5
6
  from typing import Any, List, Optional
6
7
 
prefect/variables.py CHANGED
@@ -1,5 +1,6 @@
1
1
  from typing import List, Optional, Union
2
2
 
3
+ from prefect._internal.compatibility.migration import getattr_migration
3
4
  from prefect.client.schemas.actions import VariableCreate as VariableRequest
4
5
  from prefect.client.schemas.actions import VariableUpdate as VariableUpdateRequest
5
6
  from prefect.client.schemas.objects import Variable as VariableResponse
@@ -134,3 +135,6 @@ class Variable(VariableRequest):
134
135
  return True
135
136
  except ObjectNotFound:
136
137
  return False
138
+
139
+
140
+ __getattr__ = getattr_migration(__name__)
prefect/workers/base.py CHANGED
@@ -8,6 +8,8 @@ import anyio
8
8
  import anyio.abc
9
9
  import pendulum
10
10
  from pydantic import BaseModel, Field, PrivateAttr, field_validator
11
+ from pydantic.json_schema import GenerateJsonSchema
12
+ from typing_extensions import Literal
11
13
 
12
14
  import prefect
13
15
  from prefect._internal.compatibility.experimental import (
@@ -42,8 +44,10 @@ from prefect.exceptions import (
42
44
  from prefect.logging.loggers import PrefectLogAdapter, flow_run_logger, get_logger
43
45
  from prefect.plugins import load_prefect_collections
44
46
  from prefect.settings import (
47
+ PREFECT_API_URL,
45
48
  PREFECT_EXPERIMENTAL_WARN,
46
49
  PREFECT_EXPERIMENTAL_WARN_ENHANCED_CANCELLATION,
50
+ PREFECT_TEST_MODE,
47
51
  PREFECT_WORKER_HEARTBEAT_SECONDS,
48
52
  PREFECT_WORKER_PREFETCH_SECONDS,
49
53
  get_current_settings,
@@ -333,6 +337,33 @@ class BaseVariables(BaseModel):
333
337
  ),
334
338
  )
335
339
 
340
+ @classmethod
341
+ def model_json_schema(
342
+ cls,
343
+ by_alias: bool = True,
344
+ ref_template: str = "#/definitions/{model}",
345
+ schema_generator: Type[GenerateJsonSchema] = GenerateJsonSchema,
346
+ mode: Literal["validation", "serialization"] = "validation",
347
+ ) -> Dict[str, Any]:
348
+ """TODO: stop overriding this method - use GenerateSchema in ConfigDict instead?"""
349
+ schema = super().model_json_schema(
350
+ by_alias, ref_template, schema_generator, mode
351
+ )
352
+
353
+ # ensure backwards compatibility by copying $defs into definitions
354
+ if "$defs" in schema:
355
+ schema["definitions"] = schema.pop("$defs")
356
+
357
+ # we aren't expecting these additional fields in the schema
358
+ if "additionalProperties" in schema:
359
+ schema.pop("additionalProperties")
360
+
361
+ for _, definition in schema.get("definitions", {}).items():
362
+ if "additionalProperties" in definition:
363
+ definition.pop("additionalProperties")
364
+
365
+ return schema
366
+
336
367
 
337
368
  class BaseWorkerResult(BaseModel, abc.ABC):
338
369
  identifier: str
@@ -521,6 +552,10 @@ class BaseWorker(abc.ABC):
521
552
  self._limiter = (
522
553
  anyio.CapacityLimiter(self._limit) if self._limit is not None else None
523
554
  )
555
+
556
+ if not PREFECT_TEST_MODE and not PREFECT_API_URL.value():
557
+ raise ValueError("`PREFECT_API_URL` must be set to start a Worker.")
558
+
524
559
  self._client = get_client()
525
560
  await self._client.__aenter__()
526
561
  await self._runs_task_group.__aenter__()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.0.0rc2
3
+ Version: 3.0.0rc3
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -46,7 +46,7 @@ Requires-Dist: pathspec >=0.8.0
46
46
  Requires-Dist: pendulum <4,>=3.0.0
47
47
  Requires-Dist: pydantic <3.0.0,>=2.7
48
48
  Requires-Dist: pydantic-core <3.0.0,>=2.12.0
49
- Requires-Dist: pydantic-extra-types
49
+ Requires-Dist: pydantic-extra-types !=2.8.1,<3.0.0,>2.7
50
50
  Requires-Dist: pydantic-settings
51
51
  Requires-Dist: python-dateutil <3.0.0,>=2.8.2
52
52
  Requires-Dist: python-slugify <9.0,>=5.0
@@ -3,42 +3,43 @@ prefect/__init__.py,sha256=7U1KgTkcvbIuof0yse4_i181D98rih8y_SkZhPQStyA,2952
3
3
  prefect/_version.py,sha256=I9JsXwt7BjAAbMEZgtmE3a6dJ2jqV-wqWto9D6msb3k,24597
4
4
  prefect/artifacts.py,sha256=G-jCyce3XGtTyQpCk_s3L7e-TWFyJY8Dcnk_i4_CsY4,12647
5
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
6
+ prefect/context.py,sha256=1dGUGcVXbx6rd04cwtz7Oz1qVPCMlIrAkF-Xo5GtcVY,23196
7
+ prefect/engine.py,sha256=asH7iMb1IfEOOIVIxM3ZalfvCe9PUp7f9ceKyT6isa8,2019
8
+ prefect/exceptions.py,sha256=kRiEX6qpT9errs0SuYJDYG7ioMNddTvqK7gT8RVFajk,11076
9
+ prefect/filesystems.py,sha256=HrPoehZKpuVxzWDXaTiuJqgVCgxlQ4lyTEZKSYKiZUc,17169
10
+ prefect/flow_engine.py,sha256=4AekqZxCSrro_PL40jxdVELHby5YJ3QOaYbSFO0jjlI,23164
11
11
  prefect/flow_runs.py,sha256=7mHGjb3-6MfR4XKQjy9sJPS9dS0yTxVO6MYQ8YlGjGw,16071
12
- prefect/flows.py,sha256=wRK8Zb_i1LGdCnvKqZz-ia0ewjCFwNoz97oYU65QrhM,78690
12
+ prefect/flows.py,sha256=XT-RPAsY4twN5hQOoM_8AsB5zfI_pLVuq7KL46hPr1A,81075
13
13
  prefect/futures.py,sha256=-ElpB4lcjJxMS1Jl-iHnUEofpgoSs2xCtMgR3_F4bTE,9139
14
14
  prefect/manifests.py,sha256=477XcmfdC_yE81wT6zIAKnEUEJ0lH9ZLfOVSgX2FohE,676
15
- prefect/plugins.py,sha256=0C-D3-dKi06JZ44XEGmLjCiAkefbE_lKX-g3urzdbQ4,4163
15
+ prefect/plugins.py,sha256=-IqPJvQGoMZBioHCF0s1IDNHYA7OxIRaUlkaGM2CgLY,4164
16
16
  prefect/profiles.toml,sha256=Fs8hD_BdWHZgAijgk8pK_Zx-Pm-YFixqDIfEP6fM-qU,38
17
17
  prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- prefect/results.py,sha256=BeIOWNTzEgdOOkMZA4R3KcFpaknjbWQm-WEDTqbzBuU,25972
18
+ prefect/results.py,sha256=oFJkqoZKXTvTdfDCY9Lz1pnCiTK_fZ74BwzUshf_pBg,25161
19
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
20
+ prefect/settings.py,sha256=7SQtJWmHdJl5iA0EY-Q_FC3WZ9fCTwgnFT6N34p4STA,74607
21
+ prefect/states.py,sha256=GDpFM6UUMB5MkCDWyqo8F9ELnkskr1BTg4YdU_bnv7Q,20395
22
+ prefect/task_engine.py,sha256=LnHRiEZKjZjsSodnO2996OerVj-V-ozV0mAm3yDeF34,32179
23
+ prefect/task_runners.py,sha256=TQHyQATPkZE6BNVJ_JQBNmiL1kdgZRjY_Fjs3-N1UiE,11869
24
+ prefect/task_runs.py,sha256=oeH1JKeg214UMpdEUoX1SOq1C2raGVOW-VwZLltzkK8,7175
25
+ prefect/task_worker.py,sha256=Jw64k3Nigye3FgHvG4DM3z808YaTaLBneO4IB2wbBHc,13074
26
+ prefect/tasks.py,sha256=fntgTe9X_XX1-i7X3ch45QVyMz2zOVV1e4oz5sSRCg8,60189
27
+ prefect/transactions.py,sha256=gGf7La0AyhMZJoWIlmVxoHkFpcWb6roGrVf2DGlZfOE,9443
28
+ prefect/variables.py,sha256=-t5LVY0N-K4f0fa6YwruVVQqwnU3fGWBMYXXE32XPkA,4821
29
29
  prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  prefect/_internal/_logging.py,sha256=HvNHY-8P469o5u4LYEDBTem69XZEt1QUeUaLToijpak,810
31
- prefect/_internal/pytz.py,sha256=47Y28jKxUvgw7vaEvN-Xl0laiVdMLXC8IRUEk7oHz1Q,13749
31
+ prefect/_internal/pytz.py,sha256=WWl9x16rKFWequGmcOGs_ljpCDPf2LDHMyZp_4D8e6c,13748
32
32
  prefect/_internal/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  prefect/_internal/compatibility/deprecated.py,sha256=nqevphK00rakKgCfkbqBQ4NCktdb4338uuROjFcq6xA,7517
34
34
  prefect/_internal/compatibility/experimental.py,sha256=nrIeeAe1vZ0yMb1cPw5AroVR6_msx-bzTeBLzY4au6o,5634
35
- prefect/_internal/concurrency/__init__.py,sha256=ncKwi1NhE3umSFGSKRk9wEVKzN1z1ZD-fmY4EDZHH_U,2142
35
+ prefect/_internal/compatibility/migration.py,sha256=4JF2FW0Ols-HGclraqPRVmGvq5FPTbPIwxxPPuwxDs4,4756
36
+ prefect/_internal/concurrency/__init__.py,sha256=YlTwU9ryjPNwbJa45adLJY00t_DGCh1QrdtY9WdVFfw,2140
36
37
  prefect/_internal/concurrency/api.py,sha256=mE2IahRxGX1DgyxIryDXhF6gwhOJ-cdghsTjJtNil9U,7132
37
38
  prefect/_internal/concurrency/calls.py,sha256=UlNgzCoy3awKEPnMpexBSa1dk_2MNwCWoZ5YQODEmG4,15437
38
39
  prefect/_internal/concurrency/cancellation.py,sha256=D1B_I2cBSGPNXcLaXNaLN_9_QAgFjRmA540RcTmS0rA,18050
39
40
  prefect/_internal/concurrency/event_loop.py,sha256=1VBW862QZ6DV9dExWOT398A0fti4A7jW2kcY7Y5V-lI,2073
40
41
  prefect/_internal/concurrency/inspection.py,sha256=xfyUNr5CoES8LFhybi2DmzHeW4RpTAbrGPiZOYMVLbQ,3464
41
- prefect/_internal/concurrency/primitives.py,sha256=kxCPD9yLtCeqt-JIHjevL4Zt5FvrF_Bam-Ucf41FX6k,2608
42
+ prefect/_internal/concurrency/primitives.py,sha256=BQ0vObO7NUEq-IMbu5aTlfoZpWMbYwinzYP89GIyw68,2609
42
43
  prefect/_internal/concurrency/services.py,sha256=aggJd4IUSB6ufppRYdRT-36daEg1JSpJCvK635R8meg,11951
43
44
  prefect/_internal/concurrency/threads.py,sha256=90Wi00pTebfihiFgP-P71DeGTnhlJKctzP69mtjphKU,8860
44
45
  prefect/_internal/concurrency/waiters.py,sha256=X6xxsKcHB9ULnCkeUf0cLTI267kI_GC4k96XRuhPhnw,8790
@@ -48,7 +49,7 @@ prefect/_internal/pydantic/v1_schema.py,sha256=H8it3U5-8UoJnkUG3OSuDISZr8mz9gJni
48
49
  prefect/_internal/pydantic/v2_schema.py,sha256=FA20vh_a5-3TNvQgl11Pe77bsf0qVB6nrUz5Cro6jQ8,3617
49
50
  prefect/_internal/pydantic/v2_validated_func.py,sha256=WfEKOMb-tPYdc8o2QX5hDLJhUiykts4Dpwp07cr0Vbo,3476
50
51
  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/pydantic/annotations/pendulum.py,sha256=F0SMi6ZjxSfp_7rStK79t4gttjy2QNNQRIZxIBfRgSE,2623
52
53
  prefect/_internal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
54
  prefect/_internal/schemas/bases.py,sha256=KYT8v4UOIClOKoXLEHSzDI7jran35BHvRcYWueyMFYU,4098
54
55
  prefect/_internal/schemas/fields.py,sha256=m4LrFNz8rA9uBhMk9VyQT6FIXmV_EVAW92hdXeSvHbY,837
@@ -56,7 +57,7 @@ prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1
56
57
  prefect/_internal/schemas/validators.py,sha256=McSijrOcrqQpE-fvp4WRMoxsVn5fWIyBIXdYys1YRhk,29690
57
58
  prefect/blocks/__init__.py,sha256=BUfh6gIwA6HEjRyVCAiv0he3M1zfM-oY-JrlBfeWeY8,182
58
59
  prefect/blocks/abstract.py,sha256=YLzCaf3yXv6wFCF5ZqCIHJNwH7fME1rLxC-SijARHzk,16319
59
- prefect/blocks/core.py,sha256=AavpIpQx6znhomFYS751hY8HjjrAM0Ug3SwNRELpjGA,46657
60
+ prefect/blocks/core.py,sha256=cgkPF1rpNl_4Asekh2RJ0RiMmjqtuQEbp52BDXgxdbY,46657
60
61
  prefect/blocks/fields.py,sha256=1m507VVmkpOnMF_7N-qboRjtw4_ceIuDneX3jZ3Jm54,63
61
62
  prefect/blocks/kubernetes.py,sha256=1AHzcI2hPeu5zOEKLC4FBjjv8VdZ8ianuv6oVEh4ou8,4016
62
63
  prefect/blocks/notifications.py,sha256=QV2ndeiERBbL9vNW2zR1LzH86llDY1sJVh2DN0sh1eo,28198
@@ -68,13 +69,13 @@ prefect/client/base.py,sha256=laxz64IEhbetMIcRh67_YDYd5ThCmUK9fgUgco8WyXQ,24647
68
69
  prefect/client/cloud.py,sha256=5T84QP9IRa_cqL7rmY3lR1wxFW6C41PajFZgelurhK0,4124
69
70
  prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
70
71
  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
72
+ prefect/client/orchestration.py,sha256=0wK6LEWgKgsrgy6kF654EiweorId8nmX5nzXp-BtSgU,142641
73
+ prefect/client/subscriptions.py,sha256=LGMxFO20fp4gRgGTIq62HZemTgVNHHSHzbpPn6syw0U,3374
73
74
  prefect/client/utilities.py,sha256=Ni1DsFDhnvxpXWerlvZpK8tCg-uZ8UyZwOmDTKEb1DI,3269
74
75
  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
76
+ prefect/client/schemas/actions.py,sha256=t-JJCikwa_ZrTPu7VJDwkLQ2fgNQuYHUwAi_3PHpwoU,28113
77
+ prefect/client/schemas/filters.py,sha256=HyIYZQowhkHa_D6syj83zUp5uFEzA8UADLaS9mt1MTo,35305
78
+ prefect/client/schemas/objects.py,sha256=htwlQ1CYcouNPWENVLyWyWSGRfjNXRIxvuYG_nKcnlE,53308
78
79
  prefect/client/schemas/responses.py,sha256=YnofjvPxaDE0kPw7SLfK5TuZSJ0IlqP2G17rQgz_buk,15135
79
80
  prefect/client/schemas/schedules.py,sha256=EIvVQN01ZnLf6Yu-3_Ar1iHybDwJ6C767AAnqMhVxWo,12846
80
81
  prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
@@ -83,24 +84,25 @@ prefect/concurrency/asyncio.py,sha256=P9e69XYik9QBSlUYyq1OcyqyUJaFjvW8jm6nfMkZ7u
83
84
  prefect/concurrency/events.py,sha256=rQLSBwcYCzvdKTXr7bLjgMIklllObxB33MAL6dylXAM,1802
84
85
  prefect/concurrency/services.py,sha256=JP74IUjdoDoljy-BdZQTa1IOEuSZZxMgsMyr7KJAYS0,2598
85
86
  prefect/concurrency/sync.py,sha256=gXyiiA0bul7jjpHWPm6su8pFdBiMOekhu9FHnjiPWBQ,3339
86
- prefect/deployments/__init__.py,sha256=UoP8mn3Drz65sK2FVZJxyGJR5zhsYQD5BRX3LlaAxdI,317
87
- prefect/deployments/base.py,sha256=DJJJCDjrXLnhtMDrz1ZpH9R1rNhhW-qxDc1Q7MVGIkA,16561
87
+ prefect/deployments/__init__.py,sha256=9MnrUjil46PHWq-ni-3BLmgyJWAzlzORF5XZA-KdhYc,432
88
+ prefect/deployments/base.py,sha256=j2VUHkghXCqbfYJD8Joeh12Ejh4KCzr2DgVPRpDpbLw,16600
89
+ prefect/deployments/deployments.py,sha256=EvC9qBdvJRc8CHJqRjFTqtzx75SE8bpZOl5C-2eULyA,109
88
90
  prefect/deployments/flow_runs.py,sha256=eatcBD7pg-aaEqs9JxQQcKN_flf614O4gAvedAlRyNo,6803
89
91
  prefect/deployments/runner.py,sha256=5f3pFGxw_DOA9k169KFIzILTZ_TkKIWI9DLhl1iK1Ck,44716
90
92
  prefect/deployments/schedules.py,sha256=c8ONC9t_buAWVxfcWAQEGhuIkU5rAjetuvU87PLJx48,2031
91
93
  prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
92
94
  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/deployments/steps/pull.py,sha256=ylp3fd72hEfmY67LQs7sMwdcK6KKobsTZOeay-YUl8Q,7125
96
+ prefect/deployments/steps/utility.py,sha256=s5mMBmHVCS1ZRBRUCunwPueU_7Dii_GK6CqCoznwUCc,8134
95
97
  prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
96
98
  prefect/events/actions.py,sha256=4kBV2NwFlC6oXVeMp9Qb2HMNqv1IZ7FcOqeXz1zlRf0,8983
97
- prefect/events/clients.py,sha256=4EKwu_TLx2nVaUu30g62uGJ_rsdzmQ4IjON5C_0fydk,19625
99
+ prefect/events/clients.py,sha256=nDP8AQCoPNOfRPgS9QbEvdpx0wKyE4_4gwxQEtsnuUA,19860
98
100
  prefect/events/filters.py,sha256=IJ1TF-TCC7Wk2nJsbYW-HyAANToDQ6z1MdD63qE-lfw,8186
99
101
  prefect/events/related.py,sha256=1rUnQ7tg_UtNfSAkKdRo-rD2W93EKKB9xafPxyusFj8,6841
100
102
  prefect/events/utilities.py,sha256=gia_jGwxykxRTzS6FAp-gVEP9d7gH8S_hTd3-RQNJVQ,2627
101
103
  prefect/events/worker.py,sha256=UGwqnoOHmtvAh_Y9yJlEB6RfKmYRu4Xsc5l9LolHV_0,3434
102
104
  prefect/events/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
- prefect/events/cli/automations.py,sha256=XK0Uad87-3iECnIcQphrUG0wSwtqQVZsEyEkKRkOJkA,11440
105
+ prefect/events/cli/automations.py,sha256=WIZ3-EcDibjQB5BrMEx7OZ7UfOqP8VjCI1dNh64Nmg0,11425
104
106
  prefect/events/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
107
  prefect/events/schemas/automations.py,sha256=hZ7lbkJEhpHmyd118k_O7kl_i_lEnDifwsn2ZHyn8Po,14380
106
108
  prefect/events/schemas/deployment_triggers.py,sha256=i_BtKscXU9kOHAeqmxrYQr8itEYfuPIxAnCW3fo1YeE,3114
@@ -109,71 +111,72 @@ prefect/events/schemas/labelling.py,sha256=bU-XYaHXhI2MEBIHngth96R9D02m8HHb85KNc
109
111
  prefect/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
112
  prefect/infrastructure/provisioners/__init__.py,sha256=wn240gHrQbien2g_g2A8Ujb2iFyjmDgMHLQ7tgQngf4,1706
111
113
  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/container_instance.py,sha256=-PNd-A088SnEDhj3m7foSE9iBsmVqoHUEmtT26XtJt8,41294
115
+ prefect/infrastructure/provisioners/ecs.py,sha256=PVH3ByIqm0aoJ39nDpW1LsSsi7rcERFBdqO16KxIUic,47736
114
116
  prefect/infrastructure/provisioners/modal.py,sha256=4-VanBPqWlAj_5ckpXT7NonbqP0YwznTXFa4P8cthIs,9080
115
- prefect/input/__init__.py,sha256=TPJ9UfG9_SiBze23sQwU1MnWI8AgyEMNihotgTebFQ0,627
117
+ prefect/input/__init__.py,sha256=Ue2h-YhYP71nEtsVJaslqMwO6C0ckjhjTYwwEgp-E3g,701
116
118
  prefect/input/actions.py,sha256=IGdWjVcesnRjLmPCzB4ZM7FkRWXDKCku6yhE-7p0vKk,3777
117
119
  prefect/input/run_input.py,sha256=2wG-0L3N0spwh61Z3xI0PM8AAjHEIQZcDN703Er_gLo,18728
118
120
  prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
119
121
  prefect/logging/configuration.py,sha256=bYqFJm0QgLz92Dub1Lbl3JONjjm0lTK149pNAGbxPdM,3467
120
122
  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/formatters.py,sha256=3nBWgawvD48slT0zgkKeus1gIyf0OjmDKdLwMEe5mPU,3923
124
+ prefect/logging/handlers.py,sha256=eIf-0LFH8XUu8Ybnc3LXoocSsa8M8EdAIwbPTVFzZjI,10425
123
125
  prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rgok,1681
124
- prefect/logging/loggers.py,sha256=pWxp2SLiyYTD4Dpxqi7tsdlThhdpmdorPAL8wKM2MBM,11517
126
+ prefect/logging/loggers.py,sha256=qWM-5IxN3U5MlK7srfALOC9sCpGqt20Vu9WSxpU2zIs,11527
125
127
  prefect/logging/logging.yml,sha256=UkEewf0c3_dURI2uCU4RrxkhI5Devoa1s93fl7hilcg,3160
126
128
  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/cache_policies.py,sha256=2R6tQioujG2qr5rQgg7kPK-SLMM1lUHplEKcOfJbrh0,4761
130
+ prefect/records/result_store.py,sha256=pyhMr5OKto1NhWuVrEVBd6-Z4Dc0N0xdYApwDAQL8IM,1557
129
131
  prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
130
132
  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/runner.py,sha256=7WhYpDXQwtO4XyfLKNk27QuFXnrLKD4rJPiSfUab6OI,45098
134
+ prefect/runner/server.py,sha256=UN44qjP1SjuA5OCp5PoPhRAfKXMVGEm9E2b-bWB-suk,10519
133
135
  prefect/runner/storage.py,sha256=nuzkEjmAZYAjCEpXhuuZSGJAqBARICIBmDQNqDgI4yk,22316
134
136
  prefect/runner/submit.py,sha256=EpgYNR-tAub0VFVTIkijp8qwHcS1iojLAZN5NM0X39s,8552
135
137
  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
138
+ prefect/runtime/__init__.py,sha256=JswiTlYRup2zXOYu8AqJ7czKtgcw9Kxo0tTbS6aWCqY,407
139
+ prefect/runtime/deployment.py,sha256=Kah8Xdh5f94-CEAXjBgnEB4xAQXXYPaEqDJ_gTqltIY,4752
140
+ prefect/runtime/flow_run.py,sha256=Fxbyc4r3kPj2m3AIJT8gud2PB5w9aKTwkI-g4dysikE,8445
141
+ prefect/runtime/task_run.py,sha256=B6v_nZiHy9nKZfnKFQF7izZjAjaiZOT0j80m-VcLxmY,3403
140
142
  prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
141
143
  prefect/server/api/static/prefect-logo-mark-gradient.png,sha256=ylRjJkI_JHCw8VbQasNnXQHwZW-sH-IQiUGSD3aWP1E,73430
142
- prefect/types/__init__.py,sha256=FmTJx5Uh89Pv6ssgcyUiA4p1zxPMHrUdQ7gfXqmypqw,2161
144
+ prefect/types/__init__.py,sha256=SsjNhBX_O-z8gqtCm-ettrg481gqz1qVZUoxAY9fhrM,2169
143
145
  prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
146
  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/asyncutils.py,sha256=GRDiA3S9vGRpM3aKSq6iZnNP9XNBcfUg0NBwbjUFeAw,19200
148
+ prefect/utilities/callables.py,sha256=rkPPzwiVFRoVszSUq612s9S0v3nxcMC-rIwfXoJTn0E,24915
147
149
  prefect/utilities/collections.py,sha256=9vUZA8j_NAOcsRZ45UWGYpO1EuUErcpcPTyZap5q28I,14883
148
150
  prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
149
151
  prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
150
152
  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
153
+ prefect/utilities/dockerutils.py,sha256=b3_kzba6kXRtzQNcgyigrY4N4LuH_jr6J_L2kOD9lHU,20310
154
+ prefect/utilities/engine.py,sha256=E5WSLg9XsvkEN56M8Q5Wl4k0INUpaqmvdToQPFjYWNo,30160
155
+ prefect/utilities/filesystem.py,sha256=frAyy6qOeYa7c-jVbEUGZQEe6J1yF8I_SvUepPd59gI,4415
154
156
  prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
155
- prefect/utilities/importtools.py,sha256=u-b5Hpuh7YBnLEjWfVPoppxpKEBmYszEQ6oMkrr-Ff8,14471
157
+ prefect/utilities/importtools.py,sha256=-7-ROjtL6ZHLIrGll05h0c9Vv0L70XH8U9BQgeAPWAU,15411
156
158
  prefect/utilities/math.py,sha256=wLwcKVidpNeWQi1TUIWWLHGjlz9UgboX9FUGhx_CQzo,2821
157
159
  prefect/utilities/names.py,sha256=x-stHcF7_tebJPvB1dz-5FvdXJXNBTg2kFZXSnIBBmk,1657
158
160
  prefect/utilities/processutils.py,sha256=yo_GO48pZzgn4A0IK5irTAoqyUCYvWKDSqHXCrtP8c4,14547
159
161
  prefect/utilities/pydantic.py,sha256=YEY7hp5ptaYqOzsZJC4dXf9d2g37aOdepoH8FBPg7uw,12394
160
162
  prefect/utilities/render_swagger.py,sha256=h2UrORVN3f7gM4zurtMnySjQXZIOWbji3uMinpbkl8U,3717
161
- prefect/utilities/services.py,sha256=u0Gpdw5pYceaSLCqOihGyFb2AlMBYE2P9Ts9qRb3N9Q,6584
163
+ prefect/utilities/services.py,sha256=WoYOkWFnuW0K5I2RPx2g7F7WhuVgz39zWK9xkgiSHC8,6604
162
164
  prefect/utilities/slugify.py,sha256=57Vb14t13F3zm1P65KAu8nVeAz0iJCd1Qc5eMG-R5y8,169
163
165
  prefect/utilities/templating.py,sha256=nAiOGMMHGbIDFkGYy-g-dzcbY311WfycdgAhsM3cLpY,13298
164
166
  prefect/utilities/text.py,sha256=eXGIsCcZ7h_6hy8T5GDQjL8GiKyktoOqavYub0QjgO4,445
165
167
  prefect/utilities/timeout.py,sha256=nxmuPxROIT-i8gPffpARuxnxu58H0vkmbjTVIgef0_0,805
166
- prefect/utilities/visualization.py,sha256=9Pc8ImgnBpnszWTFxYm42cmtHjNEAsGZ8ugkn8w_dJk,6501
168
+ prefect/utilities/urls.py,sha256=Qw6IlI7CKAlA3t2Ii-b09fXRJTaHuqLFNM2KVhI_yQI,6400
169
+ prefect/utilities/visualization.py,sha256=Lum4IvLQ0nHsdLt6GGzS3Wwo-828u1rmOKc5mmWu994,6502
167
170
  prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQPxbx-m6YQhiNEI,322
168
171
  prefect/utilities/schema_tools/hydration.py,sha256=Nitnmr35Mcn5z9NXIvh9DuZW5nCZxpjyMc9RFawMsgs,8376
169
172
  prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
170
173
  prefect/workers/__init__.py,sha256=8dP8SLZbWYyC_l9DRTQSE3dEbDgns5DZDhxkp_NfsbQ,35
171
- prefect/workers/base.py,sha256=e5KUgepv9MtPk_9L-Ipg35AOumuGErQhfNHFi5OiBEM,45622
174
+ prefect/workers/base.py,sha256=62E0Q41pPr3eQdSBSUBfiR4WYx01OfuqUp5INRqHGgo,46942
172
175
  prefect/workers/process.py,sha256=vylkSSswaSCew-V65YW0HcxIxyKI-uqWkbSKpkkLamQ,9372
173
176
  prefect/workers/server.py,sha256=EfPiMxI7TVgkqpHkdPwSaYG-ydi99sG7jwXhkAcACbI,1519
174
177
  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,,
178
+ prefect_client-3.0.0rc3.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
179
+ prefect_client-3.0.0rc3.dist-info/METADATA,sha256=S_JWxgOm7Nj3tN3KKouc_NzXeAMLWBZMyYW6BqZwfFo,7397
180
+ prefect_client-3.0.0rc3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
181
+ prefect_client-3.0.0rc3.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
182
+ prefect_client-3.0.0rc3.dist-info/RECORD,,