prefect-client 2.16.5__py3-none-any.whl → 2.16.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.
Files changed (49) hide show
  1. prefect/_internal/pydantic/__init__.py +21 -1
  2. prefect/_internal/pydantic/_base_model.py +16 -0
  3. prefect/_internal/pydantic/_compat.py +352 -68
  4. prefect/_internal/pydantic/_flags.py +15 -0
  5. prefect/_internal/pydantic/v1_schema.py +48 -0
  6. prefect/_internal/pydantic/v2_schema.py +6 -2
  7. prefect/_internal/schemas/validators.py +582 -9
  8. prefect/artifacts.py +179 -70
  9. prefect/client/cloud.py +4 -1
  10. prefect/client/orchestration.py +1 -1
  11. prefect/client/schemas/actions.py +2 -2
  12. prefect/client/schemas/objects.py +13 -24
  13. prefect/client/schemas/schedules.py +18 -80
  14. prefect/deployments/deployments.py +22 -86
  15. prefect/deployments/runner.py +8 -11
  16. prefect/events/__init__.py +40 -1
  17. prefect/events/clients.py +17 -20
  18. prefect/events/filters.py +5 -6
  19. prefect/events/related.py +1 -1
  20. prefect/events/schemas/__init__.py +5 -0
  21. prefect/events/schemas/automations.py +303 -0
  22. prefect/events/{schemas.py → schemas/deployment_triggers.py} +146 -270
  23. prefect/events/schemas/events.py +285 -0
  24. prefect/events/schemas/labelling.py +106 -0
  25. prefect/events/utilities.py +2 -2
  26. prefect/events/worker.py +1 -1
  27. prefect/filesystems.py +8 -37
  28. prefect/flows.py +4 -4
  29. prefect/infrastructure/kubernetes.py +12 -56
  30. prefect/infrastructure/provisioners/__init__.py +1 -0
  31. prefect/pydantic/__init__.py +4 -0
  32. prefect/pydantic/main.py +15 -0
  33. prefect/runner/runner.py +2 -2
  34. prefect/runner/server.py +1 -1
  35. prefect/serializers.py +13 -61
  36. prefect/settings.py +35 -13
  37. prefect/task_server.py +21 -7
  38. prefect/utilities/asyncutils.py +1 -1
  39. prefect/utilities/callables.py +2 -2
  40. prefect/utilities/context.py +33 -1
  41. prefect/utilities/schema_tools/hydration.py +14 -6
  42. prefect/workers/base.py +1 -2
  43. prefect/workers/block.py +3 -7
  44. {prefect_client-2.16.5.dist-info → prefect_client-2.16.7.dist-info}/METADATA +2 -2
  45. {prefect_client-2.16.5.dist-info → prefect_client-2.16.7.dist-info}/RECORD +48 -40
  46. prefect/utilities/validation.py +0 -63
  47. {prefect_client-2.16.5.dist-info → prefect_client-2.16.7.dist-info}/LICENSE +0 -0
  48. {prefect_client-2.16.5.dist-info → prefect_client-2.16.7.dist-info}/WHEEL +0 -0
  49. {prefect_client-2.16.5.dist-info → prefect_client-2.16.7.dist-info}/top_level.txt +0 -0
prefect/runner/server.py CHANGED
@@ -8,6 +8,7 @@ from prefect._vendor.fastapi.responses import JSONResponse
8
8
  from typing_extensions import Literal
9
9
 
10
10
  from prefect._internal.pydantic import HAS_PYDANTIC_V2
11
+ from prefect._internal.schemas.validators import validate_values_conform_to_schema
11
12
  from prefect.client.orchestration import get_client
12
13
  from prefect.exceptions import MissingFlowError, ScriptError
13
14
  from prefect.flows import Flow, load_flow_from_entrypoint, load_flows_from_script
@@ -24,7 +25,6 @@ from prefect.settings import (
24
25
  PREFECT_RUNNER_SERVER_PORT,
25
26
  )
26
27
  from prefect.utilities.asyncutils import sync_compatible
27
- from prefect.utilities.validation import validate_values_conform_to_schema
28
28
 
29
29
  if TYPE_CHECKING:
30
30
  from prefect.client.schemas.responses import DeploymentResponse
prefect/serializers.py CHANGED
@@ -16,6 +16,13 @@ import warnings
16
16
  from typing import Any, Generic, Optional, TypeVar
17
17
 
18
18
  from prefect._internal.pydantic import HAS_PYDANTIC_V2
19
+ from prefect._internal.schemas.validators import (
20
+ cast_type_names_to_serializers,
21
+ validate_compressionlib,
22
+ validate_dump_kwargs,
23
+ validate_load_kwargs,
24
+ validate_picklelib,
25
+ )
19
26
 
20
27
  if HAS_PYDANTIC_V2:
21
28
  import pydantic.v1 as pydantic
@@ -101,27 +108,7 @@ class PickleSerializer(Serializer):
101
108
 
102
109
  @pydantic.validator("picklelib")
103
110
  def check_picklelib(cls, value):
104
- """
105
- Check that the given pickle library is importable and has dumps/loads methods.
106
- """
107
- try:
108
- pickler = from_qualified_name(value)
109
- except (ImportError, AttributeError) as exc:
110
- raise ValueError(
111
- f"Failed to import requested pickle library: {value!r}."
112
- ) from exc
113
-
114
- if not callable(getattr(pickler, "dumps", None)):
115
- raise ValueError(
116
- f"Pickle library at {value!r} does not have a 'dumps' method."
117
- )
118
-
119
- if not callable(getattr(pickler, "loads", None)):
120
- raise ValueError(
121
- f"Pickle library at {value!r} does not have a 'loads' method."
122
- )
123
-
124
- return value
111
+ return validate_picklelib(value)
125
112
 
126
113
  @pydantic.root_validator
127
114
  def check_picklelib_version(cls, values):
@@ -196,23 +183,11 @@ class JSONSerializer(Serializer):
196
183
 
197
184
  @pydantic.validator("dumps_kwargs")
198
185
  def dumps_kwargs_cannot_contain_default(cls, value):
199
- # `default` is set by `object_encoder`. A user provided callable would make this
200
- # class unserializable anyway.
201
- if "default" in value:
202
- raise ValueError(
203
- "`default` cannot be provided. Use `object_encoder` instead."
204
- )
205
- return value
186
+ return validate_dump_kwargs(value)
206
187
 
207
188
  @pydantic.validator("loads_kwargs")
208
189
  def loads_kwargs_cannot_contain_object_hook(cls, value):
