prefect-client 3.0.0rc14__py3-none-any.whl → 3.0.0rc16__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/task_engine.py CHANGED
@@ -5,7 +5,6 @@ import time
5
5
  from asyncio import CancelledError
6
6
  from contextlib import ExitStack, asynccontextmanager, contextmanager
7
7
  from dataclasses import dataclass, field
8
- from functools import wraps
9
8
  from textwrap import dedent
10
9
  from typing import (
11
10
  Any,
@@ -231,11 +230,11 @@ class BaseTaskRunEngine(Generic[P, R]):
231
230
 
232
231
  @task
233
232
  def say_hello(name):
234
- print f"Hello, {name}!"
233
+ print(f"Hello, {name}!")
235
234
 
236
235
  @flow
237
236
  def example_flow():
238
- future = say_hello.submit(name="Marvin)
237
+ future = say_hello.submit(name="Marvin")
239
238
  future.wait()
240
239
 
241
240
  example_flow()
@@ -409,6 +408,22 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
409
408
  self.task_run.state_id = new_state.id
410
409
  self.task_run.state_type = new_state.type
411
410
  self.task_run.state_name = new_state.name
411
+
412
+ if new_state.is_final():
413
+ if (
414
+ isinstance(state.data, BaseResult)
415
+ and state.data.has_cached_object()
416
+ ):
417
+ # Avoid fetching the result unless it is cached, otherwise we defeat
418
+ # the purpose of disabling `cache_result_in_memory`
419
+ result = state.result(raise_on_failure=False, fetch=True)
420
+ if inspect.isawaitable(result):
421
+ result = run_coro_as_sync(result)
422
+ else:
423
+ result = state.data
424
+
425
+ link_state_to_result(state, result)
426
+
412
427
  else:
413
428
  try:
414
429
  new_state = propose_state_sync(
@@ -480,15 +495,8 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
480
495
  )
481
496
  transaction.stage(
482
497
  terminal_state.data,
483
- on_rollback_hooks=[self.handle_rollback]
484
- + [
485
- _with_transaction_hook_logging(hook, "rollback", self.logger)
486
- for hook in self.task.on_rollback_hooks
487
- ],
488
- on_commit_hooks=[
489
- _with_transaction_hook_logging(hook, "commit", self.logger)
490
- for hook in self.task.on_commit_hooks
491
- ],
498
+ on_rollback_hooks=[self.handle_rollback] + self.task.on_rollback_hooks,
499
+ on_commit_hooks=self.task.on_commit_hooks,
492
500
  )
493
501
  if transaction.is_committed():
494
502
  terminal_state.name = "Cached"
@@ -674,6 +682,12 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
674
682
  task_run_name=task_run_name,
675
683
  )
676
684
  )
685
+ # Emit an event to capture that the task run was in the `PENDING` state.
686
+ self._last_event = emit_task_run_state_change_event(
687
+ task_run=self.task_run,
688
+ initial_state=None,
689
+ validated_state=self.task_run.state,
690
+ )
677
691
  else:
678
692
  if not self.task_run:
679
693
  self.task_run = run_coro_as_sync(
@@ -686,12 +700,12 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
686
700
  extra_task_inputs=dependencies,
687
701
  )
688
702
  )
689
- # Emit an event to capture that the task run was in the `PENDING` state.
690
- self._last_event = emit_task_run_state_change_event(
691
- task_run=self.task_run,
692
- initial_state=None,
693
- validated_state=self.task_run.state,
694
- )
703
+ # Emit an event to capture that the task run was in the `PENDING` state.
704
+ self._last_event = emit_task_run_state_change_event(
705
+ task_run=self.task_run,
706
+ initial_state=None,
707
+ validated_state=self.task_run.state,
708
+ )
695
709
 
696
710
  with self.setup_run_context():
697
711
  # setup_run_context might update the task run name, so log creation here
@@ -966,6 +980,20 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
966
980
  self.task_run.state_id = new_state.id
967
981
  self.task_run.state_type = new_state.type
968
982
  self.task_run.state_name = new_state.name
983
+
984
+ if new_state.is_final():
985
+ if (
986
+ isinstance(new_state.data, BaseResult)
987
+ and new_state.data.has_cached_object()
988
+ ):
989
+ # Avoid fetching the result unless it is cached, otherwise we defeat
990
+ # the purpose of disabling `cache_result_in_memory`
991
+ result = await new_state.result(raise_on_failure=False, fetch=True)
992
+ else:
993
+ result = new_state.data
994
+
995
+ link_state_to_result(new_state, result)
996
+
969
997
  else:
970
998
  try:
971
999
  new_state = await propose_state(
@@ -1032,15 +1060,8 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1032
1060
  )
1033
1061
  transaction.stage(
1034
1062
  terminal_state.data,
1035
- on_rollback_hooks=[self.handle_rollback]
1036
- + [
1037
- _with_transaction_hook_logging(hook, "rollback", self.logger)
1038
- for hook in self.task.on_rollback_hooks
1039
- ],
1040
- on_commit_hooks=[
1041
- _with_transaction_hook_logging(hook, "commit", self.logger)
1042
- for hook in self.task.on_commit_hooks
1043
- ],
1063
+ on_rollback_hooks=[self.handle_rollback] + self.task.on_rollback_hooks,
1064
+ on_commit_hooks=self.task.on_commit_hooks,
1044
1065
  )
1045
1066
  if transaction.is_committed():
