prefect-client 3.0.0rc2__py3-none-any.whl → 3.0.0rc4__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 (69) hide show
  1. prefect/__init__.py +0 -1
  2. prefect/_internal/compatibility/migration.py +124 -0
  3. prefect/_internal/concurrency/__init__.py +2 -2
  4. prefect/_internal/concurrency/primitives.py +1 -0
  5. prefect/_internal/pydantic/annotations/pendulum.py +2 -2
  6. prefect/_internal/pytz.py +1 -1
  7. prefect/blocks/core.py +1 -1
  8. prefect/client/orchestration.py +96 -22
  9. prefect/client/schemas/actions.py +1 -1
  10. prefect/client/schemas/filters.py +6 -0
  11. prefect/client/schemas/objects.py +10 -3
  12. prefect/client/subscriptions.py +6 -5
  13. prefect/context.py +1 -27
  14. prefect/deployments/__init__.py +3 -0
  15. prefect/deployments/base.py +4 -2
  16. prefect/deployments/deployments.py +3 -0
  17. prefect/deployments/steps/pull.py +1 -0
  18. prefect/deployments/steps/utility.py +2 -1
  19. prefect/engine.py +3 -0
  20. prefect/events/cli/automations.py +1 -1
  21. prefect/events/clients.py +7 -1
  22. prefect/exceptions.py +9 -0
  23. prefect/filesystems.py +22 -11
  24. prefect/flow_engine.py +195 -153
  25. prefect/flows.py +95 -36
  26. prefect/futures.py +9 -1
  27. prefect/infrastructure/provisioners/container_instance.py +1 -0
  28. prefect/infrastructure/provisioners/ecs.py +2 -2
  29. prefect/input/__init__.py +4 -0
  30. prefect/logging/formatters.py +2 -2
  31. prefect/logging/handlers.py +2 -2
  32. prefect/logging/loggers.py +1 -1
  33. prefect/plugins.py +1 -0
  34. prefect/records/cache_policies.py +3 -3
  35. prefect/records/result_store.py +10 -3
  36. prefect/results.py +47 -73
  37. prefect/runner/runner.py +1 -1
  38. prefect/runner/server.py +1 -1
  39. prefect/runtime/__init__.py +1 -0
  40. prefect/runtime/deployment.py +1 -0
  41. prefect/runtime/flow_run.py +1 -0
  42. prefect/runtime/task_run.py +1 -0
  43. prefect/settings.py +16 -3
  44. prefect/states.py +15 -4
  45. prefect/task_engine.py +195 -39
  46. prefect/task_runners.py +9 -3
  47. prefect/task_runs.py +26 -12
  48. prefect/task_worker.py +149 -20
  49. prefect/tasks.py +153 -71
  50. prefect/transactions.py +85 -15
  51. prefect/types/__init__.py +10 -3
  52. prefect/utilities/asyncutils.py +3 -3
  53. prefect/utilities/callables.py +16 -4
  54. prefect/utilities/collections.py +120 -57
  55. prefect/utilities/dockerutils.py +5 -3
  56. prefect/utilities/engine.py +11 -0
  57. prefect/utilities/filesystem.py +4 -5
  58. prefect/utilities/importtools.py +29 -0
  59. prefect/utilities/services.py +2 -2
  60. prefect/utilities/urls.py +195 -0
  61. prefect/utilities/visualization.py +1 -0
  62. prefect/variables.py +4 -0
  63. prefect/workers/base.py +35 -0
  64. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/METADATA +2 -2
  65. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/RECORD +68 -66
  66. prefect/blocks/kubernetes.py +0 -115
  67. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/LICENSE +0 -0
  68. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/WHEEL +0 -0
  69. {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.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.debug(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.debug("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.debug("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.debug(
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.debug(
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.0rc4
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 <3.0.0,>=2.8.2
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
@@ -1,44 +1,45 @@
1
1
  prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
2
- prefect/__init__.py,sha256=7U1KgTkcvbIuof0yse4_i181D98rih8y_SkZhPQStyA,2952
2
+ prefect/__init__.py,sha256=YdjT2cx1P0UBRlc6qUXxZrY1DB39YNPbJHqNvLr8wds,2919
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=0Or0YtZcGVM4zYZtFWYB3qhUjzOP1ZI9KRqdqj-wEiY,26301
11
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
12
+ prefect/flows.py,sha256=aHr_PLR_bmFUO09hMUC0J5LapJya3zppZXsMC95uBxo,81466
13
+ prefect/futures.py,sha256=I4yyicBo_kUxzzOV1mrSWqjvRzFm_8CD-JQf0Gchbos,9452
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=r9yPpvQcvKlnaoXvJfWPj8nbJZ9QiiyKDxtKRS-PxKQ,25061
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=JkCgcFO7Zw0Kv_azK9XLabx08ypVgL76E6r8nD-HZLM,74598
21
+ prefect/states.py,sha256=GDpFM6UUMB5MkCDWyqo8F9ELnkskr1BTg4YdU_bnv7Q,20395
22
+ prefect/task_engine.py,sha256=cd68Rdy9Ihb0x1ngBcJ_eSH9E1BCUkoDHuesqfmlNjQ,32219
23
+ prefect/task_runners.py,sha256=TQHyQATPkZE6BNVJ_JQBNmiL1kdgZRjY_Fjs3-N1UiE,11869
24
+ prefect/task_runs.py,sha256=eDWYH5H1K4SyduhKmn3GzO6vM3fZSwOZxAb8KhkMGsk,7798
25
+ prefect/task_worker.py,sha256=iawQZn4hNcrXR-CHtM4jzhlnotqeNHiRuHc-eumJ9Oc,16788
26
+ prefect/tasks.py,sha256=adECMEbsP32KPYzrSasBtfhdFs-gHUxCnS6PXxVsCek,60312
27
+ prefect/transactions.py,sha256=FwCrZfq3zVSiqgpNYNkAm1ihjFFauDAvzPYf-J5z26s,9151
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,9 +57,8 @@ 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
- prefect/blocks/kubernetes.py,sha256=1AHzcI2hPeu5zOEKLC4FBjjv8VdZ8ianuv6oVEh4ou8,4016
62
62
  prefect/blocks/notifications.py,sha256=QV2ndeiERBbL9vNW2zR1LzH86llDY1sJVh2DN0sh1eo,28198
63
63
  prefect/blocks/redis.py,sha256=GUKYyx2QLtyNvgf5FT_dJxbgQcOzWCja3I23J1-AXhM,5629
64
64
  prefect/blocks/system.py,sha256=tkONKzDlaQgR6NtWXON0ZQm7nGuFKt0_Du3sj8ubs-M,3605
@@ -68,13 +68,13 @@ prefect/client/base.py,sha256=laxz64IEhbetMIcRh67_YDYd5ThCmUK9fgUgco8WyXQ,24647
68
68
  prefect/client/cloud.py,sha256=5T84QP9IRa_cqL7rmY3lR1wxFW6C41PajFZgelurhK0,4124
69
69
  prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
70
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
71
+ prefect/client/orchestration.py,sha256=0wK6LEWgKgsrgy6kF654EiweorId8nmX5nzXp-BtSgU,142641
72
+ prefect/client/subscriptions.py,sha256=J9uK9NGHO4VX4Y3NGgBJ4pIG_0cf-dJWPhF3f3PGYL4,3388
73
73
  prefect/client/utilities.py,sha256=Ni1DsFDhnvxpXWerlvZpK8tCg-uZ8UyZwOmDTKEb1DI,3269
74
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
75
+ prefect/client/schemas/actions.py,sha256=t-JJCikwa_ZrTPu7VJDwkLQ2fgNQuYHUwAi_3PHpwoU,28113
76
+ prefect/client/schemas/filters.py,sha256=HyIYZQowhkHa_D6syj83zUp5uFEzA8UADLaS9mt1MTo,35305
77
+ prefect/client/schemas/objects.py,sha256=htwlQ1CYcouNPWENVLyWyWSGRfjNXRIxvuYG_nKcnlE,53308
78
78
  prefect/client/schemas/responses.py,sha256=YnofjvPxaDE0kPw7SLfK5TuZSJ0IlqP2G17rQgz_buk,15135
79
79
  prefect/client/schemas/schedules.py,sha256=EIvVQN01ZnLf6Yu-3_Ar1iHybDwJ6C767AAnqMhVxWo,12846
80
80
  prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
@@ -83,24 +83,25 @@ prefect/concurrency/asyncio.py,sha256=P9e69XYik9QBSlUYyq1OcyqyUJaFjvW8jm6nfMkZ7u
83
83
  prefect/concurrency/events.py,sha256=rQLSBwcYCzvdKTXr7bLjgMIklllObxB33MAL6dylXAM,1802
84
84
  prefect/concurrency/services.py,sha256=JP74IUjdoDoljy-BdZQTa1IOEuSZZxMgsMyr7KJAYS0,2598
85
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
86
+ prefect/deployments/__init__.py,sha256=9MnrUjil46PHWq-ni-3BLmgyJWAzlzORF5XZA-KdhYc,432
87
+ prefect/deployments/base.py,sha256=j2VUHkghXCqbfYJD8Joeh12Ejh4KCzr2DgVPRpDpbLw,16600
88
+ prefect/deployments/deployments.py,sha256=EvC9qBdvJRc8CHJqRjFTqtzx75SE8bpZOl5C-2eULyA,109
88
89
  prefect/deployments/flow_runs.py,sha256=eatcBD7pg-aaEqs9JxQQcKN_flf614O4gAvedAlRyNo,6803
89
90
  prefect/deployments/runner.py,sha256=5f3pFGxw_DOA9k169KFIzILTZ_TkKIWI9DLhl1iK1Ck,44716
90
91
  prefect/deployments/schedules.py,sha256=c8ONC9t_buAWVxfcWAQEGhuIkU5rAjetuvU87PLJx48,2031
91
92
  prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
92
93
  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
94
+ prefect/deployments/steps/pull.py,sha256=ylp3fd72hEfmY67LQs7sMwdcK6KKobsTZOeay-YUl8Q,7125
95
+ prefect/deployments/steps/utility.py,sha256=s5mMBmHVCS1ZRBRUCunwPueU_7Dii_GK6CqCoznwUCc,8134
95
96
  prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
96
97
  prefect/events/actions.py,sha256=4kBV2NwFlC6oXVeMp9Qb2HMNqv1IZ7FcOqeXz1zlRf0,8983
97
- prefect/events/clients.py,sha256=4EKwu_TLx2nVaUu30g62uGJ_rsdzmQ4IjON5C_0fydk,19625
98
+ prefect/events/clients.py,sha256=nDP8AQCoPNOfRPgS9QbEvdpx0wKyE4_4gwxQEtsnuUA,19860
98
99
  prefect/events/filters.py,sha256=IJ1TF-TCC7Wk2nJsbYW-HyAANToDQ6z1MdD63qE-lfw,8186
99
100
  prefect/events/related.py,sha256=1rUnQ7tg_UtNfSAkKdRo-rD2W93EKKB9xafPxyusFj8,6841
100
101
  prefect/events/utilities.py,sha256=gia_jGwxykxRTzS6FAp-gVEP9d7gH8S_hTd3-RQNJVQ,2627
101
102
  prefect/events/worker.py,sha256=UGwqnoOHmtvAh_Y9yJlEB6RfKmYRu4Xsc5l9LolHV_0,3434
102
103
  prefect/events/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
- prefect/events/cli/automations.py,sha256=XK0Uad87-3iECnIcQphrUG0wSwtqQVZsEyEkKRkOJkA,11440
104
+ prefect/events/cli/automations.py,sha256=WIZ3-EcDibjQB5BrMEx7OZ7UfOqP8VjCI1dNh64Nmg0,11425
104
105
  prefect/events/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
106
  prefect/events/schemas/automations.py,sha256=hZ7lbkJEhpHmyd118k_O7kl_i_lEnDifwsn2ZHyn8Po,14380
106
107
  prefect/events/schemas/deployment_triggers.py,sha256=i_BtKscXU9kOHAeqmxrYQr8itEYfuPIxAnCW3fo1YeE,3114
@@ -109,71 +110,72 @@ prefect/events/schemas/labelling.py,sha256=bU-XYaHXhI2MEBIHngth96R9D02m8HHb85KNc
109
110
  prefect/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
111
  prefect/infrastructure/provisioners/__init__.py,sha256=wn240gHrQbien2g_g2A8Ujb2iFyjmDgMHLQ7tgQngf4,1706
111
112
  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
113
+ prefect/infrastructure/provisioners/container_instance.py,sha256=-PNd-A088SnEDhj3m7foSE9iBsmVqoHUEmtT26XtJt8,41294
114
+ prefect/infrastructure/provisioners/ecs.py,sha256=PVH3ByIqm0aoJ39nDpW1LsSsi7rcERFBdqO16KxIUic,47736
114
115
  prefect/infrastructure/provisioners/modal.py,sha256=4-VanBPqWlAj_5ckpXT7NonbqP0YwznTXFa4P8cthIs,9080
115
- prefect/input/__init__.py,sha256=TPJ9UfG9_SiBze23sQwU1MnWI8AgyEMNihotgTebFQ0,627
116
+ prefect/input/__init__.py,sha256=Ue2h-YhYP71nEtsVJaslqMwO6C0ckjhjTYwwEgp-E3g,701
116
117
  prefect/input/actions.py,sha256=IGdWjVcesnRjLmPCzB4ZM7FkRWXDKCku6yhE-7p0vKk,3777
117
118
  prefect/input/run_input.py,sha256=2wG-0L3N0spwh61Z3xI0PM8AAjHEIQZcDN703Er_gLo,18728
118
119
  prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
119
120
  prefect/logging/configuration.py,sha256=bYqFJm0QgLz92Dub1Lbl3JONjjm0lTK149pNAGbxPdM,3467
120
121
  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
122
+ prefect/logging/formatters.py,sha256=3nBWgawvD48slT0zgkKeus1gIyf0OjmDKdLwMEe5mPU,3923
123
+ prefect/logging/handlers.py,sha256=eIf-0LFH8XUu8Ybnc3LXoocSsa8M8EdAIwbPTVFzZjI,10425
123
124
  prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rgok,1681
124
- prefect/logging/loggers.py,sha256=pWxp2SLiyYTD4Dpxqi7tsdlThhdpmdorPAL8wKM2MBM,11517
125
+ prefect/logging/loggers.py,sha256=qWM-5IxN3U5MlK7srfALOC9sCpGqt20Vu9WSxpU2zIs,11527
125
126
  prefect/logging/logging.yml,sha256=UkEewf0c3_dURI2uCU4RrxkhI5Devoa1s93fl7hilcg,3160
126
127
  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
128
+ prefect/records/cache_policies.py,sha256=2R6tQioujG2qr5rQgg7kPK-SLMM1lUHplEKcOfJbrh0,4761
129
+ prefect/records/result_store.py,sha256=pyhMr5OKto1NhWuVrEVBd6-Z4Dc0N0xdYApwDAQL8IM,1557
129
130
  prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
130
131
  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
132
+ prefect/runner/runner.py,sha256=7WhYpDXQwtO4XyfLKNk27QuFXnrLKD4rJPiSfUab6OI,45098
133
+ prefect/runner/server.py,sha256=UN44qjP1SjuA5OCp5PoPhRAfKXMVGEm9E2b-bWB-suk,10519
133
134
  prefect/runner/storage.py,sha256=nuzkEjmAZYAjCEpXhuuZSGJAqBARICIBmDQNqDgI4yk,22316
134
135
  prefect/runner/submit.py,sha256=EpgYNR-tAub0VFVTIkijp8qwHcS1iojLAZN5NM0X39s,8552
135
136
  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
137
+ prefect/runtime/__init__.py,sha256=JswiTlYRup2zXOYu8AqJ7czKtgcw9Kxo0tTbS6aWCqY,407
138
+ prefect/runtime/deployment.py,sha256=Kah8Xdh5f94-CEAXjBgnEB4xAQXXYPaEqDJ_gTqltIY,4752
139
+ prefect/runtime/flow_run.py,sha256=Fxbyc4r3kPj2m3AIJT8gud2PB5w9aKTwkI-g4dysikE,8445
140
+ prefect/runtime/task_run.py,sha256=B6v_nZiHy9nKZfnKFQF7izZjAjaiZOT0j80m-VcLxmY,3403
140
141
  prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
141
142
  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/types/__init__.py,sha256=SAHJDtWEGidTKXQACJ38nj6fq8r57Gj0Pwo4Gy7pVWs,2234
143
144
  prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
145
  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
146
+ prefect/utilities/asyncutils.py,sha256=GRDiA3S9vGRpM3aKSq6iZnNP9XNBcfUg0NBwbjUFeAw,19200
147
+ prefect/utilities/callables.py,sha256=rkPPzwiVFRoVszSUq612s9S0v3nxcMC-rIwfXoJTn0E,24915
148
+ prefect/utilities/collections.py,sha256=2W7cgdB_c_LGMbHPmFSKJbwue_Ai8h5CukSmFoZ8svE,17248
148
149
  prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
149
150
  prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
150
151
  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
152
+ prefect/utilities/dockerutils.py,sha256=b3_kzba6kXRtzQNcgyigrY4N4LuH_jr6J_L2kOD9lHU,20310
153
+ prefect/utilities/engine.py,sha256=E5WSLg9XsvkEN56M8Q5Wl4k0INUpaqmvdToQPFjYWNo,30160
154
+ prefect/utilities/filesystem.py,sha256=frAyy6qOeYa7c-jVbEUGZQEe6J1yF8I_SvUepPd59gI,4415
154
155
  prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
155
- prefect/utilities/importtools.py,sha256=u-b5Hpuh7YBnLEjWfVPoppxpKEBmYszEQ6oMkrr-Ff8,14471
156
+ prefect/utilities/importtools.py,sha256=-7-ROjtL6ZHLIrGll05h0c9Vv0L70XH8U9BQgeAPWAU,15411
156
157
  prefect/utilities/math.py,sha256=wLwcKVidpNeWQi1TUIWWLHGjlz9UgboX9FUGhx_CQzo,2821
157
158
  prefect/utilities/names.py,sha256=x-stHcF7_tebJPvB1dz-5FvdXJXNBTg2kFZXSnIBBmk,1657
158
159
  prefect/utilities/processutils.py,sha256=yo_GO48pZzgn4A0IK5irTAoqyUCYvWKDSqHXCrtP8c4,14547
159
160
  prefect/utilities/pydantic.py,sha256=YEY7hp5ptaYqOzsZJC4dXf9d2g37aOdepoH8FBPg7uw,12394
160
161
  prefect/utilities/render_swagger.py,sha256=h2UrORVN3f7gM4zurtMnySjQXZIOWbji3uMinpbkl8U,3717
161
- prefect/utilities/services.py,sha256=u0Gpdw5pYceaSLCqOihGyFb2AlMBYE2P9Ts9qRb3N9Q,6584
162
+ prefect/utilities/services.py,sha256=WoYOkWFnuW0K5I2RPx2g7F7WhuVgz39zWK9xkgiSHC8,6604
162
163
  prefect/utilities/slugify.py,sha256=57Vb14t13F3zm1P65KAu8nVeAz0iJCd1Qc5eMG-R5y8,169
163
164
  prefect/utilities/templating.py,sha256=nAiOGMMHGbIDFkGYy-g-dzcbY311WfycdgAhsM3cLpY,13298
164
165
  prefect/utilities/text.py,sha256=eXGIsCcZ7h_6hy8T5GDQjL8GiKyktoOqavYub0QjgO4,445
165
166
  prefect/utilities/timeout.py,sha256=nxmuPxROIT-i8gPffpARuxnxu58H0vkmbjTVIgef0_0,805
166
- prefect/utilities/visualization.py,sha256=9Pc8ImgnBpnszWTFxYm42cmtHjNEAsGZ8ugkn8w_dJk,6501
167
+ prefect/utilities/urls.py,sha256=GuiV3mk-XfzXx139ySyNQNbNaolA3T-hUZvW3T_PhXU,6396
168
+ prefect/utilities/visualization.py,sha256=Lum4IvLQ0nHsdLt6GGzS3Wwo-828u1rmOKc5mmWu994,6502
167
169
  prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQPxbx-m6YQhiNEI,322
168
170
  prefect/utilities/schema_tools/hydration.py,sha256=Nitnmr35Mcn5z9NXIvh9DuZW5nCZxpjyMc9RFawMsgs,8376
169
171
  prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
170
172
  prefect/workers/__init__.py,sha256=8dP8SLZbWYyC_l9DRTQSE3dEbDgns5DZDhxkp_NfsbQ,35
171
- prefect/workers/base.py,sha256=e5KUgepv9MtPk_9L-Ipg35AOumuGErQhfNHFi5OiBEM,45622
173
+ prefect/workers/base.py,sha256=62E0Q41pPr3eQdSBSUBfiR4WYx01OfuqUp5INRqHGgo,46942
172
174
  prefect/workers/process.py,sha256=vylkSSswaSCew-V65YW0HcxIxyKI-uqWkbSKpkkLamQ,9372
173
175
  prefect/workers/server.py,sha256=EfPiMxI7TVgkqpHkdPwSaYG-ydi99sG7jwXhkAcACbI,1519
174
176
  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,,
177
+ prefect_client-3.0.0rc4.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
178
+ prefect_client-3.0.0rc4.dist-info/METADATA,sha256=eFZ99z6jEN7BfrG1CodVrcYG7w13-pzn50J0ayzgO6I,7392
179
+ prefect_client-3.0.0rc4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
180
+ prefect_client-3.0.0rc4.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
181
+ prefect_client-3.0.0rc4.dist-info/RECORD,,