prefect-client 3.2.13__py3-none-any.whl → 3.2.15.dev7__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.
Files changed (38) hide show
  1. prefect/_build_info.py +3 -3
  2. prefect/_experimental/bundles.py +7 -1
  3. prefect/_internal/concurrency/services.py +13 -3
  4. prefect/client/orchestration/_flow_runs/client.py +34 -4
  5. prefect/client/schemas/actions.py +14 -1
  6. prefect/client/schemas/objects.py +18 -0
  7. prefect/deployments/runner.py +1 -9
  8. prefect/docker/docker_image.py +2 -1
  9. prefect/flow_engine.py +11 -5
  10. prefect/flow_runs.py +1 -1
  11. prefect/flows.py +27 -9
  12. prefect/locking/memory.py +16 -8
  13. prefect/logging/__init__.py +1 -1
  14. prefect/logging/configuration.py +6 -4
  15. prefect/logging/formatters.py +3 -3
  16. prefect/logging/handlers.py +37 -26
  17. prefect/results.py +9 -3
  18. prefect/runner/__init__.py +2 -0
  19. prefect/runner/runner.py +1 -1
  20. prefect/runner/server.py +12 -7
  21. prefect/runner/storage.py +37 -37
  22. prefect/runner/submit.py +36 -25
  23. prefect/runner/utils.py +9 -5
  24. prefect/server/api/collections_data/views/aggregate-worker-metadata.json +4 -4
  25. prefect/server/api/flow_runs.py +21 -0
  26. prefect/server/api/task_runs.py +52 -1
  27. prefect/settings/models/tasks.py +5 -0
  28. prefect/task_engine.py +18 -24
  29. prefect/tasks.py +31 -8
  30. prefect/transactions.py +5 -0
  31. prefect/utilities/callables.py +2 -0
  32. prefect/utilities/engine.py +2 -2
  33. prefect/utilities/importtools.py +6 -9
  34. prefect/workers/base.py +7 -3
  35. {prefect_client-3.2.13.dist-info → prefect_client-3.2.15.dev7.dist-info}/METADATA +3 -2
  36. {prefect_client-3.2.13.dist-info → prefect_client-3.2.15.dev7.dist-info}/RECORD +38 -38
  37. {prefect_client-3.2.13.dist-info → prefect_client-3.2.15.dev7.dist-info}/WHEEL +0 -0
  38. {prefect_client-3.2.13.dist-info → prefect_client-3.2.15.dev7.dist-info}/licenses/LICENSE +0 -0
@@ -16,6 +16,7 @@ from fastapi import (
16
16
  WebSocket,
17
17
  status,
18
18
  )
19
+ from fastapi.responses import ORJSONResponse
19
20
  from starlette.websockets import WebSocketDisconnect
20
21
 
21
22
  import prefect.server.api.dependencies as dependencies
@@ -27,7 +28,10 @@ from prefect.server.database import PrefectDBInterface, provide_database_interfa
27
28
  from prefect.server.orchestration import dependencies as orchestration_dependencies
28
29
  from prefect.server.orchestration.core_policy import CoreTaskPolicy
29
30
  from prefect.server.orchestration.policies import TaskRunOrchestrationPolicy
30
- from prefect.server.schemas.responses import OrchestrationResult
31
+ from prefect.server.schemas.responses import (
32
+ OrchestrationResult,
33
+ TaskRunPaginationResponse,
34
+ )
31
35
  from prefect.server.task_queue import MultiQueue, TaskQueue
32
36
  from prefect.server.utilities import subscriptions
33
37
  from prefect.server.utilities.server import PrefectRouter
@@ -214,6 +218,53 @@ async def read_task_runs(
214
218
  )
215
219
 
216
220
 
221
+ @router.post("/paginate", response_class=ORJSONResponse)
222
+ async def paginate_task_runs(
223
+ sort: schemas.sorting.TaskRunSort = Body(schemas.sorting.TaskRunSort.ID_DESC),
224
+ limit: int = dependencies.LimitBody(),
225
+ page: int = Body(1, ge=1),
226
+ flows: Optional[schemas.filters.FlowFilter] = None,
227
+ flow_runs: Optional[schemas.filters.FlowRunFilter] = None,
228
+ task_runs: Optional[schemas.filters.TaskRunFilter] = None,
229
+ deployments: Optional[schemas.filters.DeploymentFilter] = None,
230
+ db: PrefectDBInterface = Depends(provide_database_interface),
231
+ ) -> TaskRunPaginationResponse:
232
+ """
233
+ Pagination query for task runs.
234
+ """
235
+ offset = (page - 1) * limit
236
+
237
+ async with db.session_context() as session:
238
+ runs = await models.task_runs.read_task_runs(
239
+ session=session,
240
+ flow_filter=flows,
241
+ flow_run_filter=flow_runs,
242
+ task_run_filter=task_runs,
243
+ deployment_filter=deployments,
244
+ offset=offset,
245
+ limit=limit,
246
+ sort=sort,
247
+ )
248
+
249
+ total_count = await models.task_runs.count_task_runs(
250
+ session=session,
251
+ flow_filter=flows,
252
+ flow_run_filter=flow_runs,
253
+ task_run_filter=task_runs,
254
+ deployment_filter=deployments,
255
+ )
256
+
257
+ return TaskRunPaginationResponse.model_validate(
258
+ dict(
259
+ results=runs,
260
+ count=total_count,
261
+ limit=limit,
262
+ pages=(total_count + limit - 1) // limit,
263
+ page=page,
264
+ )
265
+ )
266
+
267
+
217
268
  @router.delete("/{id}", status_code=status.HTTP_204_NO_CONTENT)
218
269
  async def delete_task_run(
219
270
  task_run_id: UUID = Path(..., description="The task run id", alias="id"),
@@ -57,6 +57,11 @@ class TasksSettings(PrefectBaseSettings):
57
57
  description="If `True`, enables a refresh of cached results: re-executing the task will refresh the cached results.",
58
58
  )
59
59
 
60
+ default_no_cache: bool = Field(
61
+ default=False,
62
+ description="If `True`, sets the default cache policy on all tasks to `NO_CACHE`.",
63
+ )
64
+
60
65
  default_retries: int = Field(
61
66
  default=0,
62
67
  ge=0,
prefect/task_engine.py CHANGED
@@ -755,11 +755,14 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
755
755
  if self._telemetry.span
756
756
  else nullcontext()
757
757
  ):