209
- # `object_hook` is set by `object_decoder`. A user provided callable would make
210
- # this class unserializable anyway.
211
- if "object_hook" in value:
212
- raise ValueError(
213
- "`object_hook` cannot be provided. Use `object_decoder` instead."
214
- )
215
- return value
190
+ return validate_load_kwargs(value)
216
191
 
217
192
  def dumps(self, data: Any) -> bytes:
218
193
  json = from_qualified_name(self.jsonlib)
@@ -251,35 +226,12 @@ class CompressedSerializer(Serializer):
251
226
  compressionlib: str = "lzma"
252
227
 
253
228
  @pydantic.validator("serializer", pre=True)
254
- def cast_type_names_to_serializers(cls, value):
255
- if isinstance(value, str):
256
- return Serializer(type=value)
257
- return value
229
+ def validate_serializer(cls, value):
230
+ return cast_type_names_to_serializers(value)
258
231
 
259
232
  @pydantic.validator("compressionlib")
260
233
  def check_compressionlib(cls, value):
261
- """
262
- Check that the given pickle library is importable and has compress/decompress
263
- methods.
264
- """
265
- try:
266
- compressor = from_qualified_name(value)
267
- except (ImportError, AttributeError) as exc:
268
- raise ValueError(
269
- f"Failed to import requested compression library: {value!r}."
270
- ) from exc
271
-
272
- if not callable(getattr(compressor, "compress", None)):
273
- raise ValueError(
274
- f"Compression library at {value!r} does not have a 'compress' method."
275
- )
276
-
277
- if not callable(getattr(compressor, "decompress", None)):
278
- raise ValueError(
279
- f"Compression library at {value!r} does not have a 'decompress' method."
280
- )
281
-
282
- return value
234
+ return validate_compressionlib(value)
283
235
 
284
236
  def dumps(self, obj: Any) -> bytes:
285
237
  blob = self.serializer.dumps(obj)