1046
1067
  terminal_state.name = "Cached"
@@ -1222,6 +1243,12 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1222
1243
  extra_task_inputs=dependencies,
1223
1244
  task_run_name=task_run_name,
1224
1245
  )
1246
+ # Emit an event to capture that the task run was in the `PENDING` state.
1247
+ self._last_event = emit_task_run_state_change_event(
1248
+ task_run=self.task_run,
1249
+ initial_state=None,
1250
+ validated_state=self.task_run.state,
1251
+ )
1225
1252
  else:
1226
1253
  if not self.task_run:
1227
1254
  self.task_run = await self.task.create_run(
@@ -1232,12 +1259,12 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1232
1259
  wait_for=self.wait_for,
1233
1260
  extra_task_inputs=dependencies,
1234
1261
  )
1235
- # Emit an event to capture that the task run was in the `PENDING` state.
1236
- self._last_event = emit_task_run_state_change_event(
1237
- task_run=self.task_run,
1238
- initial_state=None,
1239
- validated_state=self.task_run.state,
1240
- )
1262
+ # Emit an event to capture that the task run was in the `PENDING` state.
1263
+ self._last_event = emit_task_run_state_change_event(
1264
+ task_run=self.task_run,
1265
+ initial_state=None,
1266
+ validated_state=self.task_run.state,
1267
+ )
1241
1268
 
1242
1269
  async with self.setup_run_context():
1243
1270
  # setup_run_context might update the task run name, so log creation here
@@ -1580,28 +1607,3 @@ def run_task(
1580
1607
  return run_task_async(**kwargs)
1581
1608
  else:
1582
1609
  return run_task_sync(**kwargs)
1583
-
1584
-
1585
- def _with_transaction_hook_logging(
1586
- hook: Callable[[Transaction], None],
1587
- hook_type: Literal["rollback", "commit"],
1588
- logger: logging.Logger,
1589
- ) -> Callable[[Transaction], None]:
1590
- @wraps(hook)
1591
- def _hook(txn: Transaction) -> None:
1592
- hook_name = _get_hook_name(hook)
1593
- logger.info(f"Running {hook_type} hook {hook_name!r}")
1594
-
1595
- try:
1596
- hook(txn)
1597
- except Exception as exc:
1598
- logger.error(
1599
- f"An error was encountered while running {hook_type} hook {hook_name!r}",
1600
- )
1601
- raise exc
1602
- else:
1603
- logger.info(
1604
- f"{hook_type.capitalize()} hook {hook_name!r} finished running successfully"
1605
- )
1606
-
1607
- return _hook
prefect/task_worker.py CHANGED
@@ -293,12 +293,15 @@ class TaskWorker:
293
293
  await self._client._client.delete(f"/task_runs/{task_run.id}")
294
294
  return
295
295
 
296
+ initial_state = task_run.state
297
+
296
298
  if PREFECT_EXPERIMENTAL_ENABLE_CLIENT_SIDE_TASK_ORCHESTRATION:
297
299
  new_state = Pending()
298
300
  new_state.state_details.deferred = True
299
301
  new_state.state_details.task_run_id = task_run.id
300
302
  new_state.state_details.flow_run_id = task_run.flow_run_id
301
303
  state = new_state
304
+ task_run.state = state
302
305
  else:
303
306
  try:
304
307
  new_state = Pending()
@@ -330,7 +333,7 @@ class TaskWorker:
330
333
 
331
334
  emit_task_run_state_change_event(
332
335
  task_run=task_run,
333
- initial_state=task_run.state,
336
+ initial_state=initial_state,
334
337
  validated_state=state,
335
338
  )
336
339
 
prefect/tasks.py CHANGED
@@ -33,9 +33,6 @@ from uuid import UUID, uuid4
33
33
  from typing_extensions import Literal, ParamSpec
34
34
 
35
35
  import prefect.states
36
- from prefect._internal.compatibility.deprecated import (
37
- deprecated_async_method,
38
- )
39
36
  from prefect.cache_policies import DEFAULT, NONE, CachePolicy
40
37
  from prefect.client.orchestration import get_client
41
38
  from prefect.client.schemas import TaskRun
@@ -1038,7 +1035,6 @@ class Task(Generic[P, R]):
1038
1035
  ) -> State[T]:
1039
1036
  ...
1040
1037
 
1041
- @deprecated_async_method
1042
1038
  def submit(
1043
1039
  self,
1044
1040
  *args: Any,
@@ -1203,7 +1199,6 @@ class Task(Generic[P, R]):
1203
1199
  ) -> PrefectFutureList[State[T]]:
1204
1200
  ...
1205
1201
 
1206
- @deprecated_async_method
1207
1202
  def map(
1208
1203
  self,
1209
1204
  *args: Any,
@@ -1455,6 +1450,15 @@ class Task(Generic[P, R]):
1455
1450
  )
1456
1451
  ) # type: ignore
1457
1452
 
1453
+ from prefect.utilities.engine import emit_task_run_state_change_event
1454
+
1455
+ # emit a `SCHEDULED` event for the task run
1456
+ emit_task_run_state_change_event(
1457
+ task_run=task_run,
1458
+ initial_state=None,
1459
+ validated_state=task_run.state,
1460
+ )
1461
+
1458
1462
  if task_run_url := url_for(task_run):
