prefect-client 2.20.6__py3-none-any.whl → 2.20.7__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/_vendor/fastapi/py.typed +0 -0
- prefect/_vendor/starlette/py.typed +0 -0
- prefect/engine.py +22 -1
- prefect/logging/logging.yml +1 -0
- prefect/settings.py +6 -1
- prefect/utilities/importtools.py +1 -0
- prefect/workers/base.py +6 -0
- {prefect_client-2.20.6.dist-info → prefect_client-2.20.7.dist-info}/METADATA +2 -2
- {prefect_client-2.20.6.dist-info → prefect_client-2.20.7.dist-info}/RECORD +12 -10
- {prefect_client-2.20.6.dist-info → prefect_client-2.20.7.dist-info}/WHEEL +1 -1
- {prefect_client-2.20.6.dist-info → prefect_client-2.20.7.dist-info}/LICENSE +0 -0
- {prefect_client-2.20.6.dist-info → prefect_client-2.20.7.dist-info}/top_level.txt +0 -0
File without changes
|
File without changes
|
prefect/engine.py
CHANGED
@@ -167,6 +167,7 @@ from prefect.results import ResultFactory, UnknownResult
|
|
167
167
|
from prefect.settings import (
|
168
168
|
PREFECT_DEBUG_MODE,
|
169
169
|
PREFECT_EXPERIMENTAL_ENABLE_NEW_ENGINE,
|
170
|
+
PREFECT_RUN_ON_COMPLETION_HOOKS_ON_CACHED,
|
170
171
|
PREFECT_TASK_INTROSPECTION_WARN_THRESHOLD,
|
171
172
|
PREFECT_TASKS_REFRESH_CACHE,
|
172
173
|
PREFECT_UI_URL,
|
@@ -2117,6 +2118,19 @@ async def orchestrate_task_run(
|
|
2117
2118
|
# flag to ensure we only update the task run name once
|
2118
2119
|
run_name_set = False
|
2119
2120
|
|
2121
|
+
run_on_completion_hooks_on_cached = (
|
2122
|
+
PREFECT_RUN_ON_COMPLETION_HOOKS_ON_CACHED
|
2123
|
+
and state.is_completed()
|
2124
|
+
and state.name == "Cached"
|
2125
|
+
)
|
2126
|
+
|
2127
|
+
if run_on_completion_hooks_on_cached:
|
2128
|
+
await _run_task_hooks(
|
2129
|
+
task=task,
|
2130
|
+
task_run=task_run,
|
2131
|
+
state=state,
|
2132
|
+
)
|
2133
|
+
|
2120
2134
|
# Only run the task if we enter a `RUNNING` state
|
2121
2135
|
while state.is_running():
|
2122
2136
|
# Retrieve the latest metadata for the task run context
|
@@ -2326,9 +2340,16 @@ async def _run_task_hooks(task: Task, task_run: TaskRun, state: State) -> None:
|
|
2326
2340
|
catch and log any errors that occur.
|
2327
2341
|
"""
|
2328
2342
|
hooks = None
|
2343
|
+
run_on_completion_hooks_on_cached = (
|
2344
|
+
PREFECT_RUN_ON_COMPLETION_HOOKS_ON_CACHED
|
2345
|
+
and state.is_completed()
|
2346
|
+
and state.name == "Cached"
|
2347
|
+
)
|
2329
2348
|
if state.is_failed() and task.on_failure:
|
2330
2349
|
hooks = task.on_failure
|
2331
|
-
elif
|
2350
|
+
elif (
|
2351
|
+
state.is_completed() or run_on_completion_hooks_on_cached
|
2352
|
+
) and task.on_completion:
|
2332
2353
|
hooks = task.on_completion
|
2333
2354
|
|
2334
2355
|
if hooks:
|
prefect/logging/logging.yml
CHANGED
prefect/settings.py
CHANGED
@@ -649,7 +649,7 @@ PREFECT_API_KEY = Setting(
|
|
649
649
|
)
|
650
650
|
"""API key used to authenticate with a the Prefect API. Defaults to `None`."""
|
651
651
|
|
652
|
-
PREFECT_API_ENABLE_HTTP2 = Setting(bool, default=
|
652
|
+
PREFECT_API_ENABLE_HTTP2 = Setting(bool, default=False)
|
653
653
|
"""
|
654
654
|
If true, enable support for HTTP/2 for communicating with an API.
|
655
655
|
|
@@ -1759,6 +1759,11 @@ PREFECT_API_EVENTS_RELATED_RESOURCE_CACHE_TTL = Setting(
|
|
1759
1759
|
How long to cache related resource data for emitting server-side vents
|
1760
1760
|
"""
|
1761
1761
|
|
1762
|
+
PREFECT_RUN_ON_COMPLETION_HOOKS_ON_CACHED = Setting(bool, default=False)
|
1763
|
+
"""
|
1764
|
+
Whether or not to run on_completion hooks on cached task runs.
|
1765
|
+
"""
|
1766
|
+
|
1762
1767
|
|
1763
1768
|
def automation_settings_enabled() -> bool:
|
1764
1769
|
"""
|
prefect/utilities/importtools.py
CHANGED
@@ -399,6 +399,7 @@ def safe_load_namespace(
|
|
399
399
|
# Save original sys.path and modify it
|
400
400
|
original_sys_path = sys.path.copy()
|
401
401
|
sys.path.insert(0, parent_dir)
|
402
|
+
sys.path.insert(0, file_dir)
|
402
403
|
|
403
404
|
# Create a temporary module for import context
|
404
405
|
temp_module = ModuleType(package_name)
|
prefect/workers/base.py
CHANGED
@@ -139,6 +139,12 @@ class BaseJobConfiguration(BaseModel):
|
|
139
139
|
)
|
140
140
|
variables.update(values)
|
141
141
|
|
142
|
+
# deep merge `env`
|
143
|
+
if isinstance(job_config.get("env"), dict) and (
|
144
|
+
hardcoded_env := variables.get("env")
|
145
|
+
):
|
146
|
+
job_config["env"] = {**hardcoded_env, **job_config.get("env", {})}
|
147
|
+
|
142
148
|
populated_configuration = apply_values(template=job_config, values=variables)
|
143
149
|
populated_configuration = await resolve_block_document_references(
|
144
150
|
template=populated_configuration, client=client
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: prefect-client
|
3
|
-
Version: 2.20.
|
3
|
+
Version: 2.20.7
|
4
4
|
Summary: Workflow orchestration and management.
|
5
5
|
Home-page: https://www.prefect.io
|
6
6
|
Author: Prefect Technologies, Inc.
|
@@ -40,7 +40,7 @@ Requires-Dist: jsonschema<5.0.0,>=4.0.0
|
|
40
40
|
Requires-Dist: orjson<4.0,>=3.7
|
41
41
|
Requires-Dist: packaging<24.3,>=21.3
|
42
42
|
Requires-Dist: pathspec>=0.8.0
|
43
|
-
Requires-Dist: pydantic[email]!=2.0.0,!=2.0.1,!=2.1.0,<
|
43
|
+
Requires-Dist: pydantic[email]!=2.0.0,!=2.0.1,!=2.1.0,<2.9.0,>=1.10.0
|
44
44
|
Requires-Dist: pydantic-core<3.0.0,>=2.12.0
|
45
45
|
Requires-Dist: python-dateutil<3.0.0,>=2.8.2
|
46
46
|
Requires-Dist: python-slugify<9.0,>=5.0
|
@@ -5,7 +5,7 @@ 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=i68gM-ZZ2x9D4aIwaLmApWeHqpMb2U2QWNJjX3aPmZM,92887
|
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
|
@@ -19,7 +19,7 @@ prefect/profiles.toml,sha256=Fs8hD_BdWHZgAijgk8pK_Zx-Pm-YFixqDIfEP6fM-qU,38
|
|
19
19
|
prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
20
|
prefect/results.py,sha256=JXuySIfJb9weg49A2YsI3ZxoPoAAYcXn7ajui_8vMbE,25502
|
21
21
|
prefect/serializers.py,sha256=MsMTPgo6APq-pN1pcLD9COdVFnBS9E3WaMuaKgpeJdQ,8821
|
22
|
-
prefect/settings.py,sha256=
|
22
|
+
prefect/settings.py,sha256=hQw2VtosFrWG_Q1w8WbodS6MIZBtX-QcGZz-hZfhp-g,75373
|
23
23
|
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
|
@@ -86,6 +86,7 @@ prefect/_vendor/fastapi/exceptions.py,sha256=131GbKBhoKJNvkE3k2-IvKye6xH-fvNaJ20
|
|
86
86
|
prefect/_vendor/fastapi/logger.py,sha256=I9NNi3ov8AcqbsbC9wl1X-hdItKgYt2XTrx1f99Zpl4,54
|
87
87
|
prefect/_vendor/fastapi/param_functions.py,sha256=BLvSfhJqiViP-_zYQ7BL_t9IARf4EJbKZSikDNsOkfw,9130
|
88
88
|
prefect/_vendor/fastapi/params.py,sha256=UBEVQ_EK9iIbF3DOJXfH2zcO27uvf5NeRdslMOEtIEA,13350
|
89
|
+
prefect/_vendor/fastapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
89
90
|
prefect/_vendor/fastapi/requests.py,sha256=KsGwp86w95S-0wgx4pL-T4i9M_z-_KlMzX43rdUg9YU,183
|
90
91
|
prefect/_vendor/fastapi/responses.py,sha256=M67RzoU0K91ojgHjvDIDK3iyBAvA9YKPsUJIP4FtxtY,1381
|
91
92
|
prefect/_vendor/fastapi/routing.py,sha256=Kz1WttDcSqHkt1fW9_UmkZG-G0noRY3FAStkfw_VUNE,57083
|
@@ -131,6 +132,7 @@ prefect/_vendor/starlette/datastructures.py,sha256=AyApp3jfD9muXBn8EVbuAVk6ZhCDY
|
|
131
132
|
prefect/_vendor/starlette/endpoints.py,sha256=00KnI8grT2xxv1jERCvAgqwVxRDOo8hrqpFHnKow9xs,5319
|
132
133
|
prefect/_vendor/starlette/exceptions.py,sha256=ODmYfjgNKWAZwfV8TDVepoEwhv1Kl92KvvwMvEJ04AA,1840
|
133
134
|
prefect/_vendor/starlette/formparsers.py,sha256=aNoQl0CPI7pYnvae2k0KB2jNnv6mQJL-N2FuhRhPLW4,10450
|
135
|
+
prefect/_vendor/starlette/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
134
136
|
prefect/_vendor/starlette/requests.py,sha256=dytpLA1l9oVb-u98i4caDI1z4-XtPCe1jzjFajlQWa8,10899
|
135
137
|
prefect/_vendor/starlette/responses.py,sha256=1l36hyZeTXWYCQ8dYCo-eM_I6KyGuq_qUdtM9GBT3EA,12565
|
136
138
|
prefect/_vendor/starlette/routing.py,sha256=Y0uiRXBQ0uRWs1O63qFD6doqKeh-KhqhuiHU5ovodQs,35696
|
@@ -232,7 +234,7 @@ prefect/logging/formatters.py,sha256=EPppQgqvbsIoSDGZFUqHJj1XdL-dvXGZe4TEcuRtfOI
|
|
232
234
|
prefect/logging/handlers.py,sha256=zypWVA9EbaKMimRnZWxjmYYmZE04pB7OP5zKwkrOYHQ,10685
|
233
235
|
prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rgok,1681
|
234
236
|
prefect/logging/loggers.py,sha256=kfTpM0RIcWm87UBYKggzcv0xeFfbuSIjH_i4pXdAZlo,11485
|
235
|
-
prefect/logging/logging.yml,sha256=
|
237
|
+
prefect/logging/logging.yml,sha256=ALNY_E1i3E7tkagCB3Qg35IvuRBHt-t9QqVJvsSq5xA,3185
|
236
238
|
prefect/pydantic/__init__.py,sha256=BsW32X7fvl44J1JQer1tkEpfleMtL2kL5Uy1KmwWvso,2714
|
237
239
|
prefect/pydantic/main.py,sha256=ups_UULBhCPhB-E7X7-Qgbpor1oJdqChRzpD0ZYQH8A,839
|
238
240
|
prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
|
@@ -265,7 +267,7 @@ prefect/utilities/dockerutils.py,sha256=O5lIgCej5KGRYU2TC1NzNuIK595uOIWJilhZXYEV
|
|
265
267
|
prefect/utilities/engine.py,sha256=6O7zYZQfpo6FtsI6n9DUNs-MB7_xLs3iXiCnSukR8qI,26046
|
266
268
|
prefect/utilities/filesystem.py,sha256=M_TeZ1MftjBf7hDLWk-Iphir369TpJ1binMsBKiO9YE,4449
|
267
269
|
prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
|
268
|
-
prefect/utilities/importtools.py,sha256=
|
270
|
+
prefect/utilities/importtools.py,sha256=r1Ii7CfUJr50y4WktUcBcKMBS9qyL5i6dCpBWuG-D9c,19555
|
269
271
|
prefect/utilities/math.py,sha256=wLwcKVidpNeWQi1TUIWWLHGjlz9UgboX9FUGhx_CQzo,2821
|
270
272
|
prefect/utilities/names.py,sha256=x-stHcF7_tebJPvB1dz-5FvdXJXNBTg2kFZXSnIBBmk,1657
|
271
273
|
prefect/utilities/processutils.py,sha256=yo_GO48pZzgn4A0IK5irTAoqyUCYvWKDSqHXCrtP8c4,14547
|
@@ -281,13 +283,13 @@ prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQP
|
|
281
283
|
prefect/utilities/schema_tools/hydration.py,sha256=RNuJK4Vd__V69gdQbaWSVhSkV0AUISfGzH_xd0p6Zh0,8291
|
282
284
|
prefect/utilities/schema_tools/validation.py,sha256=zZHL_UFxAlgaUzi-qsEOrhWtZ7EkFQvPkX_YN1EJNTo,8414
|
283
285
|
prefect/workers/__init__.py,sha256=6el2Q856CuRPa5Hdrbm9QyAWB_ovcT2bImSFsoWI46k,66
|
284
|
-
prefect/workers/base.py,sha256=
|
286
|
+
prefect/workers/base.py,sha256=LNcVu0FIDBYv2XnWH1a2uV2Yyngtlyq8_pvLC4dxbrc,45576
|
285
287
|
prefect/workers/block.py,sha256=aYY__uq3v1eq1kkbVukxyhQNbkknaKYo6-_3tcrfKKA,8067
|
286
288
|
prefect/workers/process.py,sha256=pPtCdA7fKQ4OsvoitT-cayZeh5HgLX4xBUYlb2Zad-Q,9475
|
287
289
|
prefect/workers/server.py,sha256=WVZJxR8nTMzK0ov0BD0xw5OyQpT26AxlXbsGQ1OrxeQ,1551
|
288
290
|
prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
|
289
|
-
prefect_client-2.20.
|
290
|
-
prefect_client-2.20.
|
291
|
-
prefect_client-2.20.
|
292
|
-
prefect_client-2.20.
|
293
|
-
prefect_client-2.20.
|
291
|
+
prefect_client-2.20.7.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
|
292
|
+
prefect_client-2.20.7.dist-info/METADATA,sha256=mnKbnE3cWEP7Xg2LBPLGtlhfD66cWK7JB3oclffDEWI,7391
|
293
|
+
prefect_client-2.20.7.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
294
|
+
prefect_client-2.20.7.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
|
295
|
+
prefect_client-2.20.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|