prefect-client 2.19.8__py3-none-any.whl → 2.19.9__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/client/schemas/objects.py +5 -0
- prefect/deployments/deployments.py +9 -2
- prefect/engine.py +33 -3
- prefect/flows.py +8 -1
- prefect/tasks.py +25 -12
- prefect/utilities/asyncutils.py +10 -5
- prefect/workers/block.py +9 -0
- {prefect_client-2.19.8.dist-info → prefect_client-2.19.9.dist-info}/METADATA +2 -2
- {prefect_client-2.19.8.dist-info → prefect_client-2.19.9.dist-info}/RECORD +12 -12
- {prefect_client-2.19.8.dist-info → prefect_client-2.19.9.dist-info}/LICENSE +0 -0
- {prefect_client-2.19.8.dist-info → prefect_client-2.19.9.dist-info}/WHEEL +0 -0
- {prefect_client-2.19.8.dist-info → prefect_client-2.19.9.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,7 @@ import pendulum
|
|
17
17
|
|
18
18
|
from prefect._internal.compatibility.deprecated import (
|
19
19
|
DeprecatedInfraOverridesField,
|
20
|
+
deprecated_class,
|
20
21
|
)
|
21
22
|
from prefect._internal.pydantic import HAS_PYDANTIC_V2
|
22
23
|
from prefect.types import NonNegativeInteger, PositiveInteger
|
@@ -917,6 +918,10 @@ class Flow(ObjectBaseModel):
|
|
917
918
|
return raise_on_name_with_banned_characters(v)
|
918
919
|
|
919
920
|
|
921
|
+
@deprecated_class(
|
922
|
+
start_date="Jun 2024",
|
923
|
+
help="Will be removed in Prefect 3 in favor of prefect.client.schemas.actions.DeploymentScheduleCreate",
|
924
|
+
)
|
920
925
|
class MinimalDeploymentSchedule(PrefectBaseModel):
|
921
926
|
schedule: SCHEDULE_TYPES = Field(
|
922
927
|
default=..., description="The schedule for the deployment."
|
@@ -238,12 +238,17 @@ async def run_deployment(
|
|
238
238
|
return flow_run
|
239
239
|
|
240
240
|
|
241
|
+
@deprecated_callable(
|
242
|
+
start_date="Jun 2024",
|
243
|
+
help="Will be moved in Prefect 3 to prefect.flows:load_flow_from_flow_run",
|
244
|
+
)
|
241
245
|
@inject_client
|
242
246
|
async def load_flow_from_flow_run(
|
243
247
|
flow_run: FlowRun,
|
244
248
|
client: PrefectClient,
|
245
249
|
ignore_storage: bool = False,
|
246
250
|
storage_base_path: Optional[str] = None,
|
251
|
+
use_placeholder_flow: bool = True,
|
247
252
|
) -> Flow:
|
248
253
|
"""
|
249
254
|
Load a flow from the location/script provided in a deployment's storage document.
|
@@ -270,7 +275,7 @@ async def load_flow_from_flow_run(
|
|
270
275
|
f"Importing flow code from module path {deployment.entrypoint}"
|
271
276
|
)
|
272
277
|
flow = await run_sync_in_worker_thread(
|
273
|
-
load_flow_from_entrypoint, deployment.entrypoint
|
278
|
+
load_flow_from_entrypoint, deployment.entrypoint, use_placeholder_flow
|
274
279
|
)
|
275
280
|
return flow
|
276
281
|
|
@@ -314,7 +319,9 @@ async def load_flow_from_flow_run(
|
|
314
319
|
).absolute()
|
315
320
|
run_logger.debug(f"Importing flow code from '{import_path}'")
|
316
321
|
|
317
|
-
flow = await run_sync_in_worker_thread(
|
322
|
+
flow = await run_sync_in_worker_thread(
|
323
|
+
load_flow_from_entrypoint, str(import_path), use_placeholder_flow
|
324
|
+
)
|
318
325
|
|
319
326
|
return flow
|
320
327
|
|
prefect/engine.py
CHANGED
@@ -113,7 +113,10 @@ from typing_extensions import Literal
|
|
113
113
|
import prefect
|
114
114
|
import prefect.context
|
115
115
|
import prefect.plugins
|
116
|
-
from prefect._internal.compatibility.deprecated import
|
116
|
+
from prefect._internal.compatibility.deprecated import (
|
117
|
+
deprecated_callable,
|
118
|
+
deprecated_parameter,
|
119
|
+
)
|
117
120
|
from prefect._internal.compatibility.experimental import experimental_parameter
|
118
121
|
from prefect._internal.concurrency.api import create_call, from_async, from_sync
|
119
122
|
from prefect._internal.concurrency.calls import get_current_call
|
@@ -417,9 +420,12 @@ async def retrieve_flow_then_begin_flow_run(
|
|
417
420
|
|
418
421
|
try:
|
419
422
|
flow = (
|
420
|
-
|
423
|
+
# We do not want to use a placeholder flow at runtime
|
424
|
+
load_flow_from_entrypoint(entrypoint, use_placeholder_flow=False)
|
421
425
|
if entrypoint
|
422
|
-
else await load_flow_from_flow_run(
|
426
|
+
else await load_flow_from_flow_run(
|
427
|
+
flow_run, client=client, use_placeholder_flow=False
|
428
|
+
)
|
423
429
|
)
|
424
430
|
except Exception:
|
425
431
|
message = (
|
@@ -975,6 +981,10 @@ async def orchestrate_flow_run(
|
|
975
981
|
return state
|
976
982
|
|
977
983
|
|
984
|
+
@deprecated_callable(
|
985
|
+
start_date="Jun 2024",
|
986
|
+
help="Will be moved in Prefect 3 to prefect.flow_runs:pause_flow_run",
|
987
|
+
)
|
978
988
|
@overload
|
979
989
|
async def pause_flow_run(
|
980
990
|
wait_for_input: None = None,
|
@@ -987,6 +997,10 @@ async def pause_flow_run(
|
|
987
997
|
...
|
988
998
|
|
989
999
|
|
1000
|
+
@deprecated_callable(
|
1001
|
+
start_date="Jun 2024",
|
1002
|
+
help="Will be moved in Prefect 3 to prefect.flow_runs:pause_flow_run",
|
1003
|
+
)
|
990
1004
|
@overload
|
991
1005
|
async def pause_flow_run(
|
992
1006
|
wait_for_input: Type[T],
|
@@ -1095,6 +1109,10 @@ async def pause_flow_run(
|
|
1095
1109
|
)
|
1096
1110
|
|
1097
1111
|
|
1112
|
+
@deprecated_callable(
|
1113
|
+
start_date="Jun 2024",
|
1114
|
+
help="Will be moved in Prefect 3 to prefect.flow_runs:_in_process_pause",
|
1115
|
+
)
|
1098
1116
|
@inject_client
|
1099
1117
|
async def _in_process_pause(
|
1100
1118
|
timeout: int = 3600,
|
@@ -1190,6 +1208,10 @@ async def _in_process_pause(
|
|
1190
1208
|
raise FlowPauseTimeout("Flow run was paused and never resumed.")
|
1191
1209
|
|
1192
1210
|
|
1211
|
+
@deprecated_callable(
|
1212
|
+
start_date="Jun 2024",
|
1213
|
+
help="Will be moved in Prefect 3 to prefect.flow_runs.pause_flow_run.",
|
1214
|
+
)
|
1193
1215
|
@inject_client
|
1194
1216
|
async def _out_of_process_pause(
|
1195
1217
|
flow_run_id: UUID,
|
@@ -1212,6 +1234,10 @@ async def _out_of_process_pause(
|
|
1212
1234
|
raise RuntimeError(response.details.reason)
|
1213
1235
|
|
1214
1236
|
|
1237
|
+
@deprecated_callable(
|
1238
|
+
start_date="Jun 2024",
|
1239
|
+
help="Will be moved in Prefect 3 to prefect.flow_runs:suspend_flow_run",
|
1240
|
+
)
|
1215
1241
|
@overload
|
1216
1242
|
async def suspend_flow_run(
|
1217
1243
|
wait_for_input: None = None,
|
@@ -1343,6 +1369,10 @@ async def suspend_flow_run(
|
|
1343
1369
|
raise Pause()
|
1344
1370
|
|
1345
1371
|
|
1372
|
+
@deprecated_callable(
|
1373
|
+
start_date="Jun 2024",
|
1374
|
+
help="Will be moved in Prefect 3 to prefect.flow_runs:resume_flow_run",
|
1375
|
+
)
|
1346
1376
|
@sync_compatible
|
1347
1377
|
async def resume_flow_run(flow_run_id, run_input: Optional[Dict] = None):
|
1348
1378
|
"""
|
prefect/flows.py
CHANGED
@@ -1650,6 +1650,7 @@ def load_flow_from_script(path: str, flow_name: str = None) -> Flow:
|
|
1650
1650
|
|
1651
1651
|
def load_flow_from_entrypoint(
|
1652
1652
|
entrypoint: str,
|
1653
|
+
use_placeholder_flow: bool = True,
|
1653
1654
|
) -> Flow:
|
1654
1655
|
"""
|
1655
1656
|
Extract a flow object from a script at an entrypoint by running all of the code in the file.
|
@@ -1657,6 +1658,9 @@ def load_flow_from_entrypoint(
|
|
1657
1658
|
Args:
|
1658
1659
|
entrypoint: a string in the format `<path_to_script>:<flow_func_name>` or a module path
|
1659
1660
|
to a flow function
|
1661
|
+
use_placeholder_flow: If True, a placeholder flow will be used if the entrypoint
|
1662
|
+
cannot be loaded for any reason (e.g. dependencies are missing). If False, an
|
1663
|
+
exception will be raised.
|
1660
1664
|
|
1661
1665
|
Returns:
|
1662
1666
|
The flow object from the script
|
@@ -1687,7 +1691,10 @@ def load_flow_from_entrypoint(
|
|
1687
1691
|
# function, so we create a placeholder flow that will re-raise this
|
1688
1692
|
# exception when called.
|
1689
1693
|
|
1690
|
-
|
1694
|
+
if use_placeholder_flow:
|
1695
|
+
flow = load_placeholder_flow(entrypoint=entrypoint, raises=exc)
|
1696
|
+
else:
|
1697
|
+
raise
|
1691
1698
|
|
1692
1699
|
if not isinstance(flow, Flow):
|
1693
1700
|
raise MissingFlowError(
|
prefect/tasks.py
CHANGED
@@ -6,7 +6,6 @@ Module containing the base workflow task class and decorator - for most use case
|
|
6
6
|
|
7
7
|
import datetime
|
8
8
|
import inspect
|
9
|
-
import os
|
10
9
|
from copy import copy
|
11
10
|
from functools import partial, update_wrapper
|
12
11
|
from typing import (
|
@@ -76,6 +75,8 @@ P = ParamSpec("P") # The parameters of the task
|
|
76
75
|
|
77
76
|
logger = get_logger("tasks")
|
78
77
|
|
78
|
+
NUM_CHARS_DYNAMIC_KEY: int = 8
|
79
|
+
|
79
80
|
|
80
81
|
def task_input_hash(
|
81
82
|
context: "TaskRunContext", arguments: Dict[str, Any]
|
@@ -125,6 +126,28 @@ def exponential_backoff(backoff_factor: float) -> Callable[[int], List[float]]:
|
|
125
126
|
return retry_backoff_callable
|
126
127
|
|
127
128
|
|
129
|
+
def _generate_task_key(fn: Callable[..., Any]) -> str:
|
130
|
+
"""Generate a task key based on the function name and source code.
|
131
|
+
We may eventually want some sort of top-level namespace here to
|
132
|
+
disambiguate tasks with the same function name in different modules,
|
133
|
+
in a more human-readable way, while avoiding relative import problems (see #12337).
|
134
|
+
As long as the task implementations are unique (even if named the same), we should
|
135
|
+
not have any collisions.
|
136
|
+
Args:
|
137
|
+
fn: The function to generate a task key for.
|
138
|
+
"""
|
139
|
+
if not hasattr(fn, "__qualname__"):
|
140
|
+
return to_qualified_name(type(fn))
|
141
|
+
|
142
|
+
qualname = fn.__qualname__.split(".")[-1]
|
143
|
+
|
144
|
+
code_hash = (
|
145
|
+
h[:NUM_CHARS_DYNAMIC_KEY] if (h := hash_objects(fn.__code__)) else "unknown"
|
146
|
+
)
|
147
|
+
|
148
|
+
return f"{qualname}-{code_hash}"
|
149
|
+
|
150
|
+
|
128
151
|
@PrefectObjectRegistry.register_instances
|
129
152
|
class Task(Generic[P, R]):
|
130
153
|
"""
|
@@ -292,17 +315,7 @@ class Task(Generic[P, R]):
|
|
292
315
|
|
293
316
|
self.tags = set(tags if tags else [])
|
294
317
|
|
295
|
-
|
296
|
-
self.task_key = to_qualified_name(type(self.fn))
|
297
|
-
else:
|
298
|
-
try:
|
299
|
-
task_origin_hash = hash_objects(
|
300
|
-
self.name, os.path.abspath(inspect.getsourcefile(self.fn))
|
301
|
-
)
|
302
|
-
except TypeError:
|
303
|
-
task_origin_hash = "unknown-source-file"
|
304
|
-
|
305
|
-
self.task_key = f"{self.fn.__qualname__}-{task_origin_hash}"
|
318
|
+
self.task_key = _generate_task_key(self.fn)
|
306
319
|
|
307
320
|
self.cache_key_fn = cache_key_fn
|
308
321
|
self.cache_expiration = cache_expiration
|
prefect/utilities/asyncutils.py
CHANGED
@@ -261,14 +261,14 @@ def sync_compatible(async_fn: T) -> T:
|
|
261
261
|
"""
|
262
262
|
|
263
263
|
@wraps(async_fn)
|
264
|
-
def coroutine_wrapper(*args, **kwargs):
|
264
|
+
def coroutine_wrapper(*args, _sync: Optional[bool] = None, **kwargs):
|
265
265
|
from prefect._internal.concurrency.api import create_call, from_sync
|
266
266
|
from prefect._internal.concurrency.calls import get_current_call, logger
|
267
267
|
from prefect._internal.concurrency.event_loop import get_running_loop
|
268
268
|
from prefect._internal.concurrency.threads import get_global_loop
|
269
269
|
from prefect.settings import PREFECT_EXPERIMENTAL_DISABLE_SYNC_COMPAT
|
270
270
|
|
271
|
-
if PREFECT_EXPERIMENTAL_DISABLE_SYNC_COMPAT:
|
271
|
+
if PREFECT_EXPERIMENTAL_DISABLE_SYNC_COMPAT or _sync is False:
|
272
272
|
return async_fn(*args, **kwargs)
|
273
273
|
|
274
274
|
global_thread_portal = get_global_loop()
|
@@ -276,12 +276,17 @@ def sync_compatible(async_fn: T) -> T:
|
|
276
276
|
current_call = get_current_call()
|
277
277
|
current_loop = get_running_loop()
|
278
278
|
|
279
|
-
if
|
279
|
+
if (
|
280
|
+
current_thread.ident == global_thread_portal.thread.ident
|
281
|
+
and _sync is not True
|
282
|
+
):
|
280
283
|
logger.debug(f"{async_fn} --> return coroutine for internal await")
|
281
284
|
# In the prefect async context; return the coro for us to await
|
282
285
|
return async_fn(*args, **kwargs)
|
283
|
-
elif
|
284
|
-
|
286
|
+
elif (
|
287
|
+
in_async_main_thread()
|
288
|
+
and (not current_call or is_async_fn(current_call.fn))
|
289
|
+
and _sync is not True
|
285
290
|
):
|
286
291
|
# In the main async context; return the coro for them to await
|
287
292
|
logger.debug(f"{async_fn} --> return coroutine for user await")
|
prefect/workers/block.py
CHANGED
@@ -4,6 +4,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
|
4
4
|
import anyio
|
5
5
|
import anyio.abc
|
6
6
|
|
7
|
+
from prefect._internal.compatibility.deprecated import deprecated_class
|
7
8
|
from prefect._internal.pydantic import HAS_PYDANTIC_V2
|
8
9
|
from prefect._internal.schemas.validators import validate_block_is_infrastructure
|
9
10
|
from prefect.blocks.core import Block
|
@@ -27,6 +28,10 @@ if TYPE_CHECKING:
|
|
27
28
|
from prefect.client.schemas.responses import DeploymentResponse
|
28
29
|
|
29
30
|
|
31
|
+
@deprecated_class(
|
32
|
+
start_date="Jun 2024",
|
33
|
+
help="Refer to the upgrade guide for more information: https://docs.prefect.io/latest/guides/upgrade-guide-agents-to-workers/",
|
34
|
+
)
|
30
35
|
class BlockWorkerJobConfiguration(BaseModel):
|
31
36
|
block: Block = Field(
|
32
37
|
default=..., description="The infrastructure block to use for job creation."
|
@@ -144,6 +149,10 @@ class BlockWorkerResult(BaseWorkerResult):
|
|
144
149
|
"""Result of a block worker job"""
|
145
150
|
|
146
151
|
|
152
|
+
@deprecated_class(
|
153
|
+
start_date="Jun 2024",
|
154
|
+
help="Refer to the upgrade guide for more information: https://docs.prefect.io/latest/guides/upgrade-guide-agents-to-workers/",
|
155
|
+
)
|
147
156
|
class BlockWorker(BaseWorker):
|
148
157
|
type = "block"
|
149
158
|
job_configuration = BlockWorkerJobConfiguration
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: prefect-client
|
3
|
-
Version: 2.19.
|
3
|
+
Version: 2.19.9
|
4
4
|
Summary: Workflow orchestration and management.
|
5
5
|
Home-page: https://www.prefect.io
|
6
6
|
Author: Prefect Technologies, Inc.
|
@@ -31,7 +31,7 @@ Requires-Dist: coolname <3.0.0,>=1.0.4
|
|
31
31
|
Requires-Dist: croniter <3.0.0,>=1.0.12
|
32
32
|
Requires-Dist: fsspec >=2022.5.0
|
33
33
|
Requires-Dist: graphviz >=0.20.1
|
34
|
-
Requires-Dist: griffe
|
34
|
+
Requires-Dist: griffe <0.48.0,>=0.20.0
|
35
35
|
Requires-Dist: httpcore <2.0.0,>=1.0.5
|
36
36
|
Requires-Dist: httpx[http2] !=0.23.2,>=0.23
|
37
37
|
Requires-Dist: importlib-resources <6.2.0,>=6.1.3
|
@@ -5,11 +5,11 @@ prefect/agent.py,sha256=HaGT0yh3fciluYpO99dVHo_LHq7N2cYLuWNrEV_kPV8,27789
|
|
5
5
|
prefect/artifacts.py,sha256=mreaBE4qMoXkjc9YI-5cAxoye7ixraHB_zr8GTK9xPU,8694
|
6
6
|
prefect/automations.py,sha256=rjVtQblBlKhD_q24bG6zbxJeb_XQJnodMlhr565aZJY,4853
|
7
7
|
prefect/context.py,sha256=Hgn3rIjCbqfCmGnZzV_eZ2FwxGjEhaZjUw_nppqNQSA,18189
|
8
|
-
prefect/engine.py,sha256=
|
8
|
+
prefect/engine.py,sha256=nbJ1LXRBZG1St9K631fVUntQnMTTw3GmC4_XVLByR_s,91781
|
9
9
|
prefect/exceptions.py,sha256=ElqC81_w6XbTaxLYANLMIPK8Fz46NmJZCRKL4NZ-JIg,10907
|
10
10
|
prefect/filesystems.py,sha256=XniPSdBAqywj43X7GyfuWJQIbz07QJ5Y3cVNLhIF3lQ,35260
|
11
11
|
prefect/flow_runs.py,sha256=mFHLavZk1yZ62H3UazuNDBZWAF7AqKttA4rMcHgsVSw,3119
|
12
|
-
prefect/flows.py,sha256=
|
12
|
+
prefect/flows.py,sha256=gK8VnDt9R3PWbBBJU3z46PWhj1BEHbAHEZGLJzcotUk,79746
|
13
13
|
prefect/futures.py,sha256=RaWfYIXtH7RsWxQ5QWTTlAzwtVV8XWpXaZT_hLq35vQ,12590
|
14
14
|
prefect/manifests.py,sha256=sTM7j8Us5d49zaydYKWsKb7zJ96v1ChkLkLeR0GFYD8,683
|
15
15
|
prefect/new_flow_engine.py,sha256=A1adTWTBAwPCn6ay003Jsoc2SdYgHV4AcJo1bmpa_7Y,16039
|
@@ -24,7 +24,7 @@ prefect/states.py,sha256=B38zIXnqc8cmw3GPxmMQ4thX6pXb6UtG4PoTZ5thGQs,21036
|
|
24
24
|
prefect/task_engine.py,sha256=_2I7XLwoT_nNhpzTMa_52aQKjsDoaW6WpzwIHYEWZS0,2598
|
25
25
|
prefect/task_runners.py,sha256=HXUg5UqhZRN2QNBqMdGE1lKhwFhT8TaRN75ScgLbnw8,11012
|
26
26
|
prefect/task_server.py,sha256=3f6rDIOXmhhF_MDHGk5owaU9lyLHsR-zgCp6pIHEUyo,11075
|
27
|
-
prefect/tasks.py,sha256=
|
27
|
+
prefect/tasks.py,sha256=HWTT9Y6obBId1VcLCQbmBFN4WUKE0j1pw2IvzyTgF70,56134
|
28
28
|
prefect/variables.py,sha256=4r5gVGpAZxLWHj5JoNZJTuktX1-u3ENzVp3t4M6FDgs,3815
|
29
29
|
prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
30
|
prefect/_internal/_logging.py,sha256=HvNHY-8P469o5u4LYEDBTem69XZEt1QUeUaLToijpak,810
|
@@ -170,7 +170,7 @@ prefect/client/utilities.py,sha256=7V4IkfC8x_OZuPXGvtIMmwZCOW63hSY8iVQkuRYTR6g,3
|
|
170
170
|
prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
|
171
171
|
prefect/client/schemas/actions.py,sha256=4mq1OXMsXs6aGlXg1G232RNcn0ivAOIgikL0IKs6S-E,27943
|
172
172
|
prefect/client/schemas/filters.py,sha256=gv57m0bHJqL7Ifsc_vAdRODFomaMVcrGXKAahOSBU4w,35598
|
173
|
-
prefect/client/schemas/objects.py,sha256=
|
173
|
+
prefect/client/schemas/objects.py,sha256=bA0kAN9fbeiE6yUGX6bRlScheYtg8uxu0eeuC3-3zd8,53309
|
174
174
|
prefect/client/schemas/responses.py,sha256=XAc95g3PRL9UIkH9_VMuv0ECHKdc19guBLmdt5KefkI,15325
|
175
175
|
prefect/client/schemas/schedules.py,sha256=ZF7fFbkcc8rVdx2MxE8DR0av3FUE9qDPjLreEuV8HfM,12193
|
176
176
|
prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
|
@@ -181,7 +181,7 @@ prefect/concurrency/services.py,sha256=PQb4cs72lTRz_XEgDEfv4OkpHWC7KAmW_Xd9vpOOu
|
|
181
181
|
prefect/concurrency/sync.py,sha256=QtnPRfVX9GqVyuZOt6W9yJuT9G-PlCSVnxlZKFTjuKY,3271
|
182
182
|
prefect/deployments/__init__.py,sha256=dM866rOEz3BbAN_xaFMHj3Hw1oOFemBTZ2yxVE6IGoY,394
|
183
183
|
prefect/deployments/base.py,sha256=0l2D_laMc3q2Q5nvh-WANv3iDy4Ih5BqcPMNJJbHuP0,16391
|
184
|
-
prefect/deployments/deployments.py,sha256=
|
184
|
+
prefect/deployments/deployments.py,sha256=S9ro-RUNrc2v8uWFkLr3-JE7h3RGC-HO_f5T7xe4ABw,41884
|
185
185
|
prefect/deployments/runner.py,sha256=a2dxc84zCofZFXV47M2zfntqUaoAhGWvf7o0s3MjPws,44772
|
186
186
|
prefect/deployments/schedules.py,sha256=23GDCAKOP-aAEKGappwTrM4HU67ndVH7NR4Dq0neU_U,1884
|
187
187
|
prefect/deployments/steps/__init__.py,sha256=3pZWONAZzenDszqNQT3bmTFilnvjB6xMolMz9tr5pLw,229
|
@@ -254,7 +254,7 @@ prefect/software/python.py,sha256=EssQ16aMvWSzzWagtNPfjQLu9ehieRwN0iWeqpBVtRU,17
|
|
254
254
|
prefect/types/__init__.py,sha256=aZvlQ2uXl949sJ_khmxSVkRH3o6edo-eJ_GBGMBN5Yg,3134
|
255
255
|
prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
256
256
|
prefect/utilities/annotations.py,sha256=bXB43j5Zsq5gaBcJe9qnszBlnNwCTwqSTgcu2OkkRLo,2776
|
257
|
-
prefect/utilities/asyncutils.py,sha256=
|
257
|
+
prefect/utilities/asyncutils.py,sha256=AyQUahL_KSkKmAWbEYeAJhEC27qSze48yUJrQPvfOW0,17164
|
258
258
|
prefect/utilities/callables.py,sha256=-Ccr5JmDoafth46MPPQCRStBMSG_ickCDfBztpd_MAs,21119
|
259
259
|
prefect/utilities/collections.py,sha256=0v-NNXxYYzkUTCCNDMNB44AnDv9yj35UYouNraCqlo8,15449
|
260
260
|
prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
|
@@ -281,12 +281,12 @@ prefect/utilities/schema_tools/hydration.py,sha256=RNuJK4Vd__V69gdQbaWSVhSkV0AUI
|
|
281
281
|
prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
|
282
282
|
prefect/workers/__init__.py,sha256=6el2Q856CuRPa5Hdrbm9QyAWB_ovcT2bImSFsoWI46k,66
|
283
283
|
prefect/workers/base.py,sha256=LKIMS2DaQSQRV4rjbrMYeQnY-9rzgj_KWBRIq-8c5rg,45125
|
284
|
-
prefect/workers/block.py,sha256=
|
284
|
+
prefect/workers/block.py,sha256=aYY__uq3v1eq1kkbVukxyhQNbkknaKYo6-_3tcrfKKA,8067
|
285
285
|
prefect/workers/process.py,sha256=pPtCdA7fKQ4OsvoitT-cayZeh5HgLX4xBUYlb2Zad-Q,9475
|
286
286
|
prefect/workers/server.py,sha256=WVZJxR8nTMzK0ov0BD0xw5OyQpT26AxlXbsGQ1OrxeQ,1551
|
287
287
|
prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
|
288
|
-
prefect_client-2.19.
|
289
|
-
prefect_client-2.19.
|
290
|
-
prefect_client-2.19.
|
291
|
-
prefect_client-2.19.
|
292
|
-
prefect_client-2.19.
|
288
|
+
prefect_client-2.19.9.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
|
289
|
+
prefect_client-2.19.9.dist-info/METADATA,sha256=LBa5dw7OxgaHgyE71e63fFvfM5Q5wAJ62YAoaFjNWDw,7410
|
290
|
+
prefect_client-2.19.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
291
|
+
prefect_client-2.19.9.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
|
292
|
+
prefect_client-2.19.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|