1459
1463
  logger.info(
1460
1464
  f"Created task run {task_run.name!r}. View it in the UI at {task_run_url!r}"
prefect/transactions.py CHANGED
@@ -4,6 +4,7 @@ from contextvars import ContextVar, Token
4
4
  from typing import (
5
5
  Any,
6
6
  Callable,
7
+ Dict,
7
8
  Generator,
8
9
  List,
9
10
  Optional,
@@ -11,7 +12,7 @@ from typing import (
11
12
  Union,
12
13
  )
13
14
 
14
- from pydantic import Field
15
+ from pydantic import Field, PrivateAttr
15
16
  from typing_extensions import Self
16
17
 
17
18
  from prefect.context import ContextModel, FlowRunContext, TaskRunContext
@@ -26,6 +27,7 @@ from prefect.results import (
26
27
  )
27
28
  from prefect.utilities.asyncutils import run_coro_as_sync
28
29
  from prefect.utilities.collections import AutoEnum
30
+ from prefect.utilities.engine import _get_hook_name
29
31
 
30
32
 
31
33
  class IsolationLevel(AutoEnum):
@@ -63,9 +65,18 @@ class Transaction(ContextModel):
63
65
  )
64
66
  overwrite: bool = False
65
67
  logger: Union[logging.Logger, logging.LoggerAdapter, None] = None
68
+ _stored_values: Dict[str, Any] = PrivateAttr(default_factory=dict)
66
69
  _staged_value: Any = None
67
70
  __var__: ContextVar = ContextVar("transaction")
68
71
 
72
+ def set(self, name: str, value: Any) -> None:
73
+ self._stored_values[name] = value
74
+
75
+ def get(self, name: str) -> Any:
76
+ if name not in self._stored_values:
77
+ raise ValueError(f"Could not retrieve value for unknown key: {name}")
78
+ return self._stored_values.get(name)
79
+
69
80
  def is_committed(self) -> bool:
70
81
  return self.state == TransactionState.COMMITTED
71
82
 
@@ -183,7 +194,7 @@ class Transaction(ContextModel):
183
194
  child.commit()
184
195
 
185
196
  for hook in self.on_commit_hooks:
186
- hook(self)
197
+ self.run_hook(hook, "commit")
187
198
 
188
199
  if self.store and self.key:
189
200
  self.store.write(key=self.key, value=self._staged_value)
@@ -198,6 +209,22 @@ class Transaction(ContextModel):
198
209
  self.rollback()
199
210
  return False
200
211
 
212
+ def run_hook(self, hook, hook_type: str) -> None:
213
+ hook_name = _get_hook_name(hook)
214
+ self.logger.info(f"Running {hook_type} hook {hook_name!r}")
215
+
216
+ try:
217
+ hook(self)
218
+ except Exception as exc:
219
+ self.logger.error(
220
+ f"An error was encountered while running {hook_type} hook {hook_name!r}",
221
+ )
222
+ raise exc
223
+ else:
224
+ self.logger.info(
225
+ f"{hook_type.capitalize()} hook {hook_name!r} finished running successfully"
226
+ )
227
+
201
228
  def stage(
202
229
  self,
203
230
  value: BaseResult,
@@ -222,7 +249,7 @@ class Transaction(ContextModel):
222
249
 
223
250
  try:
224
251
  for hook in reversed(self.on_rollback_hooks):
225
- hook(self)
252
+ self.run_hook(hook, "rollback")
226
253
 
227
254
  self.state = TransactionState.ROLLED_BACK
228
255
 
@@ -30,7 +30,6 @@ import anyio.abc
30
30
  import anyio.from_thread
31
31
  import anyio.to_thread
32
32
  import sniffio
33
- import wrapt
34
33
  from typing_extensions import Literal, ParamSpec, TypeGuard
35
34
 
36
35
  from prefect._internal.concurrency.api import _cast_to_call, from_sync
@@ -210,11 +209,6 @@ def run_coro_as_sync(
210
209
  Returns:
211
210
  The result of the coroutine if wait_for_result is True, otherwise None.
212
211
  """
213
- if not asyncio.iscoroutine(coroutine):
214
- if isinstance(coroutine, wrapt.ObjectProxy):
215
- return coroutine.__wrapped__
216
- else:
217
- raise TypeError("`coroutine` must be a coroutine object")
218
212
 
219
213
  async def coroutine_wrapper() -> Union[R, None]:
220
214
  """
@@ -783,6 +783,9 @@ def emit_task_run_state_change_event(
783
783
  "state_type",
784
784
  "state_name",
785
785
  "state",
786
+ # server materialized fields
787
+ "estimated_start_time_delta",
788
+ "estimated_run_time",
786
789
  },
787
790
  ),
788
791
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.0.0rc14
3
+ Version: 3.0.0rc16
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -24,47 +24,46 @@ Classifier: Topic :: Software Development :: Libraries
24
24
  Requires-Python: >=3.9
25
25
  Description-Content-Type: text/markdown
26
26
  License-File: LICENSE
27
- Requires-Dist: anyio <5.0.0,>=4.4.0
28
- Requires-Dist: asgi-lifespan <3.0,>=1.0
29
- Requires-Dist: cachetools <6.0,>=5.3
30
- Requires-Dist: cloudpickle <4.0,>=2.0
31
- Requires-Dist: coolname <3.0.0,>=1.0.4
32
- Requires-Dist: croniter <4.0.0,>=1.0.12
33
- Requires-Dist: exceptiongroup >=1.0.0
34
- Requires-Dist: fastapi <1.0.0,>=0.111.0
35
- Requires-Dist: fsspec >=2022.5.0
36
- Requires-Dist: graphviz >=0.20.1
37
- Requires-Dist: griffe <0.48.0,>=0.20.0
38
- Requires-Dist: httpcore <2.0.0,>=1.0.5
39
- Requires-Dist: httpx[http2] !=0.23.2,>=0.23
40
- Requires-Dist: importlib-resources <6.2.0,>=6.1.3
41
- Requires-Dist: jsonpatch <2.0,>=1.32
42
- Requires-Dist: jsonschema <5.0.0,>=4.0.0
43
- Requires-Dist: orjson <4.0,>=3.7
44
- Requires-Dist: packaging <24.3,>=21.3
45
- Requires-Dist: pathspec >=0.8.0
46
- Requires-Dist: pendulum <4,>=3.0.0
47
- Requires-Dist: prometheus-client >=0.20.0
48
- Requires-Dist: pydantic <3.0.0,>=2.7
49
- Requires-Dist: pydantic-core <3.0.0,>=2.12.0
50
- Requires-Dist: pydantic-extra-types <3.0.0,>=2.8.2
27
+ Requires-Dist: anyio<5.0.0,>=4.4.0
28
+ Requires-Dist: asgi-lifespan<3.0,>=1.0
29
+ Requires-Dist: cachetools<6.0,>=5.3
30
+ Requires-Dist: cloudpickle<4.0,>=2.0
31
+ Requires-Dist: coolname<3.0.0,>=1.0.4
32
+ Requires-Dist: croniter<4.0.0,>=1.0.12
33
+ Requires-Dist: exceptiongroup>=1.0.0
34
+ Requires-Dist: fastapi<1.0.0,>=0.111.0
35
+ Requires-Dist: fsspec>=2022.5.0
36
+ Requires-Dist: graphviz>=0.20.1
37
+ Requires-Dist: griffe<0.48.0,>=0.20.0
38
+ Requires-Dist: httpcore<2.0.0,>=1.0.5
39
+ Requires-Dist: httpx[http2]!=0.23.2,>=0.23
40
+ Requires-Dist: importlib-resources<6.2.0,>=6.1.3
41
+ Requires-Dist: jsonpatch<2.0,>=1.32
42
+ Requires-Dist: jsonschema<5.0.0,>=4.0.0
43
+ Requires-Dist: orjson<4.0,>=3.7
44
+ Requires-Dist: packaging<24.3,>=21.3
45
+ Requires-Dist: pathspec>=0.8.0
46
+ Requires-Dist: pendulum<4,>=3.0.0
47
+ Requires-Dist: prometheus-client>=0.20.0
48
+ Requires-Dist: pydantic<3.0.0,>=2.7
49
+ Requires-Dist: pydantic-core<3.0.0,>=2.12.0
50
+ Requires-Dist: pydantic-extra-types<3.0.0,>=2.8.2
51
51
  Requires-Dist: pydantic-settings
52
- Requires-Dist: python-dateutil <3.0.0,>=2.8.2
53
- Requires-Dist: python-slugify <9.0,>=5.0
54
- Requires-Dist: pyyaml <7.0.0,>=5.4.1
55
- Requires-Dist: rfc3339-validator <0.2.0,>=0.1.4
56
- Requires-Dist: rich <14.0,>=11.0
57
- Requires-Dist: ruamel.yaml >=0.17.0
58
- Requires-Dist: sniffio <2.0.0,>=1.3.0
59
- Requires-Dist: toml >=0.10.0
60
- Requires-Dist: typing-extensions <5.0.0,>=4.5.0
61
- Requires-Dist: ujson <6.0.0,>=5.8.0
62
- Requires-Dist: uvicorn !=0.29.0,>=0.14.0
63
- Requires-Dist: websockets <13.0,>=10.4
64
- Requires-Dist: wrapt >=1.16.0
65
- Requires-Dist: importlib-metadata >=4.4 ; python_version < "3.10"
52
+ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
53
+ Requires-Dist: python-slugify<9.0,>=5.0
54
+ Requires-Dist: pyyaml<7.0.0,>=5.4.1
55
+ Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
56
+ Requires-Dist: rich<14.0,>=11.0
57
+ Requires-Dist: ruamel.yaml>=0.17.0
58
+ Requires-Dist: sniffio<2.0.0,>=1.3.0
59
+ Requires-Dist: toml>=0.10.0
60
+ Requires-Dist: typing-extensions<5.0.0,>=4.5.0
61
+ Requires-Dist: ujson<6.0.0,>=5.8.0
62
+ Requires-Dist: uvicorn!=0.29.0,>=0.14.0
63
+ Requires-Dist: websockets<13.0,>=10.4
64
+ Requires-Dist: importlib-metadata>=4.4; python_version < "3.10"
66
65
  Provides-Extra: notifications
67
- Requires-Dist: apprise <2.0.0,>=1.1.0 ; extra == 'notifications'
66
+ Requires-Dist: apprise<2.0.0,>=1.1.0; extra == "notifications"
68
67
 
69
68
  <p align="center"><img src="https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85" width=1000></p>
70
69
 
@@ -5,29 +5,29 @@ prefect/agent.py,sha256=BOVVY5z-vUIQ2u8LwMTXDaNys2fjOZSS5YGDwJmTQjI,230
5
5
  prefect/artifacts.py,sha256=wet3coxBtqK0914uTf-slYpXRVP0mjbZn804hXB-RS4,13011
6
6
  prefect/automations.py,sha256=NlQ62GPJzy-gnWQqX7c6CQJKw7p60WLGDAFcy82vtg4,5613
7
7
  prefect/cache_policies.py,sha256=uEKNGO-PJ3N35B2tjhRDtQULN6ok72D9raIoJaUyXk0,6365
8
- prefect/context.py,sha256=qX9NSMO4dsxwEkR5FnddSdtcZ-5gJ-0rLz02uWkwGCc,21796
8
+ prefect/context.py,sha256=Q04o0F1zc9O9y7H0Y6po1hvyajrviYAzuQmpKdNvgbM,21859
9
9
  prefect/engine.py,sha256=BpmDbe6miZcTl1vRkxfCPYcWSXADLigGPCagFwucMz0,1976
10
10
  prefect/exceptions.py,sha256=3s69Z_IC3HKF6BKxcHrMPXkKdYwfbEfaTjy4-5LOtQ0,11132
11
11
  prefect/filesystems.py,sha256=rbFvlqHXeeo71nK1Y5I0-ucmGOYUcdkbb6N2vpsRcWE,17229
12
12
  prefect/flow_engine.py,sha256=c8mIffc57zLtHFRo4sVtQOXGihVA_y2mZiXYzjJlOHY,29445
13
13
  prefect/flow_runs.py,sha256=EaXRIQTOnwnA0fO7_EjwafFRmS57K_CRy0Xsz3JDIhc,16070
14
- prefect/flows.py,sha256=MMlHqts-yZA6rMRa5xPHLo_yeaSZ7LjDBJ8dYVS0vCo,90248
15
- prefect/futures.py,sha256=vDSDt5Kc7EVJQTxfA0r4Ul7sy6qOxwz4lkys0tpdngU,16403
14
+ prefect/flows.py,sha256=Sl3m8Q3mXwY1MSgJSeViiXag4jtUBN7stMP1Fs4iepo,88039
15
+ prefect/futures.py,sha256=Zt5U7PnNpKUQuyfAhWAZZxpG0hQ6HXuA4KVg6E9sQf8,16208
16
16
  prefect/main.py,sha256=bab5nBn37a6gmxdPbTlRS2a9Cf0KY0GaCotDOSbcQ7M,1930
17
17
  prefect/manifests.py,sha256=477XcmfdC_yE81wT6zIAKnEUEJ0lH9ZLfOVSgX2FohE,676
18
18
  prefect/plugins.py,sha256=7AICJzHIu8iAeF9vl9wAYm28pR_k7dkdnm3OyJRfCv4,2229
19
- prefect/profiles.toml,sha256=7hwFMmUjLkoUxDj1Ggw0MPxViK9zMjMXmmUFtXLeijU,392
19
+ prefect/profiles.toml,sha256=kTvqDNMzjH3fsm5OEI-NKY4dMmipor5EvQXRB6rPEjY,522
20
20
  prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  prefect/results.py,sha256=3mVkVWZn_VSQ9Pik79StNy113rB_SEiP83SdoUsFvTM,24635
22
22
  prefect/serializers.py,sha256=Lo41EM0_qGzcfB_63390Izeo3DdK6cY6VZfxa9hpSGQ,8712
23
- prefect/settings.py,sha256=ANN3aaQdLZUWBy1UpDvSwxpU-_4c3VL81gG0v3JGjpA,69794
23
+ prefect/settings.py,sha256=RpO6XMM2qf6KC_rQMHmQpcjul1t2rZmLOkK89Ta3OcM,72076
24
24
  prefect/states.py,sha256=lw22xucH46cN9stkxiV9ByIvq689mH5iL3gErri-Y18,22207
25
- prefect/task_engine.py,sha256=KVkGjD9kcNw4j0YYiVmBGkfb8TpGatEF4qiZDoFDz9c,63227
25
+ prefect/task_engine.py,sha256=z5raK4OLgCRp6cubrTDL0XZQsx8Z5xTFwKn2QnITGcA,64053
26
26
  prefect/task_runners.py,sha256=W1n0yMwbDIqnvffFVJADo9MGEbLaYkzWk52rqgnkMY4,15019
27
27
  prefect/task_runs.py,sha256=jkaQOkRKOHS8fgHUijteriFpjMSKv4zldn1D8tZHkUI,8777
28
- prefect/task_worker.py,sha256=LKyJI5iZueGR7sw_bJIn013PVoRr1aab26F5DYChRGo,17918
29
- prefect/tasks.py,sha256=A-sQB8S5dxcLtl10crDThsfdKpMzm9Rknfwhu27rnvY,68085
30
- prefect/transactions.py,sha256=XBbOjAUnDWw9QcxVwEamRaWxvRA_Ao-MkIN5dFL7h54,10008
28
+ prefect/task_worker.py,sha256=DX4NYERghB8RZeFleZE0xOq3yJVunjUaAKHtiz8wuRo,17992
29
+ prefect/tasks.py,sha256=tpYQhH4wZcOeVTOOGus0Med4prLlmMM2jSf3TKuFdUQ,68230
30
+ prefect/transactions.py,sha256=YyWuY99mBeEsY8JGR3_eyWbFIUxWIzbHfU2UMBKTaik,11038
31
31
  prefect/variables.py,sha256=-t5LVY0N-K4f0fa6YwruVVQqwnU3fGWBMYXXE32XPkA,4821
32
32
  prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  prefect/_internal/_logging.py,sha256=HvNHY-8P469o5u4LYEDBTem69XZEt1QUeUaLToijpak,810
@@ -35,7 +35,7 @@ prefect/_internal/integrations.py,sha256=U4cZMDbnilzZSKaMxvzZcSL27a1tzRMjDoTfr2u
35
35
  prefect/_internal/pytz.py,sha256=WWl9x16rKFWequGmcOGs_ljpCDPf2LDHMyZp_4D8e6c,13748
36
36
  prefect/_internal/retries.py,sha256=8uuagUX32w5YANLHqjM_1hHmVe9b1HxcwuPMXb1G2Qk,2317
37
37
  prefect/_internal/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- prefect/_internal/compatibility/deprecated.py,sha256=7vqE1_PAPS0cDalTfTumHWUIOqIzkbKvQl1iwHlfynQ,9205
38
+ prefect/_internal/compatibility/deprecated.py,sha256=nqevphK00rakKgCfkbqBQ4NCktdb4338uuROjFcq6xA,7517
39
39
  prefect/_internal/compatibility/experimental.py,sha256=nrIeeAe1vZ0yMb1cPw5AroVR6_msx-bzTeBLzY4au6o,5634
40
40
  prefect/_internal/compatibility/migration.py,sha256=O9HrcqxfQ-RrIklH0uGxeXMrQejPz1hmsgrw8zDLJuw,6801
41
41
  prefect/_internal/concurrency/__init__.py,sha256=YlTwU9ryjPNwbJa45adLJY00t_DGCh1QrdtY9WdVFfw,2140
@@ -59,7 +59,7 @@ prefect/_internal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
59
59
  prefect/_internal/schemas/bases.py,sha256=KYT8v4UOIClOKoXLEHSzDI7jran35BHvRcYWueyMFYU,4098
60
60
  prefect/_internal/schemas/fields.py,sha256=m4LrFNz8rA9uBhMk9VyQT6FIXmV_EVAW92hdXeSvHbY,837
61
61
  prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1OdR6TXNrRhQ,825
62
- prefect/_internal/schemas/validators.py,sha256=McSijrOcrqQpE-fvp4WRMoxsVn5fWIyBIXdYys1YRhk,29690
62
+ prefect/_internal/schemas/validators.py,sha256=Y8bHb3EsLJTiHsffg_TPbknj0Nmln8vd6qySLFbfGzY,26546
63
63
  prefect/blocks/__init__.py,sha256=BUfh6gIwA6HEjRyVCAiv0he3M1zfM-oY-JrlBfeWeY8,182
64
64
  prefect/blocks/abstract.py,sha256=YLzCaf3yXv6wFCF5ZqCIHJNwH7fME1rLxC-SijARHzk,16319
65
65
  prefect/blocks/core.py,sha256=EAvmPga9fyUfK9QW_HFLSit0dn6Szh_KbDK3n8HX4q0,52155
@@ -73,14 +73,14 @@ prefect/client/base.py,sha256=2K8UiWzorZNNM4c8c-OiGeZ5i5ViUfZ_Q31oPobbOO0,24956
73
73
  prefect/client/cloud.py,sha256=7iHff1YDABdzBW5BZFlyzmwgCMWUwbgVv2zTNlqW7lw,4132
74
74
  prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
75
75
  prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
76
- prefect/client/orchestration.py,sha256=5wCUmG_BQ5e1HWmU9z9RNYnrT3zs4PSn4e_Yq75FhLI,145170
76
+ prefect/client/orchestration.py,sha256=G3zkz3HTfy9ZMELKAi8HRqvybOhdlOsia2Vt7ElWEPQ,143316
77
77
  prefect/client/subscriptions.py,sha256=J9uK9NGHO4VX4Y3NGgBJ4pIG_0cf-dJWPhF3f3PGYL4,3388
78
78
  prefect/client/utilities.py,sha256=89fmza0cRMOayxgXRdO51TKb11TczJ0ByOZmcZVrt44,3286
79
79
  prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
80
- prefect/client/schemas/actions.py,sha256=sZFVfN-Xks7x-sfp0kX97lSzHDbMx99E-rzIngOUU6A,28184
81
- prefect/client/schemas/filters.py,sha256=HyIYZQowhkHa_D6syj83zUp5uFEzA8UADLaS9mt1MTo,35305
82
- prefect/client/schemas/objects.py,sha256=3-qhF8qTUSB-wax4s5_zBs6A1K2hdDr1WLxpTryQbRE,53547
83
- prefect/client/schemas/responses.py,sha256=xW9QKmVgBftSEmtuSr5gp9HBFvIDzF6aSFq-mhv7dE8,14948
80
+ prefect/client/schemas/actions.py,sha256=i0izw0JPdlvAeEC2YEbmskr7kU0-tyzEwEtCKXMPi74,28101
81
+ prefect/client/schemas/filters.py,sha256=_Ibx8VDICS0wkqo-M8zlpOyAbkrRw8sfgqyD9_x2Vvc,34881
82
+ prefect/client/schemas/objects.py,sha256=PNxOTBwQDQ57703i6ZrV_kxYDSuJSrJ3O_42hDwOliA,53296
83
+ prefect/client/schemas/responses.py,sha256=3Y-md6uXCF7X8gcZYvvKqcu5CXqvJfkJyfocHFypp9g,14637
84
84
  prefect/client/schemas/schedules.py,sha256=8rpqjOYtknu2-1n5_WD4cOplgu93P3mCyX86B22LfL4,13070
85
85
  prefect/client/schemas/sorting.py,sha256=EIQ6FUjUWMwk6fn6ckVLQLXOP-GI5kce7ftjUkDFWV0,2490
86
86
  prefect/client/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -92,10 +92,10 @@ prefect/concurrency/events.py,sha256=EjZwUbbtP-N-u8rk8nbyMIi-BnkshoLkHRYh913jUWU
92
92
  prefect/concurrency/services.py,sha256=wKW9dJzzZkTcS2Wk4IsNPfMOuXle2qSz50Qk0MxrOJc,3438
93
93
  prefect/concurrency/sync.py,sha256=uGomOknZ_ET_wW0LcuOJBzbcYSNcaQZqH0bh1mOkmu8,4261
94
94
  prefect/deployments/__init__.py,sha256=_wb7NxDKhq11z9MjYsPckmT3o6MRhGLRgCV9TmvYtew,1002
95
- prefect/deployments/base.py,sha256=j2VUHkghXCqbfYJD8Joeh12Ejh4KCzr2DgVPRpDpbLw,16600
95
+ prefect/deployments/base.py,sha256=rEMb-AXUuO66a7Qwq0KFUI1L0Xrl_-8z7cgAKaysfwg,16136
96
96
  prefect/deployments/deployments.py,sha256=EvC9qBdvJRc8CHJqRjFTqtzx75SE8bpZOl5C-2eULyA,109
97
97
  prefect/deployments/flow_runs.py,sha256=eatcBD7pg-aaEqs9JxQQcKN_flf614O4gAvedAlRyNo,6803
98
- prefect/deployments/runner.py,sha256=wVz2Ltis_tOpWLvLzPuOBJBIsdWqs8aXY2oCOuwhssc,41763
98
+ prefect/deployments/runner.py,sha256=lNfSyvkElcFglU6pZlsI8ZQTG2KzdsEjrONVNvnbDIs,39514
99
99
  prefect/deployments/schedules.py,sha256=KCYA6dOmLAoElHZuoWqdJn4Yno4TtOZtXfPOpTLb1cE,2046
100
100
  prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
101
101
  prefect/deployments/steps/core.py,sha256=5vFf6BSpu992kkaYsvcPpsz-nZxFmayMIDmY9h0Hb8M,6846
@@ -105,10 +105,10 @@ prefect/docker/__init__.py,sha256=jumlacz2HY9l1ee0L9_kE0PFi9NO3l3pWINm9T5N9hs,52
105
105
  prefect/docker/docker_image.py,sha256=Y84_ooCYA9NGl6FElJul9-FaW3teT-eia2SiNtZ1LG8,2999
106
106
  prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
107
107
  prefect/events/actions.py,sha256=4kBV2NwFlC6oXVeMp9Qb2HMNqv1IZ7FcOqeXz1zlRf0,8983
108
- prefect/events/clients.py,sha256=U3NrU8lqQv_tbkhOa9yq9lo_f082RYt19Pehjnc97Vk,21605
108
+ prefect/events/clients.py,sha256=Vu2ygDPrkQ-uEimdATiMpqa8-k3E7Tvy94O8IoA1VmY,20936
109
109
  prefect/events/filters.py,sha256=IJ1TF-TCC7Wk2nJsbYW-HyAANToDQ6z1MdD63qE-lfw,8186
110
110
  prefect/events/related.py,sha256=1rUnQ7tg_UtNfSAkKdRo-rD2W93EKKB9xafPxyusFj8,6841
111
- prefect/events/utilities.py,sha256=gia_jGwxykxRTzS6FAp-gVEP9d7gH8S_hTd3-RQNJVQ,2627
111
+ prefect/events/utilities.py,sha256=zVyqNjPRtd6iJxsQfBxylerlEUrSHBk25cI_58WBJHk,2555
112
112
  prefect/events/worker.py,sha256=JAgPZjvOShWLpym-N4DeUIBQDlaAaqqG_Kkx7BcxAGY,3759
113
113
  prefect/events/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
114
  prefect/events/cli/automations.py,sha256=WIZ3-EcDibjQB5BrMEx7OZ7UfOqP8VjCI1dNh64Nmg0,11425
@@ -139,14 +139,14 @@ prefect/records/__init__.py,sha256=7q-lwyevfVgb5S7K9frzawmiJmpZ5ET0m5yXIHBYcVA,3
139
139
  prefect/records/result_store.py,sha256=6Yh9zqqXMWjn0qWSfcjQBSfXCM7jVg9pve5TVsOodDc,1734
140
140
  prefect/records/store.py,sha256=eQM1p2vZDshXZYg6SkJwL-DP3kUehL_Zgs8xa2-0DZs,224
141
141
  prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
142
- prefect/runner/runner.py,sha256=Lv9XeDziPgGMGFS7h4Pry4QcsXPHwuDirEJiFakq80Y,48079
142
+ prefect/runner/runner.py,sha256=yrBG5fCO7dCpE-lwPOkx8ToBtfJ3-BKQIUm9eNbjA2g,47388
143
143
  prefect/runner/server.py,sha256=2o5vhrL7Zbn-HBStWhCjqqViex5Ye9GiQ1EW9RSEzdo,10500
144
- prefect/runner/storage.py,sha256=FFHk28iF_OLw-cnXQtJIgGXUV4xecxF70mobiszP8C4,24557
144
+ prefect/runner/storage.py,sha256=OsBa4nWdFxOTiAMNLFpexBdi5K3iuxidQx4YWZwditE,24734
145
145
  prefect/runner/submit.py,sha256=RuyDr-ved9wjYYarXiehY5oJVFf_HE3XKKACNWpxpPc,8131
146
146
  prefect/runner/utils.py,sha256=wVgVa7p5uUL7tfYfDOVuq6QIGf-I8U9dfAjYBmYf6n4,3286
147
147
  prefect/runtime/__init__.py,sha256=JswiTlYRup2zXOYu8AqJ7czKtgcw9Kxo0tTbS6aWCqY,407
148
148
  prefect/runtime/deployment.py,sha256=Kah8Xdh5f94-CEAXjBgnEB4xAQXXYPaEqDJ_gTqltIY,4752
149
- prefect/runtime/flow_run.py,sha256=N16Z-GzATw-vZnaGdxjomWCfZx8_mMBQR2_cGUVj9m0,9436
149
+ prefect/runtime/flow_run.py,sha256=33XsudriajxIRJtebPpqF8cWCRsUpmvb9V0CSipG4J0,9956
150
150
  prefect/runtime/task_run.py,sha256=B6v_nZiHy9nKZfnKFQF7izZjAjaiZOT0j80m-VcLxmY,3403
151
151
  prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
152
152
  prefect/server/api/static/prefect-logo-mark-gradient.png,sha256=ylRjJkI_JHCw8VbQasNnXQHwZW-sH-IQiUGSD3aWP1E,73430
@@ -154,14 +154,14 @@ prefect/types/__init__.py,sha256=SAHJDtWEGidTKXQACJ38nj6fq8r57Gj0Pwo4Gy7pVWs,223
154
154
  prefect/types/entrypoint.py,sha256=2FF03-wLPgtnqR_bKJDB2BsXXINPdu8ptY9ZYEZnXg8,328
155
155
  prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  prefect/utilities/annotations.py,sha256=bXB43j5Zsq5gaBcJe9qnszBlnNwCTwqSTgcu2OkkRLo,2776
157
- prefect/utilities/asyncutils.py,sha256=8bOtYljRoOn-LKaMhaQWx80MM2KwUQQC0jzOuO--ZX4,20123
157
+ prefect/utilities/asyncutils.py,sha256=gVgCYMEJBy7hZCE-2Mn-mfOo0S5zViYeT_SNzOp_HwE,19889
158
158
  prefect/utilities/callables.py,sha256=agTY0XU0XWifH5SBsWLflAhNvIxOfc8Z0RRRAbCxrxk,25020
159
159
  prefect/utilities/collections.py,sha256=pPa_SZZq80cja6l99b3TV7hRQy366WnuWpOW_FnutMI,17259
160
160
  prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
161
161
  prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
162
162
  prefect/utilities/dispatch.py,sha256=c8G-gBo7hZlyoD7my9nO50Rzy8Retk-np5WGq9_E2AM,5856
163
163
  prefect/utilities/dockerutils.py,sha256=kRozGQ7JO6Uxl-ljWtDryzxhf96rHL78aHYDh255Em4,20324
164
- prefect/utilities/engine.py,sha256=jqE8RqixSbobaB9IxTGKIT2siv9zjT_w_99Y8dDeVVU,31518
164
+ prefect/utilities/engine.py,sha256=KNr6VVPL_EBxMAc06bAV4yHpF4lkaZKndXG6BodW3T0,31659
165
165
  prefect/utilities/filesystem.py,sha256=frAyy6qOeYa7c-jVbEUGZQEe6J1yF8I_SvUepPd59gI,4415
166
166
  prefect/utilities/hashing.py,sha256=EOwZLmoIZImuSTxAvVqInabxJ-4RpEfYeg9e2EDQF8o,1752
167
167
  prefect/utilities/importtools.py,sha256=Wo4Tj9hSf7gghP83MxW3w9FK3jkaGKPEobDYjabPqT0,19389
@@ -187,8 +187,8 @@ prefect/workers/cloud.py,sha256=BOVVY5z-vUIQ2u8LwMTXDaNys2fjOZSS5YGDwJmTQjI,230
187
187
  prefect/workers/process.py,sha256=t1f1EYRoPL5B25KbLgUX2b5q-lCCAXb2Gpf6T2M9WfY,19822
188
188
  prefect/workers/server.py,sha256=lgh2FfSuaNU7b6HPxSFm8JtKvAvHsZGkiOo4y4tW1Cw,2022
189
189
  prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
190
- prefect_client-3.0.0rc14.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
191
- prefect_client-3.0.0rc14.dist-info/METADATA,sha256=KGcV02xz4lmcKDK6ciIVBMGFoFNNi8Gl64l4Y3OF7kM,7474
192
- prefect_client-3.0.0rc14.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
193
- prefect_client-3.0.0rc14.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
194
- prefect_client-3.0.0rc14.dist-info/RECORD,,
190
+ prefect_client-3.0.0rc16.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
191
+ prefect_client-3.0.0rc16.dist-info/METADATA,sha256=u1Slx4EdzeZnEU0qZ_7V28FsWgCbcfRsjYVCk-1KNcY,7404
192
+ prefect_client-3.0.0rc16.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
193
+ prefect_client-3.0.0rc16.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
194
+ prefect_client-3.0.0rc16.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5