prefect-client 3.0.0rc6__py3-none-any.whl → 3.0.0rc8__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 +75 -57
- prefect/_internal/compatibility/migration.py +2 -2
- prefect/client/orchestration.py +0 -3
- prefect/client/schemas/actions.py +0 -2
- prefect/client/schemas/objects.py +12 -8
- prefect/client/schemas/responses.py +0 -6
- prefect/flows.py +7 -11
- prefect/futures.py +73 -13
- prefect/main.py +70 -0
- prefect/plugins.py +1 -64
- prefect/results.py +14 -71
- prefect/runner/storage.py +75 -6
- prefect/settings.py +14 -138
- prefect/states.py +54 -5
- prefect/task_engine.py +10 -0
- prefect/task_runners.py +113 -7
- prefect/tasks.py +66 -26
- {prefect_client-3.0.0rc6.dist-info → prefect_client-3.0.0rc8.dist-info}/METADATA +1 -1
- {prefect_client-3.0.0rc6.dist-info → prefect_client-3.0.0rc8.dist-info}/RECORD +22 -21
- {prefect_client-3.0.0rc6.dist-info → prefect_client-3.0.0rc8.dist-info}/LICENSE +0 -0
- {prefect_client-3.0.0rc6.dist-info → prefect_client-3.0.0rc8.dist-info}/WHEEL +0 -0
- {prefect_client-3.0.0rc6.dist-info → prefect_client-3.0.0rc8.dist-info}/top_level.txt +0 -0
prefect/task_runners.py
CHANGED
@@ -1,9 +1,21 @@
|
|
1
1
|
import abc
|
2
2
|
import asyncio
|
3
|
+
import sys
|
3
4
|
import uuid
|
4
5
|
from concurrent.futures import ThreadPoolExecutor
|
5
6
|
from contextvars import copy_context
|
6
|
-
from typing import
|
7
|
+
from typing import (
|
8
|
+
TYPE_CHECKING,
|
9
|
+
Any,
|
10
|
+
Coroutine,
|
11
|
+
Dict,
|
12
|
+
Generic,
|
13
|
+
Iterable,
|
14
|
+
List,
|
15
|
+
Optional,
|
16
|
+
Set,
|
17
|
+
overload,
|
18
|
+
)
|
7
19
|
|
8
20
|
from typing_extensions import ParamSpec, Self, TypeVar
|
9
21
|
|
@@ -13,6 +25,7 @@ from prefect.futures import (
|
|
13
25
|
PrefectConcurrentFuture,
|
14
26
|
PrefectDistributedFuture,
|
15
27
|
PrefectFuture,
|
28
|
+
PrefectFutureList,
|
16
29
|
)
|
17
30
|
from prefect.logging.loggers import get_logger, get_run_logger
|
18
31
|
from prefect.utilities.annotations import allow_failure, quote, unmapped
|
@@ -29,6 +42,7 @@ if TYPE_CHECKING:
|
|
29
42
|
P = ParamSpec("P")
|
30
43
|
T = TypeVar("T")
|
31
44
|
F = TypeVar("F", bound=PrefectFuture)
|
45
|
+
R = TypeVar("R")
|
32
46
|
|
33
47
|
|
34
48
|
class TaskRunner(abc.ABC, Generic[F]):
|
@@ -84,7 +98,7 @@ class TaskRunner(abc.ABC, Generic[F]):
|
|
84
98
|
task: "Task",
|
85
99
|
parameters: Dict[str, Any],
|
86
100
|
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
87
|
-
) ->
|
101
|
+
) -> PrefectFutureList[F]:
|
88
102
|
"""
|
89
103
|
Submit multiple tasks to the task run engine.
|
90
104
|
|
@@ -156,7 +170,7 @@ class TaskRunner(abc.ABC, Generic[F]):
|
|
156
170
|
|
157
171
|
map_length = list(lengths)[0]
|
158
172
|
|
159
|
-
futures = []
|
173
|
+
futures: List[PrefectFuture] = []
|
160
174
|
for i in range(map_length):
|
161
175
|
call_parameters = {
|
162
176
|
key: value[i] for key, value in iterable_parameters.items()
|
@@ -186,7 +200,7 @@ class TaskRunner(abc.ABC, Generic[F]):
|
|
186
200
|
)
|
187
201
|
)
|
188
202
|
|
189
|
-
return futures
|
203
|
+
return PrefectFutureList(futures)
|
190
204
|
|
191
205
|
def __enter__(self):
|
192
206
|
if self._started:
|
@@ -205,18 +219,38 @@ class ThreadPoolTaskRunner(TaskRunner[PrefectConcurrentFuture]):
|
|
205
219
|
def __init__(self, max_workers: Optional[int] = None):
|
206
220
|
super().__init__()
|
207
221
|
self._executor: Optional[ThreadPoolExecutor] = None
|
208
|
-
self._max_workers = max_workers
|
222
|
+
self._max_workers = sys.maxsize if max_workers is None else max_workers
|
209
223
|
|
210
224
|
def duplicate(self) -> "ThreadPoolTaskRunner":
|
211
225
|
return type(self)(max_workers=self._max_workers)
|
212
226
|
|
227
|
+
@overload
|
228
|
+
def submit(
|
229
|
+
self,
|
230
|
+
task: "Task[P, Coroutine[Any, Any, R]]",
|
231
|
+
parameters: Dict[str, Any],
|
232
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
233
|
+
dependencies: Optional[Dict[str, Set[TaskRunInput]]] = None,
|
234
|
+
) -> PrefectConcurrentFuture[R]:
|
235
|
+
...
|
236
|
+
|
237
|
+
@overload
|
238
|
+
def submit(
|
239
|
+
self,
|
240
|
+
task: "Task[Any, R]",
|
241
|
+
parameters: Dict[str, Any],
|
242
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
243
|
+
dependencies: Optional[Dict[str, Set[TaskRunInput]]] = None,
|
244
|
+
) -> PrefectConcurrentFuture[R]:
|
245
|
+
...
|
246
|
+
|
213
247
|
def submit(
|
214
248
|
self,
|
215
249
|
task: "Task",
|
216
250
|
parameters: Dict[str, Any],
|
217
251
|
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
218
252
|
dependencies: Optional[Dict[str, Set[TaskRunInput]]] = None,
|
219
|
-
)
|
253
|
+
):
|
220
254
|
"""
|
221
255
|
Submit a task to the task run engine running in a separate thread.
|
222
256
|
|
@@ -277,6 +311,32 @@ class ThreadPoolTaskRunner(TaskRunner[PrefectConcurrentFuture]):
|
|
277
311
|
)
|
278
312
|
return prefect_future
|
279
313
|
|
314
|
+
@overload
|
315
|
+
def map(
|
316
|
+
self,
|
317
|
+
task: "Task[P, Coroutine[Any, Any, R]]",
|
318
|
+
parameters: Dict[str, Any],
|
319
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
320
|
+
) -> PrefectFutureList[PrefectConcurrentFuture[R]]:
|
321
|
+
...
|
322
|
+
|
323
|
+
@overload
|
324
|
+
def map(
|
325
|
+
self,
|
326
|
+
task: "Task[Any, R]",
|
327
|
+
parameters: Dict[str, Any],
|
328
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
329
|
+
) -> PrefectFutureList[PrefectConcurrentFuture[R]]:
|
330
|
+
...
|
331
|
+
|
332
|
+
def map(
|
333
|
+
self,
|
334
|
+
task: "Task",
|
335
|
+
parameters: Dict[str, Any],
|
336
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
337
|
+
):
|
338
|
+
return super().map(task, parameters, wait_for)
|
339
|
+
|
280
340
|
def __enter__(self):
|
281
341
|
super().__enter__()
|
282
342
|
self._executor = ThreadPoolExecutor(max_workers=self._max_workers)
|
@@ -305,13 +365,33 @@ class PrefectTaskRunner(TaskRunner[PrefectDistributedFuture]):
|
|
305
365
|
def duplicate(self) -> "PrefectTaskRunner":
|
306
366
|
return type(self)()
|
307
367
|
|
368
|
+
@overload
|
369
|
+
def submit(
|
370
|
+
self,
|
371
|
+
task: "Task[P, Coroutine[Any, Any, R]]",
|
372
|
+
parameters: Dict[str, Any],
|
373
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
374
|
+
dependencies: Optional[Dict[str, Set[TaskRunInput]]] = None,
|
375
|
+
) -> PrefectDistributedFuture[R]:
|
376
|
+
...
|
377
|
+
|
378
|
+
@overload
|
379
|
+
def submit(
|
380
|
+
self,
|
381
|
+
task: "Task[Any, R]",
|
382
|
+
parameters: Dict[str, Any],
|
383
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
384
|
+
dependencies: Optional[Dict[str, Set[TaskRunInput]]] = None,
|
385
|
+
) -> PrefectDistributedFuture[R]:
|
386
|
+
...
|
387
|
+
|
308
388
|
def submit(
|
309
389
|
self,
|
310
390
|
task: "Task",
|
311
391
|
parameters: Dict[str, Any],
|
312
392
|
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
313
393
|
dependencies: Optional[Dict[str, Set[TaskRunInput]]] = None,
|
314
|
-
)
|
394
|
+
):
|
315
395
|
"""
|
316
396
|
Submit a task to the task run engine running in a separate thread.
|
317
397
|
|
@@ -341,3 +421,29 @@ class PrefectTaskRunner(TaskRunner[PrefectDistributedFuture]):
|
|
341
421
|
return task.apply_async(
|
342
422
|
kwargs=parameters, wait_for=wait_for, dependencies=dependencies
|
343
423
|
)
|
424
|
+
|
425
|
+
@overload
|
426
|
+
def map(
|
427
|
+
self,
|
428
|
+
task: "Task[P, Coroutine[Any, Any, R]]",
|
429
|
+
parameters: Dict[str, Any],
|
430
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
431
|
+
) -> PrefectFutureList[PrefectDistributedFuture[R]]:
|
432
|
+
...
|
433
|
+
|
434
|
+
@overload
|
435
|
+
def map(
|
436
|
+
self,
|
437
|
+
task: "Task[Any, R]",
|
438
|
+
parameters: Dict[str, Any],
|
439
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
440
|
+
) -> PrefectFutureList[PrefectDistributedFuture[R]]:
|
441
|
+
...
|
442
|
+
|
443
|
+
def map(
|
444
|
+
self,
|
445
|
+
task: "Task",
|
446
|
+
parameters: Dict[str, Any],
|
447
|
+
wait_for: Optional[Iterable[PrefectFuture]] = None,
|
448
|
+
):
|
449
|
+
return super().map(task, parameters, wait_for)
|
prefect/tasks.py
CHANGED
@@ -14,6 +14,7 @@ from typing import (
|
|
14
14
|
Any,
|
15
15
|
Awaitable,
|
16
16
|
Callable,
|
17
|
+
Coroutine,
|
17
18
|
Dict,
|
18
19
|
Generic,
|
19
20
|
Iterable,
|
@@ -42,10 +43,11 @@ from prefect.context import (
|
|
42
43
|
TaskRunContext,
|
43
44
|
serialize_context,
|
44
45
|
)
|
45
|
-
from prefect.futures import PrefectDistributedFuture, PrefectFuture
|
46
|
+
from prefect.futures import PrefectDistributedFuture, PrefectFuture, PrefectFutureList
|
46
47
|
from prefect.logging.loggers import get_logger
|
47
48
|
from prefect.results import ResultFactory, ResultSerializer, ResultStorage
|
48
49
|
from prefect.settings import (
|
50
|
+
PREFECT_RESULTS_PERSIST_BY_DEFAULT,
|
49
51
|
PREFECT_TASK_DEFAULT_RETRIES,
|
50
52
|
PREFECT_TASK_DEFAULT_RETRY_DELAY_SECONDS,
|
51
53
|
)
|
@@ -219,8 +221,10 @@ class Task(Generic[P, R]):
|
|
219
221
|
cannot exceed 50.
|
220
222
|
retry_jitter_factor: An optional factor that defines the factor to which a retry
|
221
223
|
can be jittered in order to avoid a "thundering herd".
|
222
|
-
persist_result:
|
223
|
-
should be persisted to result storage. Defaults to `
|
224
|
+
persist_result: A toggle indicating whether the result of this task
|
225
|
+
should be persisted to result storage. Defaults to `None`, which
|
226
|
+
indicates that the global default should be used (which is `True` by
|
227
|
+
default).
|
224
228
|
result_storage: An optional block to use to persist the result of this task.
|
225
229
|
Defaults to the value set in the flow the task is called in.
|
226
230
|
result_storage_key: An optional key to store the result in storage at when persisted.
|
@@ -272,7 +276,7 @@ class Task(Generic[P, R]):
|
|
272
276
|
]
|
273
277
|
] = None,
|
274
278
|
retry_jitter_factor: Optional[float] = None,
|
275
|
-
persist_result: bool =
|
279
|
+
persist_result: Optional[bool] = None,
|
276
280
|
result_storage: Optional[ResultStorage] = None,
|
277
281
|
result_serializer: Optional[ResultSerializer] = None,
|
278
282
|
result_storage_key: Optional[str] = None,
|
@@ -380,6 +384,8 @@ class Task(Generic[P, R]):
|
|
380
384
|
self.cache_expiration = cache_expiration
|
381
385
|
self.refresh_cache = refresh_cache
|
382
386
|
|
387
|
+
if persist_result is None:
|
388
|
+
persist_result = PREFECT_RESULTS_PERSIST_BY_DEFAULT.value()
|
383
389
|
if not persist_result:
|
384
390
|
self.cache_policy = None if cache_policy is None else NONE
|
385
391
|
if cache_policy and cache_policy is not NotSet and cache_policy != NONE:
|
@@ -824,25 +830,41 @@ class Task(Generic[P, R]):
|
|
824
830
|
self: "Task[P, NoReturn]",
|
825
831
|
*args: P.args,
|
826
832
|
**kwargs: P.kwargs,
|
827
|
-
) -> PrefectFuture:
|
833
|
+
) -> PrefectFuture[NoReturn]:
|
828
834
|
# `NoReturn` matches if a type can't be inferred for the function which stops a
|
829
835
|
# sync function from matching the `Coroutine` overload
|
830
836
|
...
|
831
837
|
|
832
838
|
@overload
|
833
839
|
def submit(
|
834
|
-
self: "Task[P, T]",
|
840
|
+
self: "Task[P, Coroutine[Any, Any, T]]",
|
835
841
|
*args: P.args,
|
836
842
|
**kwargs: P.kwargs,
|
837
|
-
) -> PrefectFuture:
|
843
|
+
) -> PrefectFuture[T]:
|
838
844
|
...
|
839
845
|
|
840
846
|
@overload
|
841
847
|
def submit(
|
842
848
|
self: "Task[P, T]",
|
849
|
+
*args: P.args,
|
850
|
+
**kwargs: P.kwargs,
|
851
|
+
) -> PrefectFuture[T]:
|
852
|
+
...
|
853
|
+
|
854
|
+
@overload
|
855
|
+
def submit(
|
856
|
+
self: "Task[P, Coroutine[Any, Any, T]]",
|
857
|
+
*args: P.args,
|
843
858
|
return_state: Literal[True],
|
844
|
-
|
859
|
+
**kwargs: P.kwargs,
|
860
|
+
) -> State[T]:
|
861
|
+
...
|
862
|
+
|
863
|
+
@overload
|
864
|
+
def submit(
|
865
|
+
self: "Task[P, T]",
|
845
866
|
*args: P.args,
|
867
|
+
return_state: Literal[True],
|
846
868
|
**kwargs: P.kwargs,
|
847
869
|
) -> State[T]:
|
848
870
|
...
|
@@ -974,26 +996,41 @@ class Task(Generic[P, R]):
|
|
974
996
|
self: "Task[P, NoReturn]",
|
975
997
|
*args: P.args,
|
976
998
|
**kwargs: P.kwargs,
|
977
|
-
) ->
|
978
|
-
# `NoReturn` matches if a type can't be inferred for the function which stops a
|
979
|
-
# sync function from matching the `Coroutine` overload
|
999
|
+
) -> PrefectFutureList[PrefectFuture[NoReturn]]:
|
980
1000
|
...
|
981
1001
|
|
982
1002
|
@overload
|
983
1003
|
def map(
|
984
|
-
self: "Task[P, T]",
|
1004
|
+
self: "Task[P, Coroutine[Any, Any, T]]",
|
985
1005
|
*args: P.args,
|
986
1006
|
**kwargs: P.kwargs,
|
987
|
-
) ->
|
1007
|
+
) -> PrefectFutureList[PrefectFuture[T]]:
|
988
1008
|
...
|
989
1009
|
|
990
1010
|
@overload
|
991
1011
|
def map(
|
992
1012
|
self: "Task[P, T]",
|
1013
|
+
*args: P.args,
|
1014
|
+
**kwargs: P.kwargs,
|
1015
|
+
) -> PrefectFutureList[PrefectFuture[T]]:
|
1016
|
+
...
|
1017
|
+
|
1018
|
+
@overload
|
1019
|
+
def map(
|
1020
|
+
self: "Task[P, Coroutine[Any, Any, T]]",
|
1021
|
+
*args: P.args,
|
993
1022
|
return_state: Literal[True],
|
1023
|
+
**kwargs: P.kwargs,
|
1024
|
+
) -> PrefectFutureList[State[T]]:
|
1025
|
+
...
|
1026
|
+
|
1027
|
+
@overload
|
1028
|
+
def map(
|
1029
|
+
self: "Task[P, T]",
|
994
1030
|
*args: P.args,
|
1031
|
+
return_state: Literal[True],
|
995
1032
|
**kwargs: P.kwargs,
|
996
|
-
) ->
|
1033
|
+
) -> PrefectFutureList[State[T]]:
|
997
1034
|
...
|
998
1035
|
|
999
1036
|
def map(
|
@@ -1007,8 +1044,9 @@ class Task(Generic[P, R]):
|
|
1007
1044
|
"""
|
1008
1045
|
Submit a mapped run of the task to a worker.
|
1009
1046
|
|
1010
|
-
Must be called within a flow
|
1011
|
-
|
1047
|
+
Must be called within a flow run context. Will return a list of futures
|
1048
|
+
that should be waited on before exiting the flow context to ensure all
|
1049
|
+
mapped tasks have completed.
|
1012
1050
|
|
1013
1051
|
Must be called with at least one iterable and all iterables must be
|
1014
1052
|
the same length. Any arguments that are not iterable will be treated as
|
@@ -1046,15 +1084,14 @@ class Task(Generic[P, R]):
|
|
1046
1084
|
>>> from prefect import flow
|
1047
1085
|
>>> @flow
|
1048
1086
|
>>> def my_flow():
|
1049
|
-
>>> my_task.map([1, 2, 3])
|
1087
|
+
>>> return my_task.map([1, 2, 3])
|
1050
1088
|
|
1051
1089
|
Wait for all mapped tasks to finish
|
1052
1090
|
|
1053
1091
|
>>> @flow
|
1054
1092
|
>>> def my_flow():
|
1055
1093
|
>>> futures = my_task.map([1, 2, 3])
|
1056
|
-
>>>
|
1057
|
-
>>> future.wait()
|
1094
|
+
>>> futures.wait():
|
1058
1095
|
>>> # Now all of the mapped tasks have finished
|
1059
1096
|
>>> my_task(10)
|
1060
1097
|
|
@@ -1063,8 +1100,8 @@ class Task(Generic[P, R]):
|
|
1063
1100
|
>>> @flow
|
1064
1101
|
>>> def my_flow():
|
1065
1102
|
>>> futures = my_task.map([1, 2, 3])
|
1066
|
-
>>> for
|
1067
|
-
>>> print(
|
1103
|
+
>>> for x in futures.result():
|
1104
|
+
>>> print(x)
|
1068
1105
|
>>> my_flow()
|
1069
1106
|
2
|
1070
1107
|
3
|
@@ -1085,6 +1122,7 @@ class Task(Generic[P, R]):
|
|
1085
1122
|
>>>
|
1086
1123
|
>>> # task 2 will wait for task_1 to complete
|
1087
1124
|
>>> y = task_2.map([1, 2, 3], wait_for=[x])
|
1125
|
+
>>> return y
|
1088
1126
|
|
1089
1127
|
Use a non-iterable input as a constant across mapped tasks
|
1090
1128
|
>>> @task
|
@@ -1093,7 +1131,7 @@ class Task(Generic[P, R]):
|
|
1093
1131
|
>>>
|
1094
1132
|
>>> @flow
|
1095
1133
|
>>> def my_flow():
|
1096
|
-
>>> display.map("Check it out: ", [1, 2, 3])
|
1134
|
+
>>> return display.map("Check it out: ", [1, 2, 3])
|
1097
1135
|
>>>
|
1098
1136
|
>>> my_flow()
|
1099
1137
|
Check it out: 1
|
@@ -1336,7 +1374,7 @@ def task(
|
|
1336
1374
|
Callable[[int], List[float]],
|
1337
1375
|
] = 0,
|
1338
1376
|
retry_jitter_factor: Optional[float] = None,
|
1339
|
-
persist_result: bool =
|
1377
|
+
persist_result: Optional[bool] = None,
|
1340
1378
|
result_storage: Optional[ResultStorage] = None,
|
1341
1379
|
result_storage_key: Optional[str] = None,
|
1342
1380
|
result_serializer: Optional[ResultSerializer] = None,
|
@@ -1368,7 +1406,7 @@ def task(
|
|
1368
1406
|
float, int, List[float], Callable[[int], List[float]], None
|
1369
1407
|
] = None,
|
1370
1408
|
retry_jitter_factor: Optional[float] = None,
|
1371
|
-
persist_result: bool =
|
1409
|
+
persist_result: Optional[bool] = None,
|
1372
1410
|
result_storage: Optional[ResultStorage] = None,
|
1373
1411
|
result_storage_key: Optional[str] = None,
|
1374
1412
|
result_serializer: Optional[ResultSerializer] = None,
|
@@ -1414,8 +1452,10 @@ def task(
|
|
1414
1452
|
cannot exceed 50.
|
1415
1453
|
retry_jitter_factor: An optional factor that defines the factor to which a retry
|
1416
1454
|
can be jittered in order to avoid a "thundering herd".
|
1417
|
-
persist_result:
|
1418
|
-
should be persisted to result storage. Defaults to `
|
1455
|
+
persist_result: A toggle indicating whether the result of this task
|
1456
|
+
should be persisted to result storage. Defaults to `None`, which
|
1457
|
+
indicates that the global default should be used (which is `True` by
|
1458
|
+
default).
|
1419
1459
|
result_storage: An optional block to use to persist the result of this task.
|
1420
1460
|
Defaults to the value set in the flow the task is called in.
|
1421
1461
|
result_storage_key: An optional key to store the result in storage at when persisted.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
|
2
|
-
prefect/__init__.py,sha256=
|
2
|
+
prefect/__init__.py,sha256=rFlBikby0TcAmljqECcleQE_se15eh1gLp5iac0ZhsU,3301
|
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
|
@@ -10,21 +10,22 @@ prefect/exceptions.py,sha256=kRiEX6qpT9errs0SuYJDYG7ioMNddTvqK7gT8RVFajk,11076
|
|
10
10
|
prefect/filesystems.py,sha256=HrPoehZKpuVxzWDXaTiuJqgVCgxlQ4lyTEZKSYKiZUc,17169
|
11
11
|
prefect/flow_engine.py,sha256=3JM3LpgqCGLUsTbrh5-CL3IFnHSHRWHbqV9xMEC3nyM,26149
|
12
12
|
prefect/flow_runs.py,sha256=7mHGjb3-6MfR4XKQjy9sJPS9dS0yTxVO6MYQ8YlGjGw,16071
|
13
|
-
prefect/flows.py,sha256=
|
14
|
-
prefect/futures.py,sha256=
|
13
|
+
prefect/flows.py,sha256=wR3bkeS5MuAk_T2UzcBMWx5idghE66CfDVcgR4_6DIE,79033
|
14
|
+
prefect/futures.py,sha256=P3ZZdoOFaxJFDtquJce6PwUz4VWZd0G3Pf74uMVRGQY,11958
|
15
|
+
prefect/main.py,sha256=bab5nBn37a6gmxdPbTlRS2a9Cf0KY0GaCotDOSbcQ7M,1930
|
15
16
|
prefect/manifests.py,sha256=477XcmfdC_yE81wT6zIAKnEUEJ0lH9ZLfOVSgX2FohE,676
|
16
|
-
prefect/plugins.py,sha256
|
17
|
+
prefect/plugins.py,sha256=7AICJzHIu8iAeF9vl9wAYm28pR_k7dkdnm3OyJRfCv4,2229
|
17
18
|
prefect/profiles.toml,sha256=Fs8hD_BdWHZgAijgk8pK_Zx-Pm-YFixqDIfEP6fM-qU,38
|
18
19
|
prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
-
prefect/results.py,sha256=
|
20
|
+
prefect/results.py,sha256=Lty6G1zeDyxSmJTYHg3ESXhqt535DsK6gvbtkDsNYWg,25360
|
20
21
|
prefect/serializers.py,sha256=8ON--RmaLX3Td3Rpd1lshGcqWyjlCFkmO3sblxsdT_c,8699
|
21
|
-
prefect/settings.py,sha256=
|
22
|
-
prefect/states.py,sha256=
|
23
|
-
prefect/task_engine.py,sha256=
|
24
|
-
prefect/task_runners.py,sha256=
|
22
|
+
prefect/settings.py,sha256=IauUadC63B5D4CjVrLca7yaG2qYO4umPAW6t1zYShrE,70565
|
23
|
+
prefect/states.py,sha256=lw22xucH46cN9stkxiV9ByIvq689mH5iL3gErri-Y18,22207
|
24
|
+
prefect/task_engine.py,sha256=P8Tl7gp7PzvnxjBqk-M6iev2NTVDlsJ7FOPruJvnn0k,33018
|
25
|
+
prefect/task_runners.py,sha256=KulKKV1_Pkt7Pt2to3NLc1tp-idpV8EXdSuFJXS8ZyY,14622
|
25
26
|
prefect/task_runs.py,sha256=eDWYH5H1K4SyduhKmn3GzO6vM3fZSwOZxAb8KhkMGsk,7798
|
26
27
|
prefect/task_worker.py,sha256=iawQZn4hNcrXR-CHtM4jzhlnotqeNHiRuHc-eumJ9Oc,16788
|
27
|
-
prefect/tasks.py,sha256=
|
28
|
+
prefect/tasks.py,sha256=CKFlMcJ7Sw3zYTgPp3fhZZK2oTy33RoQmLNvavgUAxg,61427
|
28
29
|
prefect/transactions.py,sha256=XhEXdhid1457m5V7VTz1U8JCek6U6jSFD7EffGhCLag,9149
|
29
30
|
prefect/variables.py,sha256=-t5LVY0N-K4f0fa6YwruVVQqwnU3fGWBMYXXE32XPkA,4821
|
30
31
|
prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -33,7 +34,7 @@ prefect/_internal/pytz.py,sha256=WWl9x16rKFWequGmcOGs_ljpCDPf2LDHMyZp_4D8e6c,137
|
|
33
34
|
prefect/_internal/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
35
|
prefect/_internal/compatibility/deprecated.py,sha256=nqevphK00rakKgCfkbqBQ4NCktdb4338uuROjFcq6xA,7517
|
35
36
|
prefect/_internal/compatibility/experimental.py,sha256=nrIeeAe1vZ0yMb1cPw5AroVR6_msx-bzTeBLzY4au6o,5634
|
36
|
-
prefect/_internal/compatibility/migration.py,sha256=
|
37
|
+
prefect/_internal/compatibility/migration.py,sha256=ec5H2VFCMT1diwW1hinkQpDDSz_PpiArdP1ypEOtNys,4792
|
37
38
|
prefect/_internal/concurrency/__init__.py,sha256=YlTwU9ryjPNwbJa45adLJY00t_DGCh1QrdtY9WdVFfw,2140
|
38
39
|
prefect/_internal/concurrency/api.py,sha256=mE2IahRxGX1DgyxIryDXhF6gwhOJ-cdghsTjJtNil9U,7132
|
39
40
|
prefect/_internal/concurrency/calls.py,sha256=UlNgzCoy3awKEPnMpexBSa1dk_2MNwCWoZ5YQODEmG4,15437
|
@@ -69,14 +70,14 @@ prefect/client/base.py,sha256=laxz64IEhbetMIcRh67_YDYd5ThCmUK9fgUgco8WyXQ,24647
|
|
69
70
|
prefect/client/cloud.py,sha256=5T84QP9IRa_cqL7rmY3lR1wxFW6C41PajFZgelurhK0,4124
|
70
71
|
prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
|
71
72
|
prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
|
72
|
-
prefect/client/orchestration.py,sha256=
|
73
|
+
prefect/client/orchestration.py,sha256=W3tiqjND1lf0GtunLBayMRrUD5ykAcW0GfwxqT9fT-A,142479
|
73
74
|
prefect/client/subscriptions.py,sha256=J9uK9NGHO4VX4Y3NGgBJ4pIG_0cf-dJWPhF3f3PGYL4,3388
|
74
75
|
prefect/client/utilities.py,sha256=Ni1DsFDhnvxpXWerlvZpK8tCg-uZ8UyZwOmDTKEb1DI,3269
|
75
76
|
prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
|
76
|
-
prefect/client/schemas/actions.py,sha256=
|
77
|
+
prefect/client/schemas/actions.py,sha256=wiyq87MrHBVbZZVqA6IX4Gy_rw7sogLfqRSXK3Id0cc,28019
|
77
78
|
prefect/client/schemas/filters.py,sha256=HyIYZQowhkHa_D6syj83zUp5uFEzA8UADLaS9mt1MTo,35305
|
78
|
-
prefect/client/schemas/objects.py,sha256=
|
79
|
-
prefect/client/schemas/responses.py,sha256=
|
79
|
+
prefect/client/schemas/objects.py,sha256=tLFLEuSnISVeLPkOUDsgcZo5Rq7is1ZCladDa_abR-Q,53422
|
80
|
+
prefect/client/schemas/responses.py,sha256=xW9QKmVgBftSEmtuSr5gp9HBFvIDzF6aSFq-mhv7dE8,14948
|
80
81
|
prefect/client/schemas/schedules.py,sha256=8rpqjOYtknu2-1n5_WD4cOplgu93P3mCyX86B22LfL4,13070
|
81
82
|
prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
|
82
83
|
prefect/client/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -135,7 +136,7 @@ prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
|
|
135
136
|
prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
|
136
137
|
prefect/runner/runner.py,sha256=aR9Figoyvn0PAKv8zussaT7sJP9zM-SAmrcYZN19ZB8,45152
|
137
138
|
prefect/runner/server.py,sha256=pXyNGDw2aBYCXRr3zyFCaflxUaQOG4M07zxwXiFngoQ,10676
|
138
|
-
prefect/runner/storage.py,sha256=
|
139
|
+
prefect/runner/storage.py,sha256=FFHk28iF_OLw-cnXQtJIgGXUV4xecxF70mobiszP8C4,24557
|
139
140
|
prefect/runner/submit.py,sha256=EpgYNR-tAub0VFVTIkijp8qwHcS1iojLAZN5NM0X39s,8552
|
140
141
|
prefect/runner/utils.py,sha256=wVgVa7p5uUL7tfYfDOVuq6QIGf-I8U9dfAjYBmYf6n4,3286
|
141
142
|
prefect/runtime/__init__.py,sha256=JswiTlYRup2zXOYu8AqJ7czKtgcw9Kxo0tTbS6aWCqY,407
|
@@ -179,8 +180,8 @@ prefect/workers/base.py,sha256=62E0Q41pPr3eQdSBSUBfiR4WYx01OfuqUp5INRqHGgo,46942
|
|
179
180
|
prefect/workers/process.py,sha256=vylkSSswaSCew-V65YW0HcxIxyKI-uqWkbSKpkkLamQ,9372
|
180
181
|
prefect/workers/server.py,sha256=EfPiMxI7TVgkqpHkdPwSaYG-ydi99sG7jwXhkAcACbI,1519
|
181
182
|
prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
|
182
|
-
prefect_client-3.0.
|
183
|
-
prefect_client-3.0.
|
184
|
-
prefect_client-3.0.
|
185
|
-
prefect_client-3.0.
|
186
|
-
prefect_client-3.0.
|
183
|
+
prefect_client-3.0.0rc8.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
|
184
|
+
prefect_client-3.0.0rc8.dist-info/METADATA,sha256=HxD4j94rGwv_w89XcuyGmUFJsgSjo22pZNJA99XFK1A,7392
|
185
|
+
prefect_client-3.0.0rc8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
186
|
+
prefect_client-3.0.0rc8.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
|
187
|
+
prefect_client-3.0.0rc8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|