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.
- prefect/__init__.py +0 -1
- prefect/_internal/compatibility/migration.py +124 -0
- prefect/_internal/concurrency/__init__.py +2 -2
- prefect/_internal/concurrency/primitives.py +1 -0
- prefect/_internal/pydantic/annotations/pendulum.py +2 -2
- prefect/_internal/pytz.py +1 -1
- prefect/blocks/core.py +1 -1
- prefect/client/orchestration.py +96 -22
- prefect/client/schemas/actions.py +1 -1
- prefect/client/schemas/filters.py +6 -0
- prefect/client/schemas/objects.py +10 -3
- prefect/client/subscriptions.py +6 -5
- prefect/context.py +1 -27
- prefect/deployments/__init__.py +3 -0
- prefect/deployments/base.py +4 -2
- prefect/deployments/deployments.py +3 -0
- prefect/deployments/steps/pull.py +1 -0
- prefect/deployments/steps/utility.py +2 -1
- prefect/engine.py +3 -0
- prefect/events/cli/automations.py +1 -1
- prefect/events/clients.py +7 -1
- prefect/exceptions.py +9 -0
- prefect/filesystems.py +22 -11
- prefect/flow_engine.py +195 -153
- prefect/flows.py +95 -36
- prefect/futures.py +9 -1
- prefect/infrastructure/provisioners/container_instance.py +1 -0
- prefect/infrastructure/provisioners/ecs.py +2 -2
- prefect/input/__init__.py +4 -0
- prefect/logging/formatters.py +2 -2
- prefect/logging/handlers.py +2 -2
- prefect/logging/loggers.py +1 -1
- prefect/plugins.py +1 -0
- prefect/records/cache_policies.py +3 -3
- prefect/records/result_store.py +10 -3
- prefect/results.py +47 -73
- prefect/runner/runner.py +1 -1
- prefect/runner/server.py +1 -1
- prefect/runtime/__init__.py +1 -0
- prefect/runtime/deployment.py +1 -0
- prefect/runtime/flow_run.py +1 -0
- prefect/runtime/task_run.py +1 -0
- prefect/settings.py +16 -3
- prefect/states.py +15 -4
- prefect/task_engine.py +195 -39
- prefect/task_runners.py +9 -3
- prefect/task_runs.py +26 -12
- prefect/task_worker.py +149 -20
- prefect/tasks.py +153 -71
- prefect/transactions.py +85 -15
- prefect/types/__init__.py +10 -3
- prefect/utilities/asyncutils.py +3 -3
- prefect/utilities/callables.py +16 -4
- prefect/utilities/collections.py +120 -57
- prefect/utilities/dockerutils.py +5 -3
- prefect/utilities/engine.py +11 -0
- prefect/utilities/filesystem.py +4 -5
- prefect/utilities/importtools.py +29 -0
- prefect/utilities/services.py +2 -2
- prefect/utilities/urls.py +195 -0
- prefect/utilities/visualization.py +1 -0
- prefect/variables.py +4 -0
- prefect/workers/base.py +35 -0
- {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/METADATA +2 -2
- {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/RECORD +68 -66
- prefect/blocks/kubernetes.py +0 -115
- {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/LICENSE +0 -0
- {prefect_client-3.0.0rc2.dist-info → prefect_client-3.0.0rc4.dist-info}/WHEEL +0 -0
- {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)
|
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.
|
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=
|
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=
|
7
|
-
prefect/engine.py,sha256=
|
8
|
-
prefect/exceptions.py,sha256=
|
9
|
-
prefect/filesystems.py,sha256=
|
10
|
-
prefect/flow_engine.py,sha256=
|
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=
|
13
|
-
prefect/futures.py,sha256
|
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
|
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=
|
18
|
+
prefect/results.py,sha256=r9yPpvQcvKlnaoXvJfWPj8nbJZ9QiiyKDxtKRS-PxKQ,25061
|
19
19
|
prefect/serializers.py,sha256=8ON--RmaLX3Td3Rpd1lshGcqWyjlCFkmO3sblxsdT_c,8699
|
20
|
-
prefect/settings.py,sha256=
|
21
|
-
prefect/states.py,sha256=
|
22
|
-
prefect/task_engine.py,sha256=
|
23
|
-
prefect/task_runners.py,sha256=
|
24
|
-
prefect/task_runs.py,sha256=
|
25
|
-
prefect/task_worker.py,sha256=
|
26
|
-
prefect/tasks.py,sha256=
|
27
|
-
prefect/transactions.py,sha256=
|
28
|
-
prefect/variables.py,sha256
|
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=
|
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/
|
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=
|
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=
|
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=
|
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=
|
72
|
-
prefect/client/subscriptions.py,sha256=
|
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=
|
76
|
-
prefect/client/schemas/filters.py,sha256=
|
77
|
-
prefect/client/schemas/objects.py,sha256=
|
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=
|
87
|
-
prefect/deployments/base.py,sha256=
|
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=
|
94
|
-
prefect/deployments/steps/utility.py,sha256=
|
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=
|
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=
|
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
|
113
|
-
prefect/infrastructure/provisioners/ecs.py,sha256=
|
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=
|
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=
|
122
|
-
prefect/logging/handlers.py,sha256=
|
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=
|
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=
|
128
|
-
prefect/records/result_store.py,sha256=
|
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=
|
132
|
-
prefect/runner/server.py,sha256=
|
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=
|
137
|
-
prefect/runtime/deployment.py,sha256=
|
138
|
-
prefect/runtime/flow_run.py,sha256=
|
139
|
-
prefect/runtime/task_run.py,sha256=
|
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=
|
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=
|
146
|
-
prefect/utilities/callables.py,sha256=
|
147
|
-
prefect/utilities/collections.py,sha256=
|
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=
|
152
|
-
prefect/utilities/engine.py,sha256=
|
153
|
-
prefect/utilities/filesystem.py,sha256=
|
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
|
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=
|
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/
|
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=
|
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.
|
176
|
-
prefect_client-3.0.
|
177
|
-
prefect_client-3.0.
|
178
|
-
prefect_client-3.0.
|
179
|
-
prefect_client-3.0.
|
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,,
|