prefect/settings.py CHANGED
@@ -51,6 +51,7 @@ from typing import (
51
51
  Any,
52
52
  Callable,
53
53
  Dict,
54
+ Generator,
54
55
  Generic,
55
56
  Iterable,
56
57
  List,
@@ -600,8 +601,8 @@ PREFECT_API_SSL_CERT_FILE = Setting(
600
601
  default=os.environ.get("SSL_CERT_FILE"),
601
602
  )
602
603
  """
603
- This configuration settings option specifies the path to an SSL certificate file.
604
- When set, it allows the application to use the specified certificate for secure communication.
604
+ This configuration settings option specifies the path to an SSL certificate file.
605
+ When set, it allows the application to use the specified certificate for secure communication.
605
606
  If left unset, the setting will default to the value provided by the `SSL_CERT_FILE` environment variable.
606
607
  """
607
608
 
@@ -1177,7 +1178,7 @@ this often. Defaults to `5`.
1177
1178
 
1178
1179
  PREFECT_API_SERVICES_LATE_RUNS_AFTER_SECONDS = Setting(
1179
1180
  timedelta,
1180
- default=timedelta(seconds=5),
1181
+ default=timedelta(seconds=15),
1181
1182
  )
1182
1183
  """The late runs service will mark runs as late after they
1183
1184
  have exceeded their scheduled start time by this many seconds. Defaults
@@ -1235,7 +1236,7 @@ Note this setting only applies when calling `prefect server start`; if hosting t
1235
1236
  API with another tool you will need to configure this there instead.
1236
1237
  """
1237
1238
 
1238
- PREFECT_SERVER_CSRF_PROTECTION_ENABLED = Setting(bool, default=False)
1239
+ PREFECT_SERVER_CSRF_PROTECTION_ENABLED = Setting(bool, default=True)
1239
1240
  """
1240
1241
  Controls the activation of CSRF protection for the Prefect server API.
1241
1242
 
@@ -1422,6 +1423,16 @@ PREFECT_EXPERIMENTAL_WARN_FLOW_RUN_INPUT = Setting(bool, default=True)
1422
1423
  Whether or not to enable flow run input.
1423
1424
  """
1424
1425
 
1426
+
1427
+ # Prefect Events feature flags
1428
+
1429
+ PREFECT_EXPERIMENTAL_EVENTS = Setting(bool, default=False)
1430
+ """
1431
+ Whether to enable Prefect's server-side event features. Note that Prefect Cloud clients
1432
+ will always emit events during flow and task runs regardless of this setting.
1433
+ """
1434
+
1435
+
1425
1436
  PREFECT_RUNNER_PROCESS_LIMIT = Setting(int, default=5)
1426
1437
  """
1427
1438
  Maximum number of processes a runner will execute in parallel.
@@ -1575,10 +1586,6 @@ PREFECT_EXPERIMENTAL_ENABLE_WORK_QUEUE_STATUS = Setting(bool, default=True)
1575
1586
  Whether or not to enable experimental work queue status in-place of work queue health.
1576
1587
  """
1577
1588
 
1578
- PREFECT_EXPERIMENTAL_ENABLE_PYDANTIC_V2_INTERNALS = Setting(bool, default=False)
1579
- """
1580
- Whether or not to enable internal experimental Pydantic v2 behavior.
1581
- """
1582
1589
 
1583
1590
  # Defaults -----------------------------------------------------------------------------
1584
1591
 
@@ -1623,6 +1630,19 @@ when attempting to serve the UI from the default directory (for example when run
1623
1630
  """
1624
1631
 
1625
1632
 
1633
+ # Events settings ------------------------------------------------------------------
1634
+
1635
+ PREFECT_EVENTS_MAXIMUM_LABELS_PER_RESOURCE = Setting(int, default=500)
1636
+ """
1637
+ The maximum number of labels a resource may have.
1638
+ """
1639
+
1640
+ PREFECT_EVENTS_MAXIMUM_RELATED_RESOURCES = Setting(int, default=500)
1641
+ """
1642
+ The maximum number of related resources an Event may have.
1643
+ """
1644
+
1645
+
1626
1646
  # Deprecated settings ------------------------------------------------------------------
1627
1647
 
1628
1648
 
@@ -1877,10 +1897,10 @@ def get_default_settings() -> Settings:
1877
1897
 
1878
1898
  @contextmanager
1879
1899
  def temporary_settings(
1880
- updates: Mapping[Setting, Any] = None,
1881
- set_defaults: Mapping[Setting, Any] = None,
1882
- restore_defaults: Iterable[Setting] = None,
1883
- ) -> Settings:
1900
+ updates: Optional[Mapping[Setting[T], Any]] = None,
1901
+ set_defaults: Optional[Mapping[Setting[T], Any]] = None,
1902
+ restore_defaults: Optional[Iterable[Setting[T]]] = None,
1903
+ ) -> Generator[Settings, None, None]:
1884
1904
  """
1885
1905
  Temporarily override the current settings by entering a new profile.
1886
1906
 
@@ -2132,7 +2152,9 @@ class ProfilesCollection:
2132
2152
  )
2133
2153
 
2134
2154
 
2135
- def _handle_removed_flags(profile_name: str, settings: dict) -> dict:
2155
+ def _handle_removed_flags(
2156
+ profile_name: str, settings: Dict[str, Any]
2157
+ ) -> Dict[str, Any]:
2136
2158
  to_remove = [name for name in settings if name in REMOVED_EXPERIMENTAL_FLAGS]
2137
2159
 
2138
2160
  for name in to_remove:
prefect/task_server.py CHANGED
@@ -16,6 +16,7 @@ from prefect._internal.concurrency.api import create_call, from_sync
16
16
  from prefect.client.schemas.objects import TaskRun
17
17
  from prefect.client.subscriptions import Subscription
18
18
  from prefect.engine import emit_task_run_state_change_event, propose_state
19
+ from prefect.exceptions import Abort, PrefectHTTPStatusError
19
20
  from prefect.logging.loggers import get_logger
20
21
  from prefect.results import ResultFactory
21
22
  from prefect.settings import (
@@ -192,18 +193,31 @@ class TaskServer:
192
193
  f"Submitting run {task_run.name!r} of task {task.name!r} to engine"
193
194
  )
194
195
 
195
- state = await propose_state(
196
- client=get_client(), # TODO prove that we cannot use self._client here
197
- state=Pending(),
198
- task_run_id=task_run.id,
199
- )
196
+ try:
197
+ state = await propose_state(
198
+ client=get_client(), # TODO prove that we cannot use self._client here
199
+ state=Pending(),
200
+ task_run_id=task_run.id,
201
+ )
202
+ except Abort as exc:
203
+ logger.exception(
204
+ f"Failed to submit task run {task_run.id!r} to engine", exc_info=exc
205
+ )
206
+ return
207
+ except PrefectHTTPStatusError as exc:
208
+ if exc.response.status_code == 404:
209
+ logger.warning(
210
+ f"Task run {task_run.id!r} not found. It may have been deleted."
211
+ )
212
+ return
213
+ raise
200
214
 
201
215
  if not state.is_pending():
202
216
  logger.warning(
203
- f"Aborted task run {task_run.id!r} -"
217
+ f"Cancelling submission of task run {task_run.id!r} -"
204
218
  f" server returned a non-pending state {state.type.value!r}."
205
- " Task run may have already begun execution."
206
219
  )
220
+ return
207
221
 
208
222
  emit_task_run_state_change_event(
209
223
  task_run=task_run,
@@ -343,7 +343,7 @@ async def add_event_loop_shutdown_callback(coroutine_fn: Callable[[], Awaitable]
343
343
  # There is a poorly understood edge case we've seen in CI where the key is
344
344
  # removed from the dict before we begin generator iteration.
345
345
  except KeyError:
346
- logger.warn("The event loop shutdown callback was not properly registered. ")
346
+ logger.warning("The event loop shutdown callback was not properly registered. ")
347
347
  pass
348
348
 
349
349
 
@@ -9,13 +9,13 @@ from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple
9
9
  import cloudpickle
10
10
 
11
11
  from prefect._internal.pydantic import HAS_PYDANTIC_V2
12
+ from prefect._internal.pydantic.v1_schema import has_v1_type_as_param
12
13
 
13
14
  if HAS_PYDANTIC_V2:
14
15
  import pydantic.v1 as pydantic
15
16
 
16
17
  from prefect._internal.pydantic.v2_schema import (
17
18
  create_v2_schema,
18
- has_v2_type_as_param,
19
19
  process_v2_params,
20
20
  )
21
21
  else:
@@ -325,7 +325,7 @@ def parameter_schema(fn: Callable) -> ParameterSchema:
325
325
  class ModelConfig:
326
326
  arbitrary_types_allowed = True
327
327
 
328
- if HAS_PYDANTIC_V2 and has_v2_type_as_param(signature):
328
+ if HAS_PYDANTIC_V2 and not has_v1_type_as_param(signature):
329
329
  create_schema = create_v2_schema
330
330
  process_params = process_v2_params
331
331
  else:
@@ -1,6 +1,10 @@
1
1
  from contextlib import contextmanager
2
2
  from contextvars import Context, ContextVar, Token
3
- from typing import Dict
3
+ from typing import TYPE_CHECKING, Dict, Optional, Tuple, cast
4
+ from uuid import UUID
5
+
6
+ if TYPE_CHECKING:
7
+ from prefect.client.schemas.objects import FlowRun, TaskRun
4
8
 
5
9
 
6
10
  @contextmanager
@@ -14,3 +18,31 @@ def temporary_context(context: Context):
14
18
  finally:
15
19
  for key, token in tokens.items():
16
20
  key.reset(token)
21
+
22
+
23
+ def get_task_run_id() -> Optional[UUID]:
24
+ from prefect.context import TaskRunContext
25
+
26
+ context = TaskRunContext.get()
27
+ if task_run := cast(Optional["TaskRun"], getattr(context, "task_run", None)):
28
+ return task_run.id
29
+ return None
30
+
31
+
32
+ def get_flow_run_id() -> Optional[UUID]:
33
+ from prefect.context import FlowRunContext
34
+
35
+ context = FlowRunContext.get()
36
+ if flow_run := cast(Optional["FlowRun"], getattr(context, "flow_run", None)):
37
+ return flow_run.id
38
+ return None
39
+
40
+
41
+ def get_task_and_flow_run_ids() -> Tuple[Optional[UUID], Optional[UUID]]:
42
+ """
43
+ Get the task run and flow run ids from the context, if available.
44
+
45
+ Returns:
46
+ Tuple[Optional[UUID], Optional[UUID]]: a tuple of the task run id and flow run id
47
+ """
48
+ return get_task_run_id(), get_flow_run_id()
@@ -149,9 +149,13 @@ def null_handler(obj: Dict, ctx: HydrationContext):
149
149
  @handler("json")
150
150
  def json_handler(obj: Dict, ctx: HydrationContext):
151
151
  if "value" in obj:
152
+ if isinstance(obj["value"], dict):
153
+ dehydrated_json = _hydrate(obj["value"], ctx)
154
+ else:
155
+ dehydrated_json = obj["value"]
152
156
  try:
153
- return json.loads(obj["value"])
154
- except json.decoder.JSONDecodeError as e:
157
+ return json.loads(dehydrated_json)
158
+ except (json.decoder.JSONDecodeError, TypeError) as e:
155
159
  return InvalidJSON(detail=str(e))
156
160
  else:
157
161
  # If `value` is not in the object, we need special handling to help
@@ -166,11 +170,15 @@ def json_handler(obj: Dict, ctx: HydrationContext):
166
170
  @handler("workspace_variable")
167
171
  def workspace_variable_handler(obj: Dict, ctx: HydrationContext):
168
172
  if "variable_name" in obj:
169
- variable = obj["variable_name"]
170
- if variable in ctx.workspace_variables:
171
- return ctx.workspace_variables[variable]
173
+ if isinstance(obj["variable_name"], dict):
174
+ dehydrated_variable = _hydrate(obj["variable_name"], ctx)
175
+ else:
176
+ dehydrated_variable = obj["variable_name"]
177
+
178
+ if dehydrated_variable in ctx.workspace_variables:
179
+ return ctx.workspace_variables[dehydrated_variable]
172
180
  else:
173
- return WorkspaceVariableNotFound(detail=variable)
181
+ return WorkspaceVariableNotFound(detail=dehydrated_variable)
174
182
  else:
175
183
  # Special handling if `variable_name` is not in the object.
176
184
  # If an object looks like {"__prefect_kind": "workspace_variable"}
prefect/workers/base.py CHANGED
@@ -37,9 +37,8 @@ from prefect.client.schemas.filters import (
37
37
  from prefect.client.schemas.objects import StateType, WorkPool
38
38
  from prefect.client.utilities import inject_client
39
39
  from prefect.engine import propose_state
40
- from prefect.events import Event, emit_event
40
+ from prefect.events import Event, RelatedResource, emit_event
41
41
  from prefect.events.related import object_as_related_resource, tags_as_related_resources
42
- from prefect.events.schemas import RelatedResource
43
42
  from prefect.exceptions import (
44
43
  Abort,
45
44
  InfrastructureNotAvailable,
prefect/workers/block.py CHANGED
@@ -18,17 +18,13 @@ else:
18
18
 
19
19
  from prefect.client.orchestration import PrefectClient
20
20
  from prefect.client.utilities import inject_client
21
+ from prefect.events import RelatedResource
21
22
  from prefect.events.related import object_as_related_resource, tags_as_related_resources
22
- from prefect.events.schemas import RelatedResource
23
- from prefect.utilities.templating import (
24
- apply_values,
25
- )
23
+ from prefect.utilities.templating import apply_values
26
24
 
27
25
  if TYPE_CHECKING:
28
26
  from prefect.client.schemas.objects import Flow, FlowRun
29
- from prefect.client.schemas.responses import (
30
- DeploymentResponse,
31
- )
27
+ from prefect.client.schemas.responses import DeploymentResponse
32
28
 
33
29
 
34
30
  class BlockWorkerJobConfiguration(BaseModel):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 2.16.5
3
+ Version: 2.16.7
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -51,7 +51,7 @@ Requires-Dist: sniffio <2.0.0,>=1.3.0
51
51
  Requires-Dist: toml >=0.10.0
52
52
  Requires-Dist: typing-extensions <5.0.0,>=4.5.0
53
53
  Requires-Dist: ujson <6.0.0,>=5.8.0
54
- Requires-Dist: uvicorn >=0.14.0
54
+ Requires-Dist: uvicorn <0.29.0,>=0.14.0
55
55
  Requires-Dist: websockets <13.0,>=10.4
56
56
  Requires-Dist: itsdangerous
57
57
  Requires-Dist: python-multipart >=0.0.7
@@ -2,25 +2,25 @@ prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
2
2
  prefect/__init__.py,sha256=FqZ2FacBZq5wr-RnLQphwqXN0atLdu9bDC2YtmZi-AU,5456
3
3
  prefect/_version.py,sha256=fQguBh1dzT7Baahj504O5RrsLlSyg3Zrx42OpgdPnFc,22378
4
4
  prefect/agent.py,sha256=ZHRiQo13SC8F_flWaoWskVopM1DZKgZVwx9kkg_z0A0,27791
5
- prefect/artifacts.py,sha256=QLnFkVaBpMQp9fLWkHlayZOUCp2OI6lPmAkUbT-NMLo,5274
5
+ prefect/artifacts.py,sha256=mreaBE4qMoXkjc9YI-5cAxoye7ixraHB_zr8GTK9xPU,8694
6
6
  prefect/context.py,sha256=QK_U3ym-h2i1Y_EOSr4BQeeMN0AIOpG81LQS7k1RiRA,18103
7
7
  prefect/engine.py,sha256=kWU4jJQm3ApiJiuq3rZysyZZC2zBQc3DdJuYfpydmIE,110127
8
8
  prefect/exceptions.py,sha256=84rpsDLp0cn_v2gE1TnK_NZXh27NJtzgZQtARVKyVEE,10953
9
- prefect/filesystems.py,sha256=HkBczs0r69yJQRWsPUVJiU2JKK6NPrkPvSSVIUrvMpQ,36444
9
+ prefect/filesystems.py,sha256=ndaoGezKKXSCGCwwr7h9I_Z_UeamWAxxbG5vnslCYao,35239
10
10
  prefect/flow_runs.py,sha256=mFHLavZk1yZ62H3UazuNDBZWAF7AqKttA4rMcHgsVSw,3119
11
- prefect/flows.py,sha256=CvQ_sGsJNA7zs4i9l4jaZpReon_RznSeK8vZ4TbpSY0,70275
11
+ prefect/flows.py,sha256=7ZFIDdRMKn49UCFRmESBX6xJaiI7dJNUPmOsHGbxs2c,70287
12
12
  prefect/futures.py,sha256=RaWfYIXtH7RsWxQ5QWTTlAzwtVV8XWpXaZT_hLq35vQ,12590
13
13
  prefect/manifests.py,sha256=xfwEEozSEqPK2Lro4dfgdTnjVbQx-aCECNBnf7vO7ZQ,808
14
14
  prefect/plugins.py,sha256=0C-D3-dKi06JZ44XEGmLjCiAkefbE_lKX-g3urzdbQ4,4163
15
15
  prefect/profiles.toml,sha256=1Tz7nKBDTDXL_6KPJSeB7ok0Vx_aQJ_p0AUmbnzDLzw,39
16
16
  prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  prefect/results.py,sha256=FgudRagwoNKVKR5590I4AN0mxgYoyXG_7Q1HVoMXdaU,24731
18
- prefect/serializers.py,sha256=sSbe40Ipj-d6VuzBae5k2ao9lkMUZpIXcLtD7f2a7cE,10852
19
- prefect/settings.py,sha256=3xU5DQQglwa7MFnYQ6GqhWHbdIis81Ehnj1fMa7d30M,71067
18
+ prefect/serializers.py,sha256=-zMi0OivhnUMZsOqNPyP4EoV0tVf7HsanFeAxJiDmzw,9015
19
+ prefect/settings.py,sha256=04Y4AQP4rqeTKNPKXo3n2o-LmePGK3d8KMLlsZMQySo,71632
20
20
  prefect/states.py,sha256=-Ud4AUom3Qu-HQ4hOLvfVZuuF-b_ibaqtzmL7V949Ac,20839
21
21
  prefect/task_engine.py,sha256=_2I7XLwoT_nNhpzTMa_52aQKjsDoaW6WpzwIHYEWZS0,2598
22
22
  prefect/task_runners.py,sha256=HXUg5UqhZRN2QNBqMdGE1lKhwFhT8TaRN75ScgLbnw8,11012
23
- prefect/task_server.py,sha256=6sJAQ6re5ahAHF9IjYkr05mUgefUB6Ga0BeKicgH84A,10532
23
+ prefect/task_server.py,sha256=HSbX9ftyLUkXKIWDzyPyza0ZnHBaE7Frvm4sp_uGDfE,11047
24
24
  prefect/tasks.py,sha256=AFDCyb0p0r8mamiFMu220-DfGMLSjq-uRi4vL6oxQOE,50477
25
25
  prefect/variables.py,sha256=sk3pfwfPY5lKLt4Qi7OQJPeYipzYip3gidgA9gydcpI,978
26
26
  prefect/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -39,10 +39,13 @@ prefect/_internal/concurrency/primitives.py,sha256=kxCPD9yLtCeqt-JIHjevL4Zt5FvrF
39
39
  prefect/_internal/concurrency/services.py,sha256=aggJd4IUSB6ufppRYdRT-36daEg1JSpJCvK635R8meg,11951
40
40
  prefect/_internal/concurrency/threads.py,sha256=-tReWZL9_XMkRS35SydAfeePH2vqCqb1CGM8lgrKT1I,7846
41
41
  prefect/_internal/concurrency/waiters.py,sha256=DXTD_bbVEUhcTplYQFX8mGmL6nsqJGEDfvS0TmHmIQk,9475
42
- prefect/_internal/pydantic/__init__.py,sha256=zhbVYT051zywa0rF7Q62jaVFH2D2no3CTCJ1ZXktmR8,482
43
- prefect/_internal/pydantic/_compat.py,sha256=YTRAmOTTYybXKJtwsPjee40shpWCtAYlI7RZbPADVO0,6532
42
+ prefect/_internal/pydantic/__init__.py,sha256=r2FZa0rX3w9tv-9ajBXXn85o93T5nAOiiwPiLpvbmmw,786
43
+ prefect/_internal/pydantic/_base_model.py,sha256=eiLbeK7EfWAU0MZUrEG7iKmmwlWeySR7sZ8e_pSwwGc,317
44
+ prefect/_internal/pydantic/_compat.py,sha256=PAhyk479cZmh_hUcFmSWJuvgd_bKa22cszKb7Fut52U,14921
45
+ prefect/_internal/pydantic/_flags.py,sha256=sF-YJD85Al4npLbl43WDRyQzCZO8qWY4gE5_ZVixEZg,622
44
46
  prefect/_internal/pydantic/schemas.py,sha256=tsRKq5yEIgiRbWMl3BPnbfNaKyDN6pq8WSs0M8SQMm4,452
45
- prefect/_internal/pydantic/v2_schema.py,sha256=fySqjMCFoJpRs7wN6c5qoVKePbDbWcXYUoYOs5eFzL0,3485
47
+ prefect/_internal/pydantic/v1_schema.py,sha256=j_DDQqpP1xFsvkNSjWeviTnnFyNPPqou9n4M2lf3K2U,1133
48
+ prefect/_internal/pydantic/v2_schema.py,sha256=RE7VQaf6nefhdYU2O-gbzumMcuBk-fiH_6Rq9F7eAqg,3689
46
49
  prefect/_internal/pydantic/v2_validated_func.py,sha256=44I4o8jjiS7TYep-E6UYMwjpYH5F1WwJFajW81A3wts,3823
47
50
  prefect/_internal/pydantic/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
51
  prefect/_internal/pydantic/annotations/pendulum.py,sha256=rWT6zzCtIqvK2_EuAkMt73ZzAvdE5tF2104e0-tIaa4,2625
@@ -51,7 +54,7 @@ prefect/_internal/schemas/bases.py,sha256=hl6iBar9QfVQo7I7nJR6wnyL_KTrHeRqcWfQ7Q
51
54
  prefect/_internal/schemas/fields.py,sha256=GMZeLPvrSRleomgKi73AyNKg8aqbh7ezWqGkreLVnMs,1385
52
55
  prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1OdR6TXNrRhQ,825
53
56
  prefect/_internal/schemas/transformations.py,sha256=PRMMso1TlRYSdRC7JvvddxHfkECbjxx5ienyLk93wyM,3730
54
- prefect/_internal/schemas/validators.py,sha256=52KA5iqnIbnFtBDygghmy6h06SWAaS0qrmlBtQp1unc,1243
57
+ prefect/_internal/schemas/validators.py,sha256=tQXH7KrOBUUlggzNvqQiIOULpr2L0GRmRdt561gVsgI,18855
55
58
  prefect/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
59
  prefect/_vendor/fastapi/__init__.py,sha256=u-zfck662O4-Bsz91pZM53R53pVmdEQ1LUgf2hZenb0,1096
57
60
  prefect/_vendor/fastapi/applications.py,sha256=72zqRql-QLOjk68Wmnx4F1aW9_UcDXZ-lf-COP3aL1c,40983
@@ -140,18 +143,18 @@ prefect/blocks/system.py,sha256=Nlp-3315Hye3FJ5uhDovSPGBIEKi5UbCkAcy3hDxhKk,3057
140
143
  prefect/blocks/webhook.py,sha256=hhyWck7mAPfD_12bl40dJedNC9HIaqs7z13iYcZZ14o,2005
141
144
  prefect/client/__init__.py,sha256=yJ5FRF9RxNUio2V_HmyKCKw5G6CZO0h8cv6xA_Hkpcc,477
142
145
  prefect/client/base.py,sha256=VsJWgaSEyIbHo2MfIkBuErahYwXnU68P3R-n83jx2LI,15211
143
- prefect/client/cloud.py,sha256=rrxwmYE9yH4HIewu-xG0HY4P7rwP9gFNitBMYQybcvE,3998
146
+ prefect/client/cloud.py,sha256=Ozf-jklZntlzOIKKlAh2YW4eJKgTsd1ln3W9N3xO5w4,4052
144
147
  prefect/client/collections.py,sha256=I9EgbTg4Fn57gn8vwP_WdDmgnATbx9gfkm2jjhCORjw,1037
145
148
  prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
146
- prefect/client/orchestration.py,sha256=HnBg-i5vrbzhn0KaXgJDbGST5KDsmEv5oJFyWDemHZ0,111199
149
+ prefect/client/orchestration.py,sha256=Xd_2iqedUurWidjMKNqS3sn0TqCMQs282DbpihVRKzM,111211
147
150
  prefect/client/subscriptions.py,sha256=3kqPH3F-CwyrR5wygCpJMjRjM_gcQjd54Qjih6FcLlA,3372
148
151
  prefect/client/utilities.py,sha256=oGU8dJIq7ExEF4WFt-0aSPNX0JP7uH6NmfRlNhfJu00,2660
149
152
  prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
150
- prefect/client/schemas/actions.py,sha256=hoJ6q10z6lS-GA2osURjBp-rD0lOzJA2qGu6Opnonjo,25937
153
+ prefect/client/schemas/actions.py,sha256=HLPj7rTBfkOYtGSDVqTBAf8E2amr-FL0RcLnx2MbJpk,25941
151
154
  prefect/client/schemas/filters.py,sha256=r6gnxZREnmE8Glt2SF6vPxHr0SIeiFBjTrrN32cw-Mo,35514
152
- prefect/client/schemas/objects.py,sha256=U3rNUzQspoenwxpb_1b5PcVsX5s2KSNPW9wl1EbGqAE,55562
155
+ prefect/client/schemas/objects.py,sha256=U6cv8krNeAc2pO0LAW5RaeUtNbZCcerDuT-sx-AkzDY,55224
153
156
  prefect/client/schemas/responses.py,sha256=hErSClfLjt3Ys18YZyZS6dyjVf3eLkiAF6mjEgF4LGg,9344
154
- prefect/client/schemas/schedules.py,sha256=ncGWmmBzZvf5G4AL27E0kWGiJxGX-haR2_-GUNvFlv4,14829
157
+ prefect/client/schemas/schedules.py,sha256=4WnDokrEWcCDT0FrQsE765wo4kI4oEV0ZvZOyFAJ_ek,12297
155
158
  prefect/client/schemas/sorting.py,sha256=Y-ea8k_vTUKAPKIxqGebwLSXM7x1s5mJ_4-sDd1Ivi8,2276
156
159
  prefect/concurrency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
160
  prefect/concurrency/asyncio.py,sha256=S7FXJmzva4DDS3sOMBfWhM1Kimwu7zdEAqSPsM6qkr0,3055
@@ -161,8 +164,8 @@ prefect/concurrency/services.py,sha256=LQQXBFNUQTlAnHbdrr6GYcEExpGSaQzb-ZiqKk4rQ
161
164
  prefect/concurrency/sync.py,sha256=AChhkA6hykgnnPmIeOp87jauLL0p_lrSwMwUoeuYprI,2148
162
165
  prefect/deployments/__init__.py,sha256=HcC8IEOMaTz98M8uGsxAGITW11PS744XNsQBFz62Qow,441
163
166
  prefect/deployments/base.py,sha256=8K4V3FXz0Fm5sMSLZ-5jRo59LSgEmtElURXrugVJxv8,21450
164
- prefect/deployments/deployments.py,sha256=vYZ7xbnjLgEvR8pDwoMlka_TNtISiPGx515EXeaaVOc,42663
165
- prefect/deployments/runner.py,sha256=AV8HJfQ6t7mTadAc-ogmyjQY1SqTtEAdOlPNj0EMtqU,45129
167
+ prefect/deployments/deployments.py,sha256=mSG48Q2m7-7SlmNMBkpbsY1_oa3fD201NRDF5VfLZaw,40062
168
+ prefect/deployments/runner.py,sha256=ENUn_6-v17jUNJ9v4Q-rTOX4qL6aV9FY-PFONBwDWwk,45077
166
169
  prefect/deployments/schedules.py,sha256=23GDCAKOP-aAEKGappwTrM4HU67ndVH7NR4Dq0neU_U,1884
167
170
  prefect/deployments/steps/__init__.py,sha256=3pZWONAZzenDszqNQT3bmTFilnvjB6xMolMz9tr5pLw,229
168
171
  prefect/deployments/steps/core.py,sha256=Mg2F5GBJyO-jBAAP7PGtIu1sZgNsvmw5Jn5Qj-bUlgk,6617
@@ -176,21 +179,25 @@ prefect/deprecated/packaging/docker.py,sha256=5l7zIfDXN8fOcIQKjRre3BZyBE4P0lhdv6
176
179
  prefect/deprecated/packaging/file.py,sha256=CdyI9Gk9Zknce2BZZX04GvPP2u-O3z3y2cwydm0Fl_k,2861
177
180
  prefect/deprecated/packaging/orion.py,sha256=Kz7PCWJbto01CRSUBPjENfX5PvMCcKlcjTtUBcGSM_8,2517
178
181
  prefect/deprecated/packaging/serializers.py,sha256=cHKyraPKoScYyHkiNukf1Pi_QFmm_SrGuLbTnOy_id8,7035
179
- prefect/events/__init__.py,sha256=2tQCrDogstn-w65lKyf9ahu_wbWhPaaDK_oxH2v1558,173
182
+ prefect/events/__init__.py,sha256=MykLdP-RCUoTgly7ZTF0wLInU2mlGyMfdb1wboExoFQ,1133
180
183
  prefect/events/actions.py,sha256=wYc52xin_CLrNZaou05FdGdLZ5VEhT2lKM_k-MQEJ34,1398
181
- prefect/events/clients.py,sha256=_4_QV6TWnG-dOIXWaudMprxmdjUaqMc8BgZHYdnGuHU,13975
182
- prefect/events/filters.py,sha256=vSWHGDCCsi_znQs3gZomCxh-Q498ukn_QHJ7H8q16do,6922
184
+ prefect/events/clients.py,sha256=Ywm5X-FqY7LOFX1bjPEfAv3FIJJUDzSX4d0oc-cBWNI,14019
185
+ prefect/events/filters.py,sha256=mZMenXHpLrcpIQLD7LgU-kPR_fCDRZImV50qa6iNP7E,6931
183
186
  prefect/events/instrument.py,sha256=uNiD7AnkfuiwTsCMgNyJURmY9H2tXNfLCb3EC5FL0Qw,3805
184
- prefect/events/related.py,sha256=jMsCL6VKgMmMcVF4TXdJxQQRT5sxCuAu6piAxSOJxxs,6746
185
- prefect/events/schemas.py,sha256=x1Wy7btsI6RZ5FSBmdMVmU4WD8ZPANGoJ8uDJgW9VJc,19475
186
- prefect/events/utilities.py,sha256=gUEJA_kVuYASCqDpGX0HwDW0yczMX0AdgmxXbxhzWbM,2452
187
- prefect/events/worker.py,sha256=Z6MZmcCyXZtWi4vEtnFyvnzIEBW7HD14lEH1Crye3gY,2716
187
+ prefect/events/related.py,sha256=OW0E4GaQ8qsqcX7hF0M-55qo4dAVrjpqkUeZyJbVWrQ,6753
188
+ prefect/events/utilities.py,sha256=-8H2mVLNxd8q3aEz6-6UCS6SmLSxxhNWaEh2kipBjVo,2458
189
+ prefect/events/worker.py,sha256=9Vg_Yz2ktglpBcBYpvzHRTvYAh397LoyUw0ctxTgB64,2723
190
+ prefect/events/schemas/__init__.py,sha256=YUyTEY9yVEJAOXWLng7-WlgNlTlJ25kDNPey3pXkn4k,169
191
+ prefect/events/schemas/automations.py,sha256=Shbr6P6DvWfy7mXkyHHzOnEWHyC6zMgwhaYg-t2WDlk,9648
192
+ prefect/events/schemas/deployment_triggers.py,sha256=1-eqR7eZNMddpGmyrzATYMQrt6mDUtJG_Bl8FvIUAU4,15782
193
+ prefect/events/schemas/events.py,sha256=YuFia29g7pfvrGaW6lxMFpjADzJ8dp1pllxalgfXXf0,9223
194
+ prefect/events/schemas/labelling.py,sha256=CzAry2clY6oa8fpSDE43mFtecFFaH3QYz-fqYiE7XdU,3229
188
195
  prefect/infrastructure/__init__.py,sha256=Fm1Rhc4I7ZfJePpUAl1F4iNEtcDugoT650WXXt6xoCM,770
189
196
  prefect/infrastructure/base.py,sha256=s2nNbwXnqHV-sBy7LeZzV1IVjqAO0zv795HM4RHOvQI,10880
190
197
  prefect/infrastructure/container.py,sha256=RuWqxSgwwoAxJ9FquYH12wEUizMQM9_b-e5p13ZVscI,31851
191
- prefect/infrastructure/kubernetes.py,sha256=S6VyX-DSI1FOwKCIVZSJ7NBlin_3WtjHWYpLxarEmNA,37215
198
+ prefect/infrastructure/kubernetes.py,sha256=28DLYNomVj2edmtM1c0ksbGUkBd1GwOlIIMDdSaLPbw,35703
192
199
  prefect/infrastructure/process.py,sha256=e03OmOOvXx08KNCQZas0D7SqHq4_b6QelLvIMkmxJlo,11943
193
- prefect/infrastructure/provisioners/__init__.py,sha256=LXkoifKIqgdaoAtseF1bqKNQYVRCmREvME-89Aops9g,1616
200
+ prefect/infrastructure/provisioners/__init__.py,sha256=e9rfFnLqqwjexvYoiRZIY-CEwK-7ZhCQm745Z-Uxon8,1666
194
201
  prefect/infrastructure/provisioners/cloud_run.py,sha256=kqk8yRZ4gfGJLgCEJL8vNYvRyONe2Mc4e_0DHeEb0iM,17658
195
202
  prefect/infrastructure/provisioners/container_instance.py,sha256=KgJ6-vbq32VLCBiYgrCeG68wa6DfJvA2AmJHCeOY5q8,41231
196
203
  prefect/infrastructure/provisioners/ecs.py,sha256=qFHRLMuU0HduCEcuU0ZiEhnKeGFnk1MOQ75sDUCUL2Q,47631
@@ -206,9 +213,11 @@ prefect/logging/handlers.py,sha256=zypWVA9EbaKMimRnZWxjmYYmZE04pB7OP5zKwkrOYHQ,1
206
213
  prefect/logging/highlighters.py,sha256=BpSXOy0n3lFVvlKWa7jC-HetAiClFi9jnQtEq5-rgok,1681
207
214
  prefect/logging/loggers.py,sha256=Ci8KgqKCG8R6fDAlnR8iiLTVTYuPIvaFIfcY-AFgCLM,9323
208
215
  prefect/logging/logging.yml,sha256=UkEewf0c3_dURI2uCU4RrxkhI5Devoa1s93fl7hilcg,3160
216
+ prefect/pydantic/__init__.py,sha256=B9zp8cQVJHxMi3hrZuLO-2hNGYMeoDnKWBaKIl7Z3-I,92
217
+ prefect/pydantic/main.py,sha256=IFfh1cKE3TYrst8DSavF66CwYb4UmzW7AR1NIPbuMOM,397
209
218
  prefect/runner/__init__.py,sha256=d3DFUXy5BYd8Z4cppNN_6RTSddmr-KfnQ5Yw5vh8WL8,96
210
- prefect/runner/runner.py,sha256=OP_RKrgWVKNQwmISmSSGN3oyd5CbrANtOBNHmGyx3Cs,48077
211
- prefect/runner/server.py,sha256=xPEgn3NDAWUuXcv62fkr-xV7Bogz9BPMXzsNM6ryDMQ,10647
219
+ prefect/runner/runner.py,sha256=Kjx6KVnBgMoHWOwl2w4wLdCLxBxbbVql8KI714UUntM,48079
220
+ prefect/runner/server.py,sha256=mgjH5SPlj3xu0_pZHg15zw59OSJ5lIzTIZ101s281Oo,10655
212
221
  prefect/runner/storage.py,sha256=iZey8Am51c1fZFpS9iVXWYpKiM_lSocvaJEOZVExhvA,22428
213
222
  prefect/runner/submit.py,sha256=w53VdsqfwjW-M3e8hUAAoVlNrXsvGuuyGpEN0wi3vX0,8537
214
223
  prefect/runner/utils.py,sha256=G8qv6AwAa43HcgLOo5vDhoXna1xP0HlaMVYEbAv0Pck,3318
@@ -225,11 +234,11 @@ prefect/software/pip.py,sha256=WMOo-uVu5Az5N-1lOG9hpW6uSscP__N1hn6Vi3ItJms,4039
225
234
  prefect/software/python.py,sha256=reuEJFZPJ5PrDMfK3BuPpYieHNkOXJAyCAaopQcjDqE,1767
226
235
  prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
236
  prefect/utilities/annotations.py,sha256=p33yhh1Zx8BZUlTtl8gKRbpwWU9FVnZ8cfYrcd5KxDI,3103
228
- prefect/utilities/asyncutils.py,sha256=dNVKZKLVdNOhQObPf-224l3uWyKnt1jSFpReMpWFwT4,15674
229
- prefect/utilities/callables.py,sha256=5G2K_ZAnNoWoY7DqESKpbf4ltF5fkGRlJUvDwBGD7t0,11603
237
+ prefect/utilities/asyncutils.py,sha256=G4vjJ9IeWHLVAZTh0ilclHkhsBnZtsO6lzyDX75RtSU,15677
238
+ prefect/utilities/callables.py,sha256=seO853HYt7gXl2-tHZMM_7rrXrvsAxk9qwzJ89UN8_E,11647
230
239
  prefect/utilities/collections.py,sha256=D_DT489rTCwyzZb021i0xp8osBkkQgSW9XLOoLBzgkg,15436
231
240
  prefect/utilities/compat.py,sha256=mNQZDnzyKaOqy-OV-DnmH_dc7CNF5nQgW_EsA4xMr7g,906
232
- prefect/utilities/context.py,sha256=nb_Kui1q9cYK5fLy84baoBzko5-mOToQkd1AnZhwyq8,418
241
+ prefect/utilities/context.py,sha256=BThuUW94-IYgFYTeMIM9KMo8ShT3oiI7w5ajZHzU1j0,1377
233
242
  prefect/utilities/dispatch.py,sha256=dcezbuJRsD_YYfJrsk5pGiqzJsdUhb9RxJ_lq8nXeds,5466
234
243
  prefect/utilities/dockerutils.py,sha256=O5lIgCej5KGRYU2TC1NzNuIK595uOIWJilhZXYEVtOA,20180
235
244
  prefect/utilities/filesystem.py,sha256=M_TeZ1MftjBf7hDLWk-Iphir369TpJ1binMsBKiO9YE,4449
@@ -244,19 +253,18 @@ prefect/utilities/services.py,sha256=u0Gpdw5pYceaSLCqOihGyFb2AlMBYE2P9Ts9qRb3N9Q
244
253
  prefect/utilities/slugify.py,sha256=57Vb14t13F3zm1P65KAu8nVeAz0iJCd1Qc5eMG-R5y8,169
245
254
  prefect/utilities/templating.py,sha256=t32Gcsvvm8ibzdqXwcWzY7JkwftPn73FiiLYEnQWyKM,13237
246
255
  prefect/utilities/text.py,sha256=eXGIsCcZ7h_6hy8T5GDQjL8GiKyktoOqavYub0QjgO4,445
247
- prefect/utilities/validation.py,sha256=60AseIr0F1XlygAuqweswz288i7YP4LlLY00s1dM2cg,1985
248
256
  prefect/utilities/visualization.py,sha256=iGkYtroroYY9Rsiw1ok1bLv9FwsNyjtiK-0vBPL-ZWI,6491
249
257
  prefect/utilities/schema_tools/__init__.py,sha256=YtbTThhL8nPEYm3ByTHeOLcj2fm8fXrsxB-ioBWoIek,284
250
- prefect/utilities/schema_tools/hydration.py,sha256=SS53N9afZHWT7enJND3Hwnl6vdSnvr-SrJIYKvV_F-o,5823
258
+ prefect/utilities/schema_tools/hydration.py,sha256=tonsuKKmjnPnqzFTx441y9g3nhziiWlDesYJqezEmCQ,6181
251
259
  prefect/utilities/schema_tools/validation.py,sha256=b4ZsyrUlU7riaQP9NMQ6FlayzG46SrSE7pKGNCFWscM,7974
252
260
  prefect/workers/__init__.py,sha256=6el2Q856CuRPa5Hdrbm9QyAWB_ovcT2bImSFsoWI46k,66
253
- prefect/workers/base.py,sha256=7K1D7Dyls0tMpT1ATsfzbq5BP96j15spjTM_OEmXuXM,44644
254
- prefect/workers/block.py,sha256=lvKlaWdA-DCCXDX23HHK9M5urEq4x2wmpKtU9ft3a7k,7767
261
+ prefect/workers/base.py,sha256=uYI-D_M2boA-O7IV099BNqu-FKQGjYBdRA83KHwUO0w,44610
262
+ prefect/workers/block.py,sha256=aPdOFQ0ng4rVCyA5O_F9R0y-AM9yt9SBuuymc2f14zc,7733
255
263
  prefect/workers/process.py,sha256=Kxj_eZYh6R8t8253LYIIafiG7dodCF8RZABwd3Ng_R0,10253
256
264
  prefect/workers/server.py,sha256=WVZJxR8nTMzK0ov0BD0xw5OyQpT26AxlXbsGQ1OrxeQ,1551
257
265
  prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
258
- prefect_client-2.16.5.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
259
- prefect_client-2.16.5.dist-info/METADATA,sha256=A58u55jaNnt77urHhD1faDHXMlL8cClM78JMOFrLwhw,7349
260
- prefect_client-2.16.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
261
- prefect_client-2.16.5.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
262
- prefect_client-2.16.5.dist-info/RECORD,,
266
+ prefect_client-2.16.7.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
267
+ prefect_client-2.16.7.dist-info/METADATA,sha256=FAisd1nA6cQC3EHbuqUKEETW538cMGywwI7IlNg0WdM,7357
268
+ prefect_client-2.16.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
269
+ prefect_client-2.16.7.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
270
+ prefect_client-2.16.7.dist-info/RECORD,,