prefect-client 3.0.0rc1__py3-none-any.whl → 3.0.0rc2__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/blocks/redis.py +168 -0
- prefect/client/orchestration.py +17 -1
- prefect/client/schemas/objects.py +12 -8
- prefect/concurrency/asyncio.py +1 -1
- prefect/concurrency/services.py +1 -1
- prefect/deployments/base.py +7 -1
- prefect/events/schemas/events.py +2 -0
- prefect/flow_engine.py +2 -2
- prefect/flow_runs.py +2 -2
- prefect/flows.py +8 -1
- prefect/futures.py +44 -43
- prefect/input/run_input.py +4 -2
- prefect/records/cache_policies.py +179 -0
- prefect/settings.py +6 -3
- prefect/states.py +6 -4
- prefect/task_engine.py +169 -198
- prefect/task_runners.py +6 -2
- prefect/task_runs.py +203 -0
- prefect/{task_server.py → task_worker.py} +37 -27
- prefect/tasks.py +49 -22
- prefect/transactions.py +6 -2
- prefect/utilities/callables.py +74 -3
- prefect/utilities/importtools.py +5 -5
- prefect/variables.py +15 -10
- prefect/workers/base.py +11 -1
- {prefect_client-3.0.0rc1.dist-info → prefect_client-3.0.0rc2.dist-info}/METADATA +2 -1
- {prefect_client-3.0.0rc1.dist-info → prefect_client-3.0.0rc2.dist-info}/RECORD +30 -27
- {prefect_client-3.0.0rc1.dist-info → prefect_client-3.0.0rc2.dist-info}/LICENSE +0 -0
- {prefect_client-3.0.0rc1.dist-info → prefect_client-3.0.0rc2.dist-info}/WHEEL +0 -0
- {prefect_client-3.0.0rc1.dist-info → prefect_client-3.0.0rc2.dist-info}/top_level.txt +0 -0
prefect/utilities/callables.py
CHANGED
@@ -456,7 +456,14 @@ def _generate_signature_from_source(
|
|
456
456
|
(
|
457
457
|
node
|
458
458
|
for node in ast.walk(parsed_code)
|
459
|
-
if isinstance(
|
459
|
+
if isinstance(
|
460
|
+
node,
|
461
|
+
(
|
462
|
+
ast.FunctionDef,
|
463
|
+
ast.AsyncFunctionDef,
|
464
|
+
),
|
465
|
+
)
|
466
|
+
and node.name == func_name
|
460
467
|
),
|
461
468
|
None,
|
462
469
|
)
|
@@ -464,6 +471,26 @@ def _generate_signature_from_source(
|
|
464
471
|
raise ValueError(f"Function {func_name} not found in source code")
|
465
472
|
parameters = []
|
466
473
|
|
474
|
+
# Handle annotations for positional only args e.g. def func(a, /, b, c)
|
475
|
+
for arg in func_def.args.posonlyargs:
|
476
|
+
name = arg.arg
|
477
|
+
annotation = arg.annotation
|
478
|
+
if annotation is not None:
|
479
|
+
try:
|
480
|
+
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
481
|
+
annotation = eval(ann_code, namespace)
|
482
|
+
except Exception as e:
|
483
|
+
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
484
|
+
annotation = inspect.Parameter.empty
|
485
|
+
else:
|
486
|
+
annotation = inspect.Parameter.empty
|
487
|
+
|
488
|
+
param = inspect.Parameter(
|
489
|
+
name, inspect.Parameter.POSITIONAL_ONLY, annotation=annotation
|
490
|
+
)
|
491
|
+
parameters.append(param)
|
492
|
+
|
493
|
+
# Determine the annotations for args e.g. def func(a: int, b: str, c: float)
|
467
494
|
for arg in func_def.args.args:
|
468
495
|
name = arg.arg
|
469
496
|
annotation = arg.annotation
|
@@ -486,6 +513,7 @@ def _generate_signature_from_source(
|
|
486
513
|
)
|
487
514
|
parameters.append(param)
|
488
515
|
|
516
|
+
# Handle default values for args e.g. def func(a=1, b="hello", c=3.14)
|
489
517
|
defaults = [None] * (
|
490
518
|
len(func_def.args.args) - len(func_def.args.defaults)
|
491
519
|
) + func_def.args.defaults
|
@@ -501,6 +529,42 @@ def _generate_signature_from_source(
|
|
501
529
|
default = None # Set to None if evaluation fails
|
502
530
|
parameters[parameters.index(param)] = param.replace(default=default)
|
503
531
|
|
532
|
+
# Handle annotations for keyword only args e.g. def func(*, a: int, b: str)
|
533
|
+
for kwarg in func_def.args.kwonlyargs:
|
534
|
+
name = kwarg.arg
|
535
|
+
annotation = kwarg.annotation
|
536
|
+
if annotation is not None:
|
537
|
+
try:
|
538
|
+
ann_code = compile(ast.Expression(annotation), "<string>", "eval")
|
539
|
+
annotation = eval(ann_code, namespace)
|
540
|
+
except Exception as e:
|
541
|
+
logger.debug("Failed to evaluate annotation for %s: %s", name, e)
|
542
|
+
annotation = inspect.Parameter.empty
|
543
|
+
else:
|
544
|
+
annotation = inspect.Parameter.empty
|
545
|
+
|
546
|
+
param = inspect.Parameter(
|
547
|
+
name, inspect.Parameter.KEYWORD_ONLY, annotation=annotation
|
548
|
+
)
|
549
|
+
parameters.append(param)
|
550
|
+
|
551
|
+
# Handle default values for keyword only args e.g. def func(*, a=1, b="hello")
|
552
|
+
defaults = [None] * (
|
553
|
+
len(func_def.args.kwonlyargs) - len(func_def.args.kw_defaults)
|
554
|
+
) + func_def.args.kw_defaults
|
555
|
+
for param, default in zip(parameters[-len(func_def.args.kwonlyargs) :], defaults):
|
556
|
+
if default is not None:
|
557
|
+
try:
|
558
|
+
def_code = compile(ast.Expression(default), "<string>", "eval")
|
559
|
+
default = eval(def_code, namespace)
|
560
|
+
except Exception as e:
|
561
|
+
logger.debug(
|
562
|
+
"Failed to evaluate default value for %s: %s", param.name, e
|
563
|
+
)
|
564
|
+
default = None
|
565
|
+
parameters[parameters.index(param)] = param.replace(default=default)
|
566
|
+
|
567
|
+
# Handle annotations for varargs and kwargs e.g. def func(*args: int, **kwargs: str)
|
504
568
|
if func_def.args.vararg:
|
505
569
|
parameters.append(
|
506
570
|
inspect.Parameter(
|
@@ -512,7 +576,7 @@ def _generate_signature_from_source(
|
|
512
576
|
inspect.Parameter(func_def.args.kwarg.arg, inspect.Parameter.VAR_KEYWORD)
|
513
577
|
)
|
514
578
|
|
515
|
-
# Handle return annotation
|
579
|
+
# Handle return annotation e.g. def func() -> int
|
516
580
|
return_annotation = func_def.returns
|
517
581
|
if return_annotation is not None:
|
518
582
|
try:
|
@@ -544,7 +608,14 @@ def _get_docstring_from_source(source_code: str, func_name: str) -> Optional[str
|
|
544
608
|
(
|
545
609
|
node
|
546
610
|
for node in ast.walk(parsed_code)
|
547
|
-
if isinstance(
|
611
|
+
if isinstance(
|
612
|
+
node,
|
613
|
+
(
|
614
|
+
ast.FunctionDef,
|
615
|
+
ast.AsyncFunctionDef,
|
616
|
+
),
|
617
|
+
)
|
618
|
+
and node.name == func_name
|
548
619
|
),
|
549
620
|
None,
|
550
621
|
)
|
prefect/utilities/importtools.py
CHANGED
@@ -378,7 +378,7 @@ def safe_load_namespace(source_code: str):
|
|
378
378
|
"""
|
379
379
|
parsed_code = ast.parse(source_code)
|
380
380
|
|
381
|
-
namespace = {}
|
381
|
+
namespace = {"__name__": "prefect_safe_namespace_loader"}
|
382
382
|
|
383
383
|
# Walk through the AST and find all import statements
|
384
384
|
for node in ast.walk(parsed_code):
|
@@ -412,11 +412,11 @@ def safe_load_namespace(source_code: str):
|
|
412
412
|
except ImportError as e:
|
413
413
|
logger.debug("Failed to import from %s: %s", node.module, e)
|
414
414
|
|
415
|
-
# Handle local
|
415
|
+
# Handle local definitions
|
416
416
|
for node in ast.walk(parsed_code):
|
417
|
-
if isinstance(node, (ast.ClassDef, ast.FunctionDef)):
|
417
|
+
if isinstance(node, (ast.ClassDef, ast.FunctionDef, ast.Assign)):
|
418
418
|
try:
|
419
|
-
# Compile and execute each class and function definition
|
419
|
+
# Compile and execute each class and function definition and assignment
|
420
420
|
code = compile(
|
421
421
|
ast.Module(body=[node], type_ignores=[]),
|
422
422
|
filename="<ast>",
|
@@ -424,5 +424,5 @@ def safe_load_namespace(source_code: str):
|
|
424
424
|
)
|
425
425
|
exec(code, namespace)
|
426
426
|
except Exception as e:
|
427
|
-
logger.debug("Failed to compile
|
427
|
+
logger.debug("Failed to compile: %s", e)
|
428
428
|
return namespace
|
prefect/variables.py
CHANGED
@@ -28,17 +28,19 @@ class Variable(VariableRequest):
|
|
28
28
|
value: StrictVariableValue,
|
29
29
|
tags: Optional[List[str]] = None,
|
30
30
|
overwrite: bool = False,
|
31
|
+
as_object: bool = False,
|
31
32
|
):
|
32
33
|
"""
|
33
|
-
Sets a new variable. If one exists with the same name,
|
34
|
+
Sets a new variable. If one exists with the same name, must pass `overwrite=True`
|
34
35
|
|
35
|
-
Returns `True
|
36
|
+
Returns the newly set value. If `as_object=True`, return the full Variable object
|
36
37
|
|
37
38
|
Args:
|
38
39
|
- name: The name of the variable to set.
|
39
40
|
- value: The value of the variable to set.
|
40
41
|
- tags: An optional list of strings to associate with the variable.
|
41
42
|
- overwrite: Whether to overwrite the variable if it already exists.
|
43
|
+
- as_object: Whether to return the full Variable object.
|
42
44
|
|
43
45
|
Example:
|
44
46
|
Set a new variable and overwrite it if it already exists.
|
@@ -51,17 +53,22 @@ class Variable(VariableRequest):
|
|
51
53
|
```
|
52
54
|
"""
|
53
55
|
client, _ = get_or_create_client()
|
54
|
-
|
56
|
+
variable_exists = await client.read_variable_by_name(name)
|
55
57
|
var_dict = {"name": name, "value": value, "tags": tags or []}
|
56
|
-
|
58
|
+
|
59
|
+
if variable_exists:
|
57
60
|
if not overwrite:
|
58
61
|
raise ValueError(
|
59
|
-
"
|
60
|
-
"If you would like to overwrite it, pass `overwrite=True`."
|
62
|
+
f"Variable {name!r} already exists. Use `overwrite=True` to update it."
|
61
63
|
)
|
62
64
|
await client.update_variable(variable=VariableUpdateRequest(**var_dict))
|
65
|
+
variable = await client.read_variable_by_name(name)
|
63
66
|
else:
|
64
|
-
await client.create_variable(
|
67
|
+
variable = await client.create_variable(
|
68
|
+
variable=VariableRequest(**var_dict)
|
69
|
+
)
|
70
|
+
|
71
|
+
return variable if as_object else variable.value
|
65
72
|
|
66
73
|
@classmethod
|
67
74
|
@sync_compatible
|
@@ -96,10 +103,8 @@ class Variable(VariableRequest):
|
|
96
103
|
"""
|
97
104
|
client, _ = get_or_create_client()
|
98
105
|
variable = await client.read_variable_by_name(name)
|
99
|
-
if as_object:
|
100
|
-
return variable
|
101
106
|
|
102
|
-
return variable.value if variable else default
|
107
|
+
return variable if as_object else (variable.value if variable else default)
|
103
108
|
|
104
109
|
@classmethod
|
105
110
|
@sync_compatible
|
prefect/workers/base.py
CHANGED
@@ -106,12 +106,22 @@ class BaseJobConfiguration(BaseModel):
|
|
106
106
|
def _coerce_command(cls, v):
|
107
107
|
return return_v_or_none(v)
|
108
108
|
|
109
|
+
@field_validator("env", mode="before")
|
110
|
+
@classmethod
|
111
|
+
def _coerce_env(cls, v):
|
112
|
+
return {k: str(v) if v is not None else None for k, v in v.items()}
|
113
|
+
|
109
114
|
@staticmethod
|
110
115
|
def _get_base_config_defaults(variables: dict) -> dict:
|
111
116
|
"""Get default values from base config for all variables that have them."""
|
112
117
|
defaults = dict()
|
113
118
|
for variable_name, attrs in variables.items():
|
114
|
-
|
119
|
+
# We remote `None` values because we don't want to use them in templating.
|
120
|
+
# The currently logic depends on keys not existing to populate the correct value
|
121
|
+
# in some cases.
|
122
|
+
# Pydantic will provide default values if the keys are missing when creating
|
123
|
+
# a configuration class.
|
124
|
+
if "default" in attrs and attrs.get("default") is not None:
|
115
125
|
defaults[variable_name] = attrs["default"]
|
116
126
|
|
117
127
|
return defaults
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: prefect-client
|
3
|
-
Version: 3.0.
|
3
|
+
Version: 3.0.0rc2
|
4
4
|
Summary: Workflow orchestration and management.
|
5
5
|
Home-page: https://www.prefect.io
|
6
6
|
Author: Prefect Technologies, Inc.
|
@@ -30,6 +30,7 @@ Requires-Dist: cachetools <6.0,>=5.3
|
|
30
30
|
Requires-Dist: cloudpickle <4.0,>=2.0
|
31
31
|
Requires-Dist: coolname <3.0.0,>=1.0.4
|
32
32
|
Requires-Dist: croniter <3.0.0,>=1.0.12
|
33
|
+
Requires-Dist: exceptiongroup >=1.0.0
|
33
34
|
Requires-Dist: fastapi <1.0.0,>=0.111.0
|
34
35
|
Requires-Dist: fsspec >=2022.5.0
|
35
36
|
Requires-Dist: graphviz >=0.20.1
|
@@ -7,24 +7,25 @@ prefect/context.py,sha256=9pw-HE0ytP7xzwE2P-O5mylQurs5srcgIwmxeSFDy-Q,24500
|
|
7
7
|
prefect/engine.py,sha256=8IUQZXPLW623zkCdAmErO7_qDksnmKdOZqLpqli_krk,1904
|
8
8
|
prefect/exceptions.py,sha256=Fyl-GXvF9OuKHtsyn5EhWg81pkU1UG3DFHsI1JzhOQE,10851
|
9
9
|
prefect/filesystems.py,sha256=HsflgeOfFGAni9KrdQDbwpb23joSKGtTWDAQOr4GqBY,16819
|
10
|
-
prefect/flow_engine.py,sha256=
|
11
|
-
prefect/flow_runs.py,sha256=
|
12
|
-
prefect/flows.py,sha256=
|
13
|
-
prefect/futures.py,sha256
|
10
|
+
prefect/flow_engine.py,sha256=f5yQRAN3abUr-LdmSB3AfdRHbzbTCL-MaNteWNCrkvw,25264
|
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
|
14
14
|
prefect/manifests.py,sha256=477XcmfdC_yE81wT6zIAKnEUEJ0lH9ZLfOVSgX2FohE,676
|
15
15
|
prefect/plugins.py,sha256=0C-D3-dKi06JZ44XEGmLjCiAkefbE_lKX-g3urzdbQ4,4163
|
16
16
|
prefect/profiles.toml,sha256=Fs8hD_BdWHZgAijgk8pK_Zx-Pm-YFixqDIfEP6fM-qU,38
|
17
17
|
prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
18
|
prefect/results.py,sha256=BeIOWNTzEgdOOkMZA4R3KcFpaknjbWQm-WEDTqbzBuU,25972
|
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/
|
25
|
-
prefect/
|
26
|
-
prefect/
|
27
|
-
prefect/
|
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
|
28
29
|
prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
30
|
prefect/_internal/_logging.py,sha256=HvNHY-8P469o5u4LYEDBTem69XZEt1QUeUaLToijpak,810
|
30
31
|
prefect/_internal/pytz.py,sha256=47Y28jKxUvgw7vaEvN-Xl0laiVdMLXC8IRUEk7oHz1Q,13749
|
@@ -59,6 +60,7 @@ prefect/blocks/core.py,sha256=AavpIpQx6znhomFYS751hY8HjjrAM0Ug3SwNRELpjGA,46657
|
|
59
60
|
prefect/blocks/fields.py,sha256=1m507VVmkpOnMF_7N-qboRjtw4_ceIuDneX3jZ3Jm54,63
|
60
61
|
prefect/blocks/kubernetes.py,sha256=1AHzcI2hPeu5zOEKLC4FBjjv8VdZ8ianuv6oVEh4ou8,4016
|
61
62
|
prefect/blocks/notifications.py,sha256=QV2ndeiERBbL9vNW2zR1LzH86llDY1sJVh2DN0sh1eo,28198
|
63
|
+
prefect/blocks/redis.py,sha256=GUKYyx2QLtyNvgf5FT_dJxbgQcOzWCja3I23J1-AXhM,5629
|
62
64
|
prefect/blocks/system.py,sha256=tkONKzDlaQgR6NtWXON0ZQm7nGuFKt0_Du3sj8ubs-M,3605
|
63
65
|
prefect/blocks/webhook.py,sha256=mnAfGF64WyjH55BKkTbC1AP9FETNcrm_PEjiqJNpigA,1867
|
64
66
|
prefect/client/__init__.py,sha256=yJ5FRF9RxNUio2V_HmyKCKw5G6CZO0h8cv6xA_Hkpcc,477
|
@@ -66,23 +68,23 @@ prefect/client/base.py,sha256=laxz64IEhbetMIcRh67_YDYd5ThCmUK9fgUgco8WyXQ,24647
|
|
66
68
|
prefect/client/cloud.py,sha256=5T84QP9IRa_cqL7rmY3lR1wxFW6C41PajFZgelurhK0,4124
|
67
69
|
prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
|
68
70
|
prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
|
69
|
-
prefect/client/orchestration.py,sha256=
|
71
|
+
prefect/client/orchestration.py,sha256=tGQfaBpghPIzNe_CKDcwDgq67YFRfjLaEOdvHlgI4sM,139792
|
70
72
|
prefect/client/subscriptions.py,sha256=1jalWVk8Ho-dHHuDePr43vw_SYm2BcOA5MX2Dp7REng,3366
|
71
73
|
prefect/client/utilities.py,sha256=Ni1DsFDhnvxpXWerlvZpK8tCg-uZ8UyZwOmDTKEb1DI,3269
|
72
74
|
prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
|
73
75
|
prefect/client/schemas/actions.py,sha256=OOHVSeCMGW3hXK65M4Jr3fQM9fq95c_vvnPBi2bHcUM,28127
|
74
76
|
prefect/client/schemas/filters.py,sha256=KqRPjSzb-Tt3gVfVGNiLPaYKtD_W9npsPLGxpaVPm5U,35045
|
75
|
-
prefect/client/schemas/objects.py,sha256=
|
77
|
+
prefect/client/schemas/objects.py,sha256=1HusFAS5rx7T4VleWc6UGJVwZhUUl9uVX8CUIf2Xnjw,53126
|
76
78
|
prefect/client/schemas/responses.py,sha256=YnofjvPxaDE0kPw7SLfK5TuZSJ0IlqP2G17rQgz_buk,15135
|
77
79
|
prefect/client/schemas/schedules.py,sha256=EIvVQN01ZnLf6Yu-3_Ar1iHybDwJ6C767AAnqMhVxWo,12846
|
78
80
|
prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
|
79
81
|
prefect/concurrency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
|
-
prefect/concurrency/asyncio.py,sha256=
|
82
|
+
prefect/concurrency/asyncio.py,sha256=P9e69XYik9QBSlUYyq1OcyqyUJaFjvW8jm6nfMkZ7uA,4304
|
81
83
|
prefect/concurrency/events.py,sha256=rQLSBwcYCzvdKTXr7bLjgMIklllObxB33MAL6dylXAM,1802
|
82
|
-
prefect/concurrency/services.py,sha256=
|
84
|
+
prefect/concurrency/services.py,sha256=JP74IUjdoDoljy-BdZQTa1IOEuSZZxMgsMyr7KJAYS0,2598
|
83
85
|
prefect/concurrency/sync.py,sha256=gXyiiA0bul7jjpHWPm6su8pFdBiMOekhu9FHnjiPWBQ,3339
|
84
86
|
prefect/deployments/__init__.py,sha256=UoP8mn3Drz65sK2FVZJxyGJR5zhsYQD5BRX3LlaAxdI,317
|
85
|
-
prefect/deployments/base.py,sha256=
|
87
|
+
prefect/deployments/base.py,sha256=DJJJCDjrXLnhtMDrz1ZpH9R1rNhhW-qxDc1Q7MVGIkA,16561
|
86
88
|
prefect/deployments/flow_runs.py,sha256=eatcBD7pg-aaEqs9JxQQcKN_flf614O4gAvedAlRyNo,6803
|
87
89
|
prefect/deployments/runner.py,sha256=5f3pFGxw_DOA9k169KFIzILTZ_TkKIWI9DLhl1iK1Ck,44716
|
88
90
|
prefect/deployments/schedules.py,sha256=c8ONC9t_buAWVxfcWAQEGhuIkU5rAjetuvU87PLJx48,2031
|
@@ -102,7 +104,7 @@ prefect/events/cli/automations.py,sha256=XK0Uad87-3iECnIcQphrUG0wSwtqQVZsEyEkKRk
|
|
102
104
|
prefect/events/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
105
|
prefect/events/schemas/automations.py,sha256=hZ7lbkJEhpHmyd118k_O7kl_i_lEnDifwsn2ZHyn8Po,14380
|
104
106
|
prefect/events/schemas/deployment_triggers.py,sha256=i_BtKscXU9kOHAeqmxrYQr8itEYfuPIxAnCW3fo1YeE,3114
|
105
|
-
prefect/events/schemas/events.py,sha256=
|
107
|
+
prefect/events/schemas/events.py,sha256=RqosMukGfHvLPnYDcyxkm6VuifCeH5-aQ4POdMPmaUA,8649
|
106
108
|
prefect/events/schemas/labelling.py,sha256=bU-XYaHXhI2MEBIHngth96R9D02m8HHb85KNcHZ_1Gc,3073
|
107
109
|
prefect/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
110
|
prefect/infrastructure/provisioners/__init__.py,sha256=wn240gHrQbien2g_g2A8Ujb2iFyjmDgMHLQ7tgQngf4,1706
|
@@ -112,7 +114,7 @@ prefect/infrastructure/provisioners/ecs.py,sha256=gAkJ5R0gVSUZpEAGVr6YZC00PfNZeg
|
|
112
114
|
prefect/infrastructure/provisioners/modal.py,sha256=4-VanBPqWlAj_5ckpXT7NonbqP0YwznTXFa4P8cthIs,9080
|
113
115
|
prefect/input/__init__.py,sha256=TPJ9UfG9_SiBze23sQwU1MnWI8AgyEMNihotgTebFQ0,627
|
114
116
|
prefect/input/actions.py,sha256=IGdWjVcesnRjLmPCzB4ZM7FkRWXDKCku6yhE-7p0vKk,3777
|
115
|
-
prefect/input/run_input.py,sha256=
|
117
|
+
prefect/input/run_input.py,sha256=2wG-0L3N0spwh61Z3xI0PM8AAjHEIQZcDN703Er_gLo,18728
|
116
118
|
prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
|
117
119
|
prefect/logging/configuration.py,sha256=bYqFJm0QgLz92Dub1Lbl3JONjjm0lTK149pNAGbxPdM,3467
|
118
120
|
prefect/logging/filters.py,sha256=9keHLN4-cpnsWcii1qU0RITNi9-m7pOhkJ_t0MtCM4k,1117
|
@@ -122,6 +124,7 @@ prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rg
|
|
122
124
|
prefect/logging/loggers.py,sha256=pWxp2SLiyYTD4Dpxqi7tsdlThhdpmdorPAL8wKM2MBM,11517
|
123
125
|
prefect/logging/logging.yml,sha256=UkEewf0c3_dURI2uCU4RrxkhI5Devoa1s93fl7hilcg,3160
|
124
126
|
prefect/records/__init__.py,sha256=7q-lwyevfVgb5S7K9frzawmiJmpZ5ET0m5yXIHBYcVA,31
|
127
|
+
prefect/records/cache_policies.py,sha256=Tznezrm_sVR1npwirrUNv5t8b7XFkJ8xDrNW84KUlyg,4735
|
125
128
|
prefect/records/result_store.py,sha256=Xa5PdalG9yyPIGxTvdgDSAp2LP4UFnJ9vF2Vv-rnoGA,1352
|
126
129
|
prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
|
127
130
|
prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
|
@@ -140,7 +143,7 @@ prefect/types/__init__.py,sha256=FmTJx5Uh89Pv6ssgcyUiA4p1zxPMHrUdQ7gfXqmypqw,216
|
|
140
143
|
prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
144
|
prefect/utilities/annotations.py,sha256=bXB43j5Zsq5gaBcJe9qnszBlnNwCTwqSTgcu2OkkRLo,2776
|
142
145
|
prefect/utilities/asyncutils.py,sha256=YCkMNOGB1DCLR6pgr6hgXFOjfyv9fXhY8ISiv4tHX0w,19174
|
143
|
-
prefect/utilities/callables.py,sha256=
|
146
|
+
prefect/utilities/callables.py,sha256=Y4P4dvsOlPovT5BuL8kjrmt0RmyV4tvtXNOwJ5ADNEc,24320
|
144
147
|
prefect/utilities/collections.py,sha256=9vUZA8j_NAOcsRZ45UWGYpO1EuUErcpcPTyZap5q28I,14883
|
145
148
|
prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
|
146
149
|
prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
|
@@ -149,7 +152,7 @@ prefect/utilities/dockerutils.py,sha256=BXXW5RinfPxNa02k2XDqPwbKhAvrey3IvVZwLV3C
|
|
149
152
|
prefect/utilities/engine.py,sha256=t5Gi96TY2Uv_cTi-WnYPtPoI-MEWeN11VxraDulyyJI,29707
|
150
153
|
prefect/utilities/filesystem.py,sha256=M_TeZ1MftjBf7hDLWk-Iphir369TpJ1binMsBKiO9YE,4449
|
151
154
|
prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
|
152
|
-
prefect/utilities/importtools.py,sha256=
|
155
|
+
prefect/utilities/importtools.py,sha256=u-b5Hpuh7YBnLEjWfVPoppxpKEBmYszEQ6oMkrr-Ff8,14471
|
153
156
|
prefect/utilities/math.py,sha256=wLwcKVidpNeWQi1TUIWWLHGjlz9UgboX9FUGhx_CQzo,2821
|
154
157
|
prefect/utilities/names.py,sha256=x-stHcF7_tebJPvB1dz-5FvdXJXNBTg2kFZXSnIBBmk,1657
|
155
158
|
prefect/utilities/processutils.py,sha256=yo_GO48pZzgn4A0IK5irTAoqyUCYvWKDSqHXCrtP8c4,14547
|
@@ -165,12 +168,12 @@ prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQP
|
|
165
168
|
prefect/utilities/schema_tools/hydration.py,sha256=Nitnmr35Mcn5z9NXIvh9DuZW5nCZxpjyMc9RFawMsgs,8376
|
166
169
|
prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
|
167
170
|
prefect/workers/__init__.py,sha256=8dP8SLZbWYyC_l9DRTQSE3dEbDgns5DZDhxkp_NfsbQ,35
|
168
|
-
prefect/workers/base.py,sha256=
|
171
|
+
prefect/workers/base.py,sha256=e5KUgepv9MtPk_9L-Ipg35AOumuGErQhfNHFi5OiBEM,45622
|
169
172
|
prefect/workers/process.py,sha256=vylkSSswaSCew-V65YW0HcxIxyKI-uqWkbSKpkkLamQ,9372
|
170
173
|
prefect/workers/server.py,sha256=EfPiMxI7TVgkqpHkdPwSaYG-ydi99sG7jwXhkAcACbI,1519
|
171
174
|
prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
|
172
|
-
prefect_client-3.0.
|
173
|
-
prefect_client-3.0.
|
174
|
-
prefect_client-3.0.
|
175
|
-
prefect_client-3.0.
|
176
|
-
prefect_client-3.0.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|