758
- self.begin_run()
759
- try:
760
- yield
761
- finally:
762
- self.call_hooks()
758
+ # Acquire a concurrency slot for each tag, but only if a limit
759
+ # matching the tag already exists.
760
+ with concurrency(list(self.task_run.tags), self.task_run.id):
761
+ self.begin_run()
762
+ try:
763
+ yield
764
+ finally:
765
+ self.call_hooks()
763
766
 
764
767
  @contextmanager
765
768
  def transaction_context(self) -> Generator[Transaction, None, None]:
@@ -820,13 +823,7 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
820
823
  if transaction.is_committed():
821
824
  result = transaction.read()
822
825
  else:
823
- if self.task_run.tags:
824
- # Acquire a concurrency slot for each tag, but only if a limit
825
- # matching the tag already exists.
826
- with concurrency(list(self.task_run.tags), self.task_run.id):
827
- result = call_with_parameters(self.task.fn, parameters)
828
- else:
829
- result = call_with_parameters(self.task.fn, parameters)
826
+ result = call_with_parameters(self.task.fn, parameters)
830
827
  self.handle_success(result, transaction=transaction)
831
828
  return result
832
829
 
@@ -1288,11 +1285,14 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1288
1285
  if self._telemetry.span
1289
1286
  else nullcontext()
1290
1287
  ):
1291
- await self.begin_run()
1292
- try:
1293
- yield
1294
- finally:
1295
- await self.call_hooks()
1288
+ # Acquire a concurrency slot for each tag, but only if a limit
1289
+ # matching the tag already exists.
1290
+ async with aconcurrency(list(self.task_run.tags), self.task_run.id):
1291
+ await self.begin_run()
1292
+ try:
1293
+ yield
1294
+ finally:
1295
+ await self.call_hooks()
1296
1296
 
1297
1297
  @asynccontextmanager
1298
1298
  async def transaction_context(self) -> AsyncGenerator[Transaction, None]:
@@ -1352,13 +1352,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
1352
1352
  if transaction.is_committed():
1353
1353
  result = transaction.read()
1354
1354
  else:
1355
- if self.task_run and self.task_run.tags:
1356
- # Acquire a concurrency slot for each tag, but only if a limit
1357
- # matching the tag already exists.
1358
- async with aconcurrency(list(self.task_run.tags), self.task_run.id):
1359
- result = await call_with_parameters(self.task.fn, parameters)
1360
- else:
1361
- result = await call_with_parameters(self.task.fn, parameters)
1355
+ result = await call_with_parameters(self.task.fn, parameters)
1362
1356
  await self.handle_success(result, transaction=transaction)
1363
1357
  return result
1364
1358
 
prefect/tasks.py CHANGED
@@ -1,8 +1,10 @@
1
1
  """
2
2
  Module containing the base workflow task class and decorator - for most use cases, using the [`@task` decorator][prefect.tasks.task] is preferred.
3
3
  """
4
+
4
5
  # This file requires type-checking with pyright because mypy does not yet support PEP612
5
6
  # See https://github.com/python/mypy/issues/8645
7
+ from __future__ import annotations
6
8
 
7
9
  import asyncio
8
10
  import datetime
@@ -314,7 +316,7 @@ class Task(Generic[P, R]):
314
316
  # exactly in the @task decorator
315
317
  def __init__(
316
318
  self,
317
- fn: Callable[P, R],
319
+ fn: Callable[P, R] | "classmethod[Any, P, R]" | "staticmethod[P, R]",
318
320
  name: Optional[str] = None,
319
321
  description: Optional[str] = None,
320
322
  tags: Optional[Iterable[str]] = None,
@@ -378,6 +380,13 @@ class Task(Generic[P, R]):
378
380
  " my_task():\n\tpass"
379
381
  )
380
382
 
383
+ if isinstance(fn, classmethod):
384
+ fn = cast(Callable[P, R], fn.__func__)
385
+
386
+ if isinstance(fn, staticmethod):
387
+ fn = cast(Callable[P, R], fn.__func__)
388
+ setattr(fn, "__prefect_static__", True)
389
+
381
390
  if not callable(fn):
382
391
  raise TypeError("'fn' must be callable")
383
392
 
@@ -422,6 +431,11 @@ class Task(Generic[P, R]):
422
431
 
423
432
  self.task_key: str = _generate_task_key(self.fn)
424
433
 
434
+ # determine cache and result configuration
435
+ settings = get_current_settings()
436
+ if settings.tasks.default_no_cache and cache_policy is NotSet:
437
+ cache_policy = NO_CACHE
438
+
425
439
  if cache_policy is not NotSet and cache_key_fn is not None:
426
440
  logger.warning(
427
441
  f"Both `cache_policy` and `cache_key_fn` are set on task {self}. `cache_key_fn` will be used."
@@ -458,7 +472,7 @@ class Task(Generic[P, R]):
458
472
  )
459
473
  elif cache_policy is NotSet and result_storage_key is None:
460
474
  self.cache_policy = DEFAULT
461
- elif result_storage_key:
475
+ elif cache_policy != NO_CACHE and result_storage_key:
462
476
  # TODO: handle this situation with double storage
463
477
  self.cache_policy = None
464
478
  else:
@@ -468,7 +482,6 @@ class Task(Generic[P, R]):
468
482
  # TODO: We can instantiate a `TaskRunPolicy` and add Pydantic bound checks to
469
483
  # validate that the user passes positive numbers here
470
484
 
471
- settings = get_current_settings()
472
485
  self.retries: int = (
473
486
  retries if retries is not None else settings.tasks.default_retries
474
487
  )
@@ -532,6 +545,14 @@ class Task(Generic[P, R]):
532
545
  def ismethod(self) -> bool:
533
546
  return hasattr(self.fn, "__prefect_self__")
534
547
 
548
+ @property
549
+ def isclassmethod(self) -> bool:
550
+ return hasattr(self.fn, "__prefect_cls__")
551
+
552
+ @property
553
+ def isstaticmethod(self) -> bool:
554
+ return getattr(self.fn, "__prefect_static__", False)
555
+
535
556
  def __get__(self, instance: Any, owner: Any) -> "Task[P, R]":
536
557
  """
537
558
  Implement the descriptor protocol so that the task can be used as an instance method.
@@ -539,10 +560,15 @@ class Task(Generic[P, R]):
539
560
  an argument. We return a copy of the task with that instance bound to the task's function.
540
561
  """
541
562
 
542
- # if no instance is provided, it's being accessed on the class
543
- if instance is None:
563
+ if self.isstaticmethod:
544
564
  return self
545
565
 
566
+ # wrapped function is a classmethod
567
+ if not instance:
568
+ bound_task = copy(self)
569
+ setattr(bound_task.fn, "__prefect_cls__", owner)
570
+ return bound_task
571
+
546
572
  # if the task is being accessed on an instance, bind the instance to the __prefect_self__ attribute
547
573
  # of the task's function. This will allow it to be automatically added to the task's parameters
548
574
  else:
@@ -1847,9 +1873,6 @@ def task(
1847
1873
  """
1848
1874
 
1849
1875
  if __fn:
1850
- if isinstance(__fn, (classmethod, staticmethod)):
1851
- method_decorator = type(__fn).__name__
1852
- raise TypeError(f"@{method_decorator} should be applied on top of @task")
1853
1876
  return Task(
1854
1877
  fn=__fn,
1855
1878
  name=name,
prefect/transactions.py CHANGED
@@ -23,6 +23,7 @@ from prefect.exceptions import (
23
23
  MissingContextError,
24
24
  SerializationError,
25
25
  )
26
+ from prefect.filesystems import NullFileSystem
26
27
  from prefect.logging.loggers import LoggingAdapter, get_logger, get_run_logger
27
28
  from prefect.results import (
28
29
  ResultRecord,
@@ -453,6 +454,10 @@ def transaction(
453
454
  if key and not store:
454
455
  store = get_result_store()
455
456
 
457
+ # Avoid inheriting a NullFileSystem for metadata_storage from a flow's result store
458
+ if store and isinstance(store.metadata_storage, NullFileSystem):
459
+ store = store.model_copy(update={"metadata_storage": None})
460
+
456
461
  try:
457
462
  _logger: Union[logging.Logger, LoggingAdapter] = logger or get_run_logger()
458
463
  except MissingContextError:
@@ -63,6 +63,8 @@ def get_call_parameters(
63
63
  """
64
64
  if hasattr(fn, "__prefect_self__"):
65
65
  call_args = (getattr(fn, "__prefect_self__"), *call_args)
66
+ if hasattr(fn, "__prefect_cls__"):
67
+ call_args = (getattr(fn, "__prefect_cls__"), *call_args)
66
68
 
67
69
  try:
68
70
  bound_signature = inspect.signature(fn).bind(*call_args, **call_kwargs)
@@ -63,7 +63,7 @@ engine_logger: Logger = get_logger("engine")
63
63
  T = TypeVar("T")
64
64
 
65
65
 
66
- async def collect_task_run_inputs(expr: Any, max_depth: int = -1) -> set[TaskRunInput]:
66
+ async def collect_task_run_inputs(expr: Any, max_depth: int = -1) -> set[TaskRunResult]:
67
67
  """
68
68
  This function recurses through an expression to generate a set of any discernible
69
69
  task run inputs it finds in the data structure. It produces a set of all inputs
@@ -76,7 +76,7 @@ async def collect_task_run_inputs(expr: Any, max_depth: int = -1) -> set[TaskRun
76
76
  """
77
77
  # TODO: This function needs to be updated to detect parameters and constants
78
78
 
79
- inputs: set[TaskRunInput] = set()
79
+ inputs: set[TaskRunResult] = set()
80
80
 
81
81
  def add_futures_and_states_to_inputs(obj: Any) -> None:
82
82
  if isinstance(obj, PrefectFuture):
@@ -93,8 +93,11 @@ def load_script_as_module(path: str) -> ModuleType:
93
93
  parent_path = str(Path(path).resolve().parent)
94
94
  working_directory = os.getcwd()
95
95
 
96
- # Generate unique module name for thread safety
97
- module_name = f"__prefect_loader_{id(path)}__"
96
+ module_name = os.path.splitext(Path(path).name)[0]
97
+
98
+ # fall back in case of filenames with the same names as modules
99
+ if module_name in sys.modules:
100
+ module_name = f"__prefect_loader_{id(path)}__"
98
101
 
99
102
  spec = importlib.util.spec_from_file_location(
100
103
  module_name,
@@ -112,15 +115,9 @@ def load_script_as_module(path: str) -> ModuleType:
112
115
  with _get_sys_path_lock():
113
116
  sys.path.insert(0, working_directory)
114
117
  sys.path.insert(0, parent_path)
115
- try:
116
- spec.loader.exec_module(module)
117
- finally:
118
- sys.path.remove(parent_path)
119
- sys.path.remove(working_directory)
118
+ spec.loader.exec_module(module)
120
119
  except Exception as exc:
121
120
  raise ScriptError(user_exc=exc, path=path) from exc
122
- finally:
123
- sys.modules.pop(module_name)
124
121
 
125
122
  return module
126
123
 
prefect/workers/base.py CHANGED
@@ -60,6 +60,7 @@ from prefect.settings import (
60
60
  get_current_settings,
61
61
  )
62
62
  from prefect.states import (
63
+ Cancelled,
63
64
  Crashed,
64
65
  Pending,
65
66
  exception_to_failed_state,
@@ -1250,9 +1251,12 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
1250
1251
  state_updates = state_updates or {}
1251
1252
  state_updates.setdefault("name", "Cancelled")
1252
1253
  state_updates.setdefault("type", StateType.CANCELLED)
1253
- if TYPE_CHECKING:
1254
- assert flow_run.state
1255
- state = flow_run.state.model_copy(update=state_updates)
1254
+
1255
+ if flow_run.state:
1256
+ state = flow_run.state.model_copy(update=state_updates)
1257
+ else:
1258
+ # Unexpectedly when flow run does not have a state, create a new one
1259
+ state = Cancelled(**state_updates)
1256
1260
 
1257
1261
  await self.client.set_flow_run_state(flow_run.id, state, force=True)
1258
1262
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.2.13
3
+ Version: 3.2.15.dev7
4
4
  Summary: Workflow orchestration and management.
5
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
6
6
  Project-URL: Documentation, https://docs.prefect.io
@@ -48,13 +48,14 @@ Requires-Dist: pydantic-settings>2.2.1
48
48
  Requires-Dist: python-dateutil<3.0.0,>=2.8.2
49
49
  Requires-Dist: python-slugify<9.0,>=5.0
50
50
  Requires-Dist: python-socks[asyncio]<3.0,>=2.5.3
51
+ Requires-Dist: pytz<2026,>=2021.1
51
52
  Requires-Dist: pyyaml<7.0.0,>=5.4.1
52
53
  Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
53
54
  Requires-Dist: rich<14.0,>=11.0
54
55
  Requires-Dist: ruamel-yaml>=0.17.0
55
56
  Requires-Dist: sniffio<2.0.0,>=1.3.0
56
57
  Requires-Dist: toml>=0.10.0
57
- Requires-Dist: typing-extensions<5.0.0,>=4.5.0
58
+ Requires-Dist: typing-extensions<5.0.0,>=4.10.0
58
59
  Requires-Dist: ujson<6.0.0,>=5.8.0
59
60
  Requires-Dist: uvicorn!=0.29.0,>=0.14.0
60
61
  Requires-Dist: websockets<16.0,>=13.0
@@ -1,7 +1,7 @@
1
1
  prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
2
2
  prefect/__init__.py,sha256=iCdcC5ZmeewikCdnPEP6YBAjPNV5dvfxpYCTpw30Hkw,3685
3
3
  prefect/__main__.py,sha256=WFjw3kaYJY6pOTA7WDOgqjsz8zUEUZHCcj3P5wyVa-g,66
4
- prefect/_build_info.py,sha256=fPct5cKMbz-qqS_zMeI5SJEFgZXcf41UFkUscPv_ikM,181
4
+ prefect/_build_info.py,sha256=9HfS5GMe90EbvbHyGiPPtZ531KOhEiN6h_-jQJ7Dutk,186
5
5
  prefect/_result_records.py,sha256=S6QmsODkehGVSzbMm6ig022PYbI6gNKz671p_8kBYx4,7789
6
6
  prefect/_waiters.py,sha256=Ia2ITaXdHzevtyWIgJoOg95lrEXQqNEOquHvw3T33UQ,9026
7
7
  prefect/agent.py,sha256=dPvG1jDGD5HSH7aM2utwtk6RaJ9qg13XjkA0lAIgQmY,287
@@ -12,26 +12,26 @@ prefect/context.py,sha256=iJe4pkFqX6lz8ax1Mde_YqVmBVWmzeBe0ca2_nT6KPQ,23673
12
12
  prefect/engine.py,sha256=uB5JN4l045i5JTlRQNT1x7MwlSiGQ5Bop2Q6jHHOgxY,3699
13
13
  prefect/exceptions.py,sha256=-nih8qqdxRm6CX-4yrqwePVh8Mcpvla_V6N_KbdJsIU,11593
14
14
  prefect/filesystems.py,sha256=v5YqGB4uXf9Ew2VuB9VCSkawvYMMVvEtZf7w1VmAmr8,18036
15
- prefect/flow_engine.py,sha256=gR44YU7aCAbHEqoMDdxL1SDrtS5Xx1Kzg3M7FWjHcvY,58967
16
- prefect/flow_runs.py,sha256=ocbV3ioSBIFoLqExpI2YLteyHdWpHB3t0lrbfl-Ni1E,17256
17
- prefect/flows.py,sha256=dsrV-qNP_2eUsdG409XbtNtfMkTIzcAnBbXrD9OBUgQ,108950
15
+ prefect/flow_engine.py,sha256=rjzpFrLswQ7sMX1-ap4SDYvWUawzSD0nnL6jVLa0ku0,59389
16
+ prefect/flow_runs.py,sha256=dbHcXsOq1UsNM7vyJV9gboCTylmdUwQ_-W4NQt4R4ds,17267
17
+ prefect/flows.py,sha256=wDVMQ67YSgzJR_jwSBjmLQ2zAtIKP7xN_R1UG7an-yk,109495
18
18
  prefect/futures.py,sha256=ADd8ceFqX7A8Kw8aXaqvbYRG03uU82OEY30xrP5vrwY,23599
19
19
  prefect/main.py,sha256=hFeTTrr01qWKcRwZVEHVipyHEybS0VLTscFV6zG6GtY,2306
20
20
  prefect/plugins.py,sha256=FPRLR2mWVBMuOnlzeiTD9krlHONZH2rtYLD753JQDNQ,2516
21
21
  prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- prefect/results.py,sha256=gAcYivq5CN8oL5CWu8cJe2560i0M8I5GL-8RcBTJ6VI,36385
22
+ prefect/results.py,sha256=_y-pBxl5Retn39pG5RE2d5lAb2ycJHhWPAoQWAzr9yQ,36633
23
23
  prefect/schedules.py,sha256=9ufG4jhIA_R7vS9uXqnnZEgB7Ts922KMhNacWcveVgA,7291
24
24
  prefect/serializers.py,sha256=QI0oEal_BO4HQaWSjr6ReSwT55Hn4sbSOXxGgQI1-y0,9249
25
25
  prefect/states.py,sha256=tTZrN-IZKvmFcN8FR_4L-X-ZrmXi6z-cPXl6KdOy-XI,26920
26
- prefect/task_engine.py,sha256=nbiaDyTNN89zP_ibJbe_Zrw2kLGZ4QqoeN221iIc5y0,61526
26
+ prefect/task_engine.py,sha256=Ct9ndJ2IVpXZhrQ5eSs4iT786m2WjSbKmgi5On_jlCQ,61276
27
27
  prefect/task_runners.py,sha256=Ce_ngocfq_X-NA5zhPj13IdVmzZ5h6gXlmfxYWs2AXA,15828
28
28
  prefect/task_runs.py,sha256=7LIzfo3fondCyEUpU05sYFN5IfpZigBDXrhG5yc-8t0,9039
29
29
  prefect/task_worker.py,sha256=mihWOZ3IpZCupqBboB_T1XhLm-0ApwwptTgUH-I3nKo,17794
30
- prefect/tasks.py,sha256=KkqUaGYArxOSf8dRCr6HKtrqWrMfUhq8U4fXC93m4AE,74080
31
- prefect/transactions.py,sha256=kOXwghBW3jM71gg49MkjJPTnImEzXWeTCUE_zpq2MlI,16068
30
+ prefect/tasks.py,sha256=mdvWJe5xRpt2YTijWkMMfNjCcHrYv8C6l5J_3PBPu9k,74742
31
+ prefect/transactions.py,sha256=BYvxr4ZSFmYDCODPhH8DO1_51inH35oJ75ZZOd_GI_w,16341
32
32
  prefect/variables.py,sha256=dCK3vX7TbkqXZhnNT_v7rcGh3ISRqoR6pJVLpoll3Js,8342
33
33
  prefect/_experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- prefect/_experimental/bundles.py,sha256=cxfUFdvBjd42imrimPG2MF3zJoyi1vGeYOVSiyjLC8Y,6245
34
+ prefect/_experimental/bundles.py,sha256=EIZc6hsjQS8V2CH1RbsxOiFeR11l1IgvhiXTSO3uDyM,6386
35
35
  prefect/_experimental/lineage.py,sha256=8LssReoq7eLtQScUCu-7FCtrWoRZstXKRdpO0PxgbKg,9958
36
36
  prefect/_experimental/sla/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  prefect/_experimental/sla/client.py,sha256=XTkYHFZiBy_O7RgUyGEdl9MxaHP-6fEAKBk3ksNQobU,3611
@@ -52,7 +52,7 @@ prefect/_internal/concurrency/cancellation.py,sha256=stCN22-S0f_kZPk50hCEEYzH35f
52
52
  prefect/_internal/concurrency/event_loop.py,sha256=N6SyBV0vaSF5HD4_JM8zL7oBGd2nMuEKkeSPnBZdHw4,2136
53
53
  prefect/_internal/concurrency/inspection.py,sha256=wUWVbHi4G-BxuuYFWhTNmo5yc1C651lQrp5OMiHPU1E,3545
54
54
  prefect/_internal/concurrency/primitives.py,sha256=Wuht4GwJCgts_uAZFUt9c-InPssnXcelRQc1dGdOplk,2672
55
- prefect/_internal/concurrency/services.py,sha256=LmB6QwqJoB6B8curZ93zxWdKYNwuyiyBKLdACWFfb7E,15940
55
+ prefect/_internal/concurrency/services.py,sha256=w2J5Q5Pep19Ignx-TLEw27wf3fS26HVw-eeR4xMeTxQ,16174
56
56
  prefect/_internal/concurrency/threads.py,sha256=9sIDBdVFmvY4qqdkz3p1eqs4se7Ua2lJ-CPnhTSPRs4,9288
57
57
  prefect/_internal/concurrency/waiters.py,sha256=mhXpQk8swcUAxBk7f7kGn1fqy44XcFyneog_zEYecr0,9442
58
58
  prefect/_internal/pydantic/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
@@ -102,7 +102,7 @@ prefect/client/orchestration/_concurrency_limits/client.py,sha256=ss73wg8W_dYNTy
102
102
  prefect/client/orchestration/_deployments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
103
  prefect/client/orchestration/_deployments/client.py,sha256=DfL6eiMaPkYBwCmkMcjKnyVIvE1qC8Xo14h2YqJhFsI,40769
104
104
  prefect/client/orchestration/_flow_runs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- prefect/client/orchestration/_flow_runs/client.py,sha256=5wTtPcUwX-hyLY_Uz7rRiIw6pqW0wQCCBdZVIkONN-Q,30848
105
+ prefect/client/orchestration/_flow_runs/client.py,sha256=fjh5J-LG8tsny7BGYEvynbuGuHDAudYHpx-PamL0GYQ,32220
106
106
  prefect/client/orchestration/_flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  prefect/client/orchestration/_flows/client.py,sha256=21rqVFm-AsqFK1S-vK2TyXKZ_oL65SN0_hiiddi6vIo,11006
108
108
  prefect/client/orchestration/_logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,9 +112,9 @@ prefect/client/orchestration/_variables/client.py,sha256=wKBbZBLGgs5feDCil-xxKt3
112
112
  prefect/client/orchestration/_work_pools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  prefect/client/orchestration/_work_pools/client.py,sha256=s1DfUQQBgB2sLiVVPhLNTlkueUDE6uFsh4mAzcSA1OE,19881
114
114
  prefect/client/schemas/__init__.py,sha256=InZcDzdeWA2oaV0TlyvoMcyLcbi_aaqU1U9D6Gx-eoU,2747
115
- prefect/client/schemas/actions.py,sha256=8eXJkC5YtJ7QZnVsuwrB3V8I-cfBlD6EtfJgIHfXPu4,32434
115
+ prefect/client/schemas/actions.py,sha256=I8LGTyDBrV4eXI_VSq8nQz5jUuOUAn1A0Q5JsPgCa2A,33032
116
116
  prefect/client/schemas/filters.py,sha256=zaiDkalrIpKjd38V4aP1GHlqD24KTPCZiKtPyX69ZWE,36607
117
- prefect/client/schemas/objects.py,sha256=ZHLu4ycTYee7Y1LqM2MZgYszQClnpMuMTXIrYewu4zQ,57034
117
+ prefect/client/schemas/objects.py,sha256=7175pnyPFmGJeqvGrDDuSk7Jitl9h4uGLdDejkzdTy8,57688
118
118
  prefect/client/schemas/responses.py,sha256=iTXTiUhdRL7PxNyJXMZ4ngT7C8SepT_z7g_pnUnVlzo,15629
119
119
  prefect/client/schemas/schedules.py,sha256=4a1lGun448em33zrc0ZUOAew3jB8yqJ7Cxoni3HKR3I,14721
120
120
  prefect/client/schemas/sorting.py,sha256=L-2Mx-igZPtsUoRUguTcG3nIEstMEMPD97NwPM2Ox5s,2579
@@ -138,14 +138,14 @@ prefect/deployments/__init__.py,sha256=_wb7NxDKhq11z9MjYsPckmT3o6MRhGLRgCV9TmvYt
138
138
  prefect/deployments/base.py,sha256=KEc07W35yyzGJcV6GIZry8bKcNfvQk6JjJ99KKB6XpQ,11729
139
139
  prefect/deployments/deployments.py,sha256=K3Rgnpjxo_T8I8LMwlq24OKqZiZBTE8-YnPg-YGUStM,171
140
140
  prefect/deployments/flow_runs.py,sha256=NYe-Bphsy6ENLqSSfywQuX5cRZt-uVgzqGmOsf3Sqw4,7643
141
- prefect/deployments/runner.py,sha256=6ORxmCIDPjjhr-CDEu1-Sstvyqk-UoBt-vTI7eAn63w,54945
141
+ prefect/deployments/runner.py,sha256=QNKdKsLEzx3TE7T_3dJcK7bGvTCvNLY2WCpgDxiQDno,54368
142
142
  prefect/deployments/schedules.py,sha256=2eL1-w8qXtwKVkgfUK7cuamwpKK3X6tN1QYTDa_gWxU,2190
143
143
  prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
144
144
  prefect/deployments/steps/core.py,sha256=ulSgBFSx1lhBt1fP-UxebrernkumBDlympR6IPffV1g,6900
145
145
  prefect/deployments/steps/pull.py,sha256=MDN8nHklgU6MXNMsMRDLDVbIqod87ccPJdt-21dshvU,9767
146
146
  prefect/deployments/steps/utility.py,sha256=Ap_p44Rwz9Lxd6pt8hDW8phF3gwI3YjbsSpWHALDyoM,8157
147
147
  prefect/docker/__init__.py,sha256=z6wdc6UFfiBG2jb9Jk64uCWVM04JKVWeVyDWwuuon8M,527
148
- prefect/docker/docker_image.py,sha256=cdvUEokGJXZDugfCekfmrhhpzrxTEW-FvWa2kDs5tVM,3092
148
+ prefect/docker/docker_image.py,sha256=bR_pEq5-FDxlwTj8CP_7nwZ_MiGK6KxIi8v7DRjy1Kg,3138
149
149
  prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
150
150
  prefect/events/actions.py,sha256=A7jS8bo4zWGnrt3QfSoQs0uYC1xfKXio3IfU0XtTb5s,9129
151
151
  prefect/events/clients.py,sha256=PiPWtqX_OSZCWD7ekCuS_toi7DQMVC7FbPmI5q8cf2I,27254
@@ -173,22 +173,22 @@ prefect/input/actions.py,sha256=BDx26b6ZYCTr0kbWBp73Or7UXnLIv1lnm0jow6Simxw,3871
173
173
  prefect/input/run_input.py,sha256=GoM4LR3oqAFLf2sPCR1yITY9tNSZT8kAd4gaC-v-a-c,22703
174
174
  prefect/locking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
175
  prefect/locking/filesystem.py,sha256=O67Miiz466fQUu3UmHer9dkWpVL1f8GEX8Lv2lDj0Y8,8113
176
- prefect/locking/memory.py,sha256=mFUgV750ywEL7aVQuxFjg9gxbjVU4esBQn7bGQYzeMY,7548
176
+ prefect/locking/memory.py,sha256=Q8NqSeksdQb-AZfql_SXeTd4SRFZ3rWMBwA5shTVEZM,7860
177
177
  prefect/locking/protocol.py,sha256=RsfvlaHTTEJ0YvYWSqFGoZuT2w4FPPxyQlHqjoyNGuE,4240
178
- prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
179
- prefect/logging/configuration.py,sha256=XyHlC31XT00v3hsDg1KKKmKweb8E5fszVKE7BRQ-ebM,3292
178
+ prefect/logging/__init__.py,sha256=DpRZzZeWeiDHFlMDEQdknRzbxpL0ObFh5IqqS9iaZwQ,170
179
+ prefect/logging/configuration.py,sha256=ZBAOgwE34VSZFSiP4gBEd0S9m645_mEs3dFhiwPj58o,3303
180
180
  prefect/logging/filters.py,sha256=NnRYubh9dMmWcCAjuW32cIVQ37rLxdn8ci26wTtQMyU,1136
181
- prefect/logging/formatters.py,sha256=BkPykVyOFKdnhDj_1vhhOoWiHiiBeRnWXPcaRIWK3aI,4125
182
- prefect/logging/handlers.py,sha256=pIeS6gvuVnuh3lZ-kIC4ijRMSbVPkHo-rYeLMj5P8NA,12240
181
+ prefect/logging/formatters.py,sha256=A-SDQbykcvBnPAAJEwbH8ZU6MwFKy035_AOABPPaaQk,4176
182
+ prefect/logging/handlers.py,sha256=_8AiVLSQksVQnINssF8EfwCl2ov-vyMTyPP2_i3Qmbc,12642
183
183
  prefect/logging/highlighters.py,sha256=BCf_LNhFInIfGPqwuu8YVrGa4wVxNc4YXo2pYgftpg4,1811
184
184
  prefect/logging/loggers.py,sha256=rwFJv0i3dhdKr25XX-xUkQy4Vv4dy18bTy366jrC0OQ,12741
185
185
  prefect/logging/logging.yml,sha256=tT7gTyC4NmngFSqFkCdHaw7R0GPNPDDsTCGZQByiJAQ,3169
186
- prefect/runner/__init__.py,sha256=7U-vAOXFkzMfRz1q8Uv6Otsvc0OrPYLLP44srwkJ_8s,89
187
- prefect/runner/runner.py,sha256=8JixM-hU4Oo4AMaXhWGEISUdZCg0AZdPGkP4lXxbMu0,65436
188
- prefect/runner/server.py,sha256=WDDjCbnd2F_3LZBpVX2Y398xpmHvxjyBLKVHWkh5QxI,11240
189
- prefect/runner/storage.py,sha256=14ABbc6xJfPLLichyBVebmoxTT5qPghrOm8cDEujalc,27604
190
- prefect/runner/submit.py,sha256=3Ey6H4XrhYhCII4AobpvzZf21vAunWlMu40zAjMC0gc,8353
191
- prefect/runner/utils.py,sha256=MLtoouDD6bh-JAIz0W3fMofKXEt0VfGsg6d8jf45OA0,3280
186
+ prefect/runner/__init__.py,sha256=pQBd9wVrUVUDUFJlgiweKSnbahoBZwqnd2O2jkhrULY,158
187
+ prefect/runner/runner.py,sha256=oAJifbhbxfVcIHYWus-VrzvVzyEBkU_tIcYyLu9F6LI,65452
188
+ prefect/runner/server.py,sha256=pyMZTWFIn8eDvekfmiXxQZVzLC8zDJORFJO4QvMf_Fg,11328
189
+ prefect/runner/storage.py,sha256=L7aSjie5L6qbXYCDqYDX3ouQ_NsNMlmfjPeaWOC-ncs,28043
190
+ prefect/runner/submit.py,sha256=MtUrEKi4XznXXkDasILYYhY2w_DC2RcAL2hPJUgkgNo,8815
191
+ prefect/runner/utils.py,sha256=19DbhyiV6nvSpTXmnWlt7qPNt1jrz1jscznYrRVGurw,3413
192
192
  prefect/runtime/__init__.py,sha256=JswiTlYRup2zXOYu8AqJ7czKtgcw9Kxo0tTbS6aWCqY,407
193
193
  prefect/runtime/deployment.py,sha256=0A_cUVpYiFk3ciJw2ixy95dk9xBJcjisyF69pakSCcQ,5091
194
194
  prefect/runtime/flow_run.py,sha256=hBa6h99G9K5iHdDUvHoJ2Yg9h5cZVEe_OEEJ2VuJHwk,10557
@@ -211,7 +211,7 @@ prefect/server/api/deployments.py,sha256=2C7pCY2renhyPDfi_IuzWoEhH620ERWLmQSTAnx
211
211
  prefect/server/api/events.py,sha256=3-Qdt6ORxFv3nLoogQqvd72zEulJSoAmcqZto2OULuk,9907
212
212
  prefect/server/api/flow_run_notification_policies.py,sha256=F8xNm6bgZTC3nFe9xCUJS4NlU9tLXZ8fShtJqmhT2m4,4828
213
213
  prefect/server/api/flow_run_states.py,sha256=lIdxVE9CqLgtDCuH9bTaKkzHNL81FPrr11liPzvONrw,1661
214
- prefect/server/api/flow_runs.py,sha256=M3VFUGaxGaHOaC1hjU8kY6voWuTW_-cIOlVzChpePRk,32672
214
+ prefect/server/api/flow_runs.py,sha256=X3PKGoqlF5tsKhwcslBynmQpi2b5DygeD2TvJqCvFgE,33511
215
215
  prefect/server/api/flows.py,sha256=Bz0ISh-9oY0W1X3mqA631_8678pQ6tuRGMpSgWAfxOc,7018
216
216
  prefect/server/api/logs.py,sha256=0z78tM2B5sRgJWYRWJn5lHhRoLtZB_OU3C-uALV8tOs,1571
217
217
  prefect/server/api/middleware.py,sha256=WkyuyeJIfo9Q0GAIVU5gO6yIGNVwoHwuBah5AB5oUyw,2733
@@ -220,14 +220,14 @@ prefect/server/api/run_history.py,sha256=FHepAgo1AYFeuh7rrAVzo_o3hu8Uc8-4DeH5aD5
220
220
  prefect/server/api/saved_searches.py,sha256=UjoqLLe245QVIs6q5Vk4vdODCOoYzciEEjhi7B8sYCE,3233
221
221
  prefect/server/api/server.py,sha256=GHbHTm8qd6i0mbqhnplFNHStUXwYnOuOFc4F9OAYk1c,32940
222
222
  prefect/server/api/task_run_states.py,sha256=e63OPpxPudv_CIB5oKr8Z8rfQ-Osjm9Zq0iHe8obnMo,1647
223
- prefect/server/api/task_runs.py,sha256=VY6MrolTi_vmiaE5my3WyRl5r256WKC7sfxxBE4Wnpw,12239
223
+ prefect/server/api/task_runs.py,sha256=86lXKGUJJSElhkVcxX-kbjctrNe98nUe3U0McDCfTMw,13904
224
224
  prefect/server/api/task_workers.py,sha256=cFP9M8tsApDL_JpySn-x6fOYy9RnOeOgKiqOl_UVVQM,1042
225
225
  prefect/server/api/templates.py,sha256=92bLFfcahZUp5PVNTZPjl8uJSDj4ZYRTVdmTzZXkERg,1027
226
226
  prefect/server/api/validation.py,sha256=HxSNyH8yb_tI-kOfjXESRjJp6WQK6hYWBJsaBxUvY34,14490
227
227
  prefect/server/api/variables.py,sha256=SJaKuqInfQIEdMlJOemptBDN43KLFhlf_u9QwupDu7A,6185
228
228
  prefect/server/api/work_queues.py,sha256=wBcbmkZDaQ5Ddi9wc8tNs6kYG_FdNtYwTCR0VkhPj2o,7588
229
229
  prefect/server/api/workers.py,sha256=sGQzJED7E3uMP1jMdWAyB3d44xWBRtoHcTGY0oiEbm4,22602
230
- prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
230
+ prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=f6t13GRkIcLqGYB3OnXluAHEFoSqZM2SQP22vpcu0Mk,79793
231
231
  prefect/server/api/static/prefect-logo-mark-gradient.png,sha256=ylRjJkI_JHCw8VbQasNnXQHwZW-sH-IQiUGSD3aWP1E,73430
232
232
  prefect/server/api/ui/__init__.py,sha256=TCXO4ZUZCqCbm2QoNvWNTErkzWiX2nSACuO-0Tiomvg,93
233
233
  prefect/server/api/ui/flow_runs.py,sha256=ALmUFY4WrJggN1ha0z-tqXeddG2GptswbPnB7iYixUM,4172
@@ -255,7 +255,7 @@ prefect/settings/models/logging.py,sha256=Sj9GDNr5QMFaP6CN0WJyfpwhpOk4p1yhv45dyQ
255
255
  prefect/settings/models/results.py,sha256=VWFplQSSJyc0LXnziw1H5b3N_PDS32QBe_q2MWwYni0,1484
256
256
  prefect/settings/models/root.py,sha256=b9ZamM-BcD75Xsk0pZej3o2ix2kHkTP14hhITveFcTo,16549
257
257
  prefect/settings/models/runner.py,sha256=rD8OmNLwILmqnGe9YkM1dWKsulx3clYm4LI5N9vD5yM,1991
258
- prefect/settings/models/tasks.py,sha256=3XSMhOsBFoSOL3e-CL36uOuL-zsl9c3buvTNyGubLWg,3482
258
+ prefect/settings/models/tasks.py,sha256=XA83-EmWv1FKvODSzvI1cvS3tGEbNs2qtdh0AbUdblQ,3640
259
259
  prefect/settings/models/testing.py,sha256=j9YH_WkB14iEzOjUtTmvY978qRSbgCypFSEi_cOs8no,1820
260
260
  prefect/settings/models/worker.py,sha256=zeDU71aR4CEvEOKyH-1jgEyol8XYe29PExjIC6a8Wv0,1378
261
261
  prefect/settings/models/server/__init__.py,sha256=KJmffmlHb8GYnClaeYcerae-IaeNsNMucKKRRS_zG9Q,33
@@ -285,17 +285,17 @@ prefect/utilities/_engine.py,sha256=9GW4X1lyAbmPwCuXXIubVJ7Z0DMT3dykkEUtp9tm5hI,
285
285
  prefect/utilities/_git.py,sha256=bPYWQdr9xvH0BqxR1ll1RkaSb3x0vhwylhYD5EilkKU,863
286
286
  prefect/utilities/annotations.py,sha256=0Elqgq6LR7pQqezNqT5wb6U_0e2pDO_zx6VseVL6kL8,4396
287
287
  prefect/utilities/asyncutils.py,sha256=xcfeNym2j3WH4gKXznON2hI1PpUTcwr_BGc16IQS3C4,19789
288
- prefect/utilities/callables.py,sha256=pQ60sVaQ8jMhVHj3t9mQ_NunTLFb2jK9-34gsb5JUMA,25729
288
+ prefect/utilities/callables.py,sha256=YiNdLzsOQfUsTa6bIU3TIMAuZWRiZVevYUQX2cSv5gY,25833
289
289
  prefect/utilities/collections.py,sha256=yMZyRD9j6m3Fd3wm4-HR2r3o7B02AC_MDQZUWsX3s18,23513
290
290
  prefect/utilities/compat.py,sha256=nnPA3lf2f4Y-l645tYFFNmj5NDPaYvjqa9pbGKZ3WKE,582
291
291
  prefect/utilities/context.py,sha256=23SDMgdt07SjmB1qShiykHfGgiv55NBzdbMXM3fE9CI,1447
292
292
  prefect/utilities/dispatch.py,sha256=u6GSGSO3_6vVoIqHVc849lsKkC-I1wUl6TX134GwRBo,6310
293
293
  prefect/utilities/dockerutils.py,sha256=pQ5rJTDX6xXBzr_wFcCmcPo88YPjRp54YHf39iOnkPY,20878
294
- prefect/utilities/engine.py,sha256=wbQpwuAnLrk6yfgOWkip00tljweRn-OODE2NaQBtLAY,28971
294
+ prefect/utilities/engine.py,sha256=H5NFEAlDhragIabDEJYEZbnG4pM03TRhj2Gb4YCtvvg,28973
295
295
  prefect/utilities/filesystem.py,sha256=Pwesv71PGFhf3lPa1iFyMqZZprBjy9nEKCVxTkf_hXw,5710
296
296
  prefect/utilities/generics.py,sha256=o77e8a5iwmrisOf42wLp2WI9YvSw2xDW4vFdpdEwr3I,543
297
297
  prefect/utilities/hashing.py,sha256=7jRy26s46IJAFRmVnCnoK9ek9N4p_UfXxQQvu2tW6dM,2589
298
- prefect/utilities/importtools.py,sha256=xfEtiADR2g2Pe5WdFXJd43msoTAs7udXVnm_knWrRkk,17811
298
+ prefect/utilities/importtools.py,sha256=u8kx7mzNPiM81Lyk57HLn6Z9kqA-gQ9y5KsYu4d6VhI,17734
299
299
  prefect/utilities/math.py,sha256=UPIdJMP13lCU3o0Yz98o4VDw3LTkkrsOAsvAdA3Xifc,2954
300
300
  prefect/utilities/names.py,sha256=PcNp3IbSoJY6P3UiJDYDjpYQw6BYWtn6OarFDCq1dUE,1744
301
301
  prefect/utilities/processutils.py,sha256=k_VD41Q0EBz-DP2lN7AcOkFGpYH3ekKGk4YV_OuvQc8,16255
@@ -312,13 +312,13 @@ prefect/utilities/schema_tools/__init__.py,sha256=At3rMHd2g_Em2P3_dFQlFgqR_EpBwr
312
312
  prefect/utilities/schema_tools/hydration.py,sha256=NkRhWkNfxxFmVGhNDfmxdK_xeKaEhs3a42q83Sg9cT4,9436
313
313
  prefect/utilities/schema_tools/validation.py,sha256=Wix26IVR-ZJ32-6MX2pHhrwm3reB-Q4iB6_phn85OKE,10743
314
314
  prefect/workers/__init__.py,sha256=EaM1F0RZ-XIJaGeTKLsXDnfOPHzVWk5bk0_c4BVS44M,64
315
- prefect/workers/base.py,sha256=E0fZeR0zS_1y7Z7pNx8JyrRn9QLd9gHhA6kuG582Hl4,53040
315
+ prefect/workers/base.py,sha256=XTMuLTKf-cAA1omH374Peyk0be1G9mquYIjpx-j0W6g,53169
316
316
  prefect/workers/block.py,sha256=dPvG1jDGD5HSH7aM2utwtk6RaJ9qg13XjkA0lAIgQmY,287
317
317
  prefect/workers/cloud.py,sha256=dPvG1jDGD5HSH7aM2utwtk6RaJ9qg13XjkA0lAIgQmY,287
318
318
  prefect/workers/process.py,sha256=uxOwcqA2Ps-V-W6WeSdKCQMINrCxBEVx1K1Un8pb7vs,8973
319
319
  prefect/workers/server.py,sha256=SEuyScZ5nGm2OotdtbHjpvqJlTRVWCh29ND7FeL_fZA,1974
320
320
  prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
321
- prefect_client-3.2.13.dist-info/METADATA,sha256=_597uZ6zBWXufm6Zc5TkIsJKb41D53QL2DJ-qUnjpX4,7193
322
- prefect_client-3.2.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
323
- prefect_client-3.2.13.dist-info/licenses/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
324
- prefect_client-3.2.13.dist-info/RECORD,,
321
+ prefect_client-3.2.15.dev7.dist-info/METADATA,sha256=NeJVNI31MCSCuZTKOgBqWYphQmnBTNCPxpsZ4p9a4e0,7233
322
+ prefect_client-3.2.15.dev7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
323
+ prefect_client-3.2.15.dev7.dist-info/licenses/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
324
+ prefect_client-3.2.15.dev7.dist-info/RECORD,,