prefect-client 3.2.1__py3-none-any.whl → 3.2.3__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 (72) hide show
  1. prefect/__init__.py +15 -8
  2. prefect/_build_info.py +5 -0
  3. prefect/_internal/schemas/bases.py +4 -7
  4. prefect/_internal/schemas/validators.py +5 -6
  5. prefect/_result_records.py +6 -1
  6. prefect/client/orchestration/__init__.py +18 -6
  7. prefect/client/schemas/schedules.py +2 -2
  8. prefect/concurrency/asyncio.py +4 -3
  9. prefect/concurrency/sync.py +3 -3
  10. prefect/concurrency/v1/asyncio.py +3 -3
  11. prefect/concurrency/v1/sync.py +3 -3
  12. prefect/deployments/flow_runs.py +2 -2
  13. prefect/docker/docker_image.py +2 -3
  14. prefect/engine.py +1 -1
  15. prefect/events/clients.py +4 -3
  16. prefect/events/related.py +3 -5
  17. prefect/flows.py +11 -5
  18. prefect/locking/filesystem.py +8 -8
  19. prefect/logging/handlers.py +7 -11
  20. prefect/main.py +0 -2
  21. prefect/runtime/flow_run.py +10 -17
  22. prefect/server/api/__init__.py +34 -0
  23. prefect/server/api/admin.py +85 -0
  24. prefect/server/api/artifacts.py +224 -0
  25. prefect/server/api/automations.py +239 -0
  26. prefect/server/api/block_capabilities.py +25 -0
  27. prefect/server/api/block_documents.py +164 -0
  28. prefect/server/api/block_schemas.py +153 -0
  29. prefect/server/api/block_types.py +211 -0
  30. prefect/server/api/clients.py +246 -0
  31. prefect/server/api/collections.py +75 -0
  32. prefect/server/api/concurrency_limits.py +286 -0
  33. prefect/server/api/concurrency_limits_v2.py +269 -0
  34. prefect/server/api/csrf_token.py +38 -0
  35. prefect/server/api/dependencies.py +196 -0
  36. prefect/server/api/deployments.py +941 -0
  37. prefect/server/api/events.py +300 -0
  38. prefect/server/api/flow_run_notification_policies.py +120 -0
  39. prefect/server/api/flow_run_states.py +52 -0
  40. prefect/server/api/flow_runs.py +867 -0
  41. prefect/server/api/flows.py +210 -0
  42. prefect/server/api/logs.py +43 -0
  43. prefect/server/api/middleware.py +73 -0
  44. prefect/server/api/root.py +35 -0
  45. prefect/server/api/run_history.py +170 -0
  46. prefect/server/api/saved_searches.py +99 -0
  47. prefect/server/api/server.py +891 -0
  48. prefect/server/api/task_run_states.py +52 -0
  49. prefect/server/api/task_runs.py +342 -0
  50. prefect/server/api/task_workers.py +31 -0
  51. prefect/server/api/templates.py +35 -0
  52. prefect/server/api/ui/__init__.py +3 -0
  53. prefect/server/api/ui/flow_runs.py +128 -0
  54. prefect/server/api/ui/flows.py +173 -0
  55. prefect/server/api/ui/schemas.py +63 -0
  56. prefect/server/api/ui/task_runs.py +175 -0
  57. prefect/server/api/validation.py +382 -0
  58. prefect/server/api/variables.py +181 -0
  59. prefect/server/api/work_queues.py +230 -0
  60. prefect/server/api/workers.py +656 -0
  61. prefect/settings/sources.py +18 -5
  62. prefect/states.py +3 -3
  63. prefect/task_engine.py +3 -3
  64. prefect/types/_datetime.py +82 -3
  65. prefect/utilities/dockerutils.py +2 -2
  66. prefect/workers/base.py +5 -5
  67. {prefect_client-3.2.1.dist-info → prefect_client-3.2.3.dist-info}/METADATA +10 -15
  68. {prefect_client-3.2.1.dist-info → prefect_client-3.2.3.dist-info}/RECORD +70 -32
  69. {prefect_client-3.2.1.dist-info → prefect_client-3.2.3.dist-info}/WHEEL +1 -2
  70. prefect/_version.py +0 -21
  71. prefect_client-3.2.1.dist-info/top_level.txt +0 -1
  72. {prefect_client-3.2.1.dist-info → prefect_client-3.2.3.dist-info/licenses}/LICENSE +0 -0
@@ -6,6 +6,7 @@ from typing import Any, Dict, List, Mapping, Optional, Sequence, Tuple, Type
6
6
 
7
7
  import dotenv
8
8
  import toml
9
+ from cachetools import TTLCache
9
10
  from pydantic import AliasChoices
10
11
  from pydantic.fields import FieldInfo
11
12
  from pydantic_settings import (
@@ -23,6 +24,19 @@ from pydantic_settings.sources import (
23
24
  from prefect.settings.constants import DEFAULT_PREFECT_HOME, DEFAULT_PROFILES_PATH
24
25
  from prefect.utilities.collections import get_from_dict
25
26
 
27
+ _file_cache: TTLCache[str, dict[str, Any]] = TTLCache(maxsize=100, ttl=60)
28
+
29
+
30
+ def _read_toml_file(path: Path) -> dict[str, Any]:
31
+ """use ttl cache to cache toml files"""
32
+ modified_time = path.stat().st_mtime
33
+ cache_key = f"toml_file:{path}:{modified_time}"
34
+ if value := _file_cache.get(cache_key):
35
+ return value
36
+ data = toml.load(path) # type: ignore
37
+ _file_cache[cache_key] = data
38
+ return data
39
+
26
40
 
27
41
  class EnvFilterSettingsSource(EnvSettingsSource):
28
42
  """
@@ -120,12 +134,11 @@ class ProfileSettingsTomlLoader(PydanticBaseSettingsSource):
120
134
 
121
135
  def _load_profile_settings(self) -> Dict[str, Any]:
122
136
  """Helper method to load the profile settings from the profiles.toml file"""
123
-
124
137
  if not self.profiles_path.exists():
125
138
  return self._get_default_profile()
126
139
 
127
140
  try:
128
- all_profile_data = toml.load(self.profiles_path)
141
+ all_profile_data = _read_toml_file(self.profiles_path)
129
142
  except toml.TomlDecodeError:
130
143
  warnings.warn(
131
144
  f"Failed to load profiles from {self.profiles_path}. Please ensure the file is valid TOML."
@@ -152,7 +165,7 @@ class ProfileSettingsTomlLoader(PydanticBaseSettingsSource):
152
165
 
153
166
  def _get_default_profile(self) -> Dict[str, Any]:
154
167
  """Helper method to get the default profile"""
155
- default_profile_data = toml.load(DEFAULT_PROFILES_PATH)
168
+ default_profile_data = _read_toml_file(DEFAULT_PROFILES_PATH)
156
169
  default_profile = default_profile_data.get("active", "ephemeral")
157
170
  assert isinstance(default_profile, str)
158
171
  return default_profile_data.get("profiles", {}).get(default_profile, {})
@@ -217,7 +230,7 @@ class TomlConfigSettingsSourceBase(PydanticBaseSettingsSource, ConfigFileSourceM
217
230
  self.toml_data: dict[str, Any] = {}
218
231
 
219
232
  def _read_file(self, path: Path) -> dict[str, Any]:
220
- return toml.load(path)
233
+ return _read_toml_file(path)
221
234
 
222
235
  def get_field_value(
223
236
  self, field: FieldInfo, field_name: str
@@ -332,7 +345,7 @@ def _get_profiles_path_from_toml(path: str, keys: List[str]) -> Optional[str]:
332
345
  """Helper to get the profiles path from a toml file."""
333
346
 
334
347
  try:
335
- toml_data = toml.load(path)
348
+ toml_data = _read_toml_file(Path(path))
336
349
  except FileNotFoundError:
337
350
  return None
338
351
 
prefect/states.py CHANGED
@@ -28,7 +28,7 @@ from prefect.exceptions import (
28
28
  UnfinishedRun,
29
29
  )
30
30
  from prefect.logging.loggers import get_logger, get_run_logger
31
- from prefect.types._datetime import DateTime, PendulumDuration
31
+ from prefect.types._datetime import DateTime, Duration, now
32
32
  from prefect.utilities.annotations import BaseAnnotation
33
33
  from prefect.utilities.asyncutils import in_async_main_thread, sync_compatible
34
34
  from prefect.utilities.collections import ensure_iterable
@@ -660,7 +660,7 @@ def Scheduled(
660
660
  """
661
661
  state_details = StateDetails.model_validate(kwargs.pop("state_details", {}))
662
662
  if scheduled_time is None:
663
- scheduled_time = DateTime.now("UTC")
663
+ scheduled_time = now()
664
664
  elif state_details.scheduled_time:
665
665
  raise ValueError("An extra scheduled_time was provided in state_details")
666
666
  state_details.scheduled_time = scheduled_time
@@ -761,7 +761,7 @@ def Paused(
761
761
  state_details.pause_timeout = (
762
762
  DateTime.instance(pause_expiration_time)
763
763
  if pause_expiration_time
764
- else DateTime.now("UTC") + PendulumDuration(seconds=timeout_seconds or 0)
764
+ else now() + Duration(seconds=timeout_seconds or 0)
765
765
  )
766
766
 
767
767
  state_details.pause_reschedule = reschedule
prefect/task_engine.py CHANGED
@@ -79,7 +79,7 @@ from prefect.states import (
79
79
  )
80
80
  from prefect.telemetry.run_telemetry import RunTelemetry
81
81
  from prefect.transactions import IsolationLevel, Transaction, transaction
82
- from prefect.types._datetime import DateTime, PendulumDuration
82
+ from prefect.types._datetime import DateTime, Duration
83
83
  from prefect.utilities._engine import get_hook_name
84
84
  from prefect.utilities.annotations import NotSet
85
85
  from prefect.utilities.asyncutils import run_coro_as_sync
@@ -437,7 +437,7 @@ class SyncTaskRunEngine(BaseTaskRunEngine[P, R]):
437
437
  if last_state.timestamp == new_state.timestamp:
438
438
  # Ensure that the state timestamp is unique, or at least not equal to the last state.
439
439
  # This might occur especially on Windows where the timestamp resolution is limited.
440
- new_state.timestamp += PendulumDuration(microseconds=1)
440
+ new_state.timestamp += Duration(microseconds=1)
441
441
 
442
442
  # Ensure that the state_details are populated with the current run IDs
443
443
  new_state.state_details.task_run_id = self.task_run.id
@@ -970,7 +970,7 @@ class AsyncTaskRunEngine(BaseTaskRunEngine[P, R]):
970
970
  if last_state.timestamp == new_state.timestamp:
971
971
  # Ensure that the state timestamp is unique, or at least not equal to the last state.
972
972
  # This might occur especially on Windows where the timestamp resolution is limited.
973
- new_state.timestamp += PendulumDuration(microseconds=1)
973
+ new_state.timestamp += Duration(microseconds=1)
974
974
 
975
975
  # Ensure that the state_details are populated with the current run IDs
976
976
  new_state.state_details.task_run_id = self.task_run.id
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import datetime
3
4
  from typing import Any
4
5
 
5
6
  import pendulum
@@ -9,12 +10,21 @@ from pendulum.datetime import DateTime as PendulumDateTime
9
10
  from pendulum.duration import Duration as PendulumDuration
10
11
  from pendulum.time import Time as PendulumTime
11
12
  from pendulum.tz.timezone import FixedTimezone, Timezone
12
- from pydantic_extra_types.pendulum_dt import Date as PydanticDate
13
- from pydantic_extra_types.pendulum_dt import DateTime as PydanticDateTime
13
+ from pydantic_extra_types.pendulum_dt import (
14
+ Date as PydanticDate,
15
+ )
16
+ from pydantic_extra_types.pendulum_dt import (
17
+ DateTime as PydanticDateTime,
18
+ )
19
+ from pydantic_extra_types.pendulum_dt import (
20
+ Duration as PydanticDuration,
21
+ )
14
22
  from typing_extensions import TypeAlias
15
23
 
16
24
  DateTime: TypeAlias = PydanticDateTime
17
25
  Date: TypeAlias = PydanticDate
26
+ Duration: TypeAlias = PydanticDuration
27
+ UTC: pendulum.tz.Timezone = pendulum.tz.UTC
18
28
 
19
29
 
20
30
  def parse_datetime(
@@ -37,10 +47,79 @@ def local_timezone() -> Timezone | FixedTimezone:
37
47
  return pendulum.tz.local_timezone()
38
48
 
39
49
 
50
+ def get_timezones() -> tuple[str, ...]:
51
+ return pendulum.tz.timezones()
52
+
53
+
54
+ def create_datetime_instance(v: datetime.datetime) -> DateTime:
55
+ return DateTime.instance(v)
56
+
57
+
40
58
  def from_format(
41
59
  value: str,
42
60
  fmt: str,
43
- tz: str | Timezone = pendulum.tz.UTC,
61
+ tz: str | Timezone = UTC,
44
62
  locale: str | None = None,
45
63
  ) -> DateTime:
46
64
  return DateTime.instance(pendulum.from_format(value, fmt, tz, locale))
65
+
66
+
67
+ def from_timestamp(ts: float, tz: str | pendulum.tz.Timezone = UTC) -> DateTime:
68
+ return DateTime.instance(pendulum.from_timestamp(ts, tz))
69
+
70
+
71
+ def human_friendly_diff(dt: DateTime | datetime.datetime) -> str:
72
+ if isinstance(dt, DateTime):
73
+ return dt.diff_for_humans()
74
+ else:
75
+ return DateTime.instance(dt).diff_for_humans()
76
+
77
+
78
+ def now(tz: str | Timezone = UTC) -> DateTime:
79
+ return DateTime.now(tz)
80
+
81
+
82
+ def add_years(dt: DateTime, years: int) -> DateTime:
83
+ return dt.add(years=years)
84
+
85
+
86
+ def end_of_period(dt: DateTime, period: str) -> DateTime:
87
+ """
88
+ Returns the end of the specified unit of time.
89
+
90
+ Args:
91
+ dt: The datetime to get the end of.
92
+ period: The period to get the end of.
93
+ Valid values: 'second', 'minute', 'hour', 'day',
94
+ 'week', 'month', 'quarter', 'year'
95
+
96
+ Returns:
97
+ DateTime: A new DateTime representing the end of the specified unit.
98
+
99
+ Raises:
100
+ ValueError: If an invalid unit is specified.
101
+ """
102
+ return dt.end_of(period)
103
+
104
+
105
+ def start_of_period(dt: DateTime, period: str) -> DateTime:
106
+ """
107
+ Returns the start of the specified unit of time.
108
+
109
+ Args:
110
+ dt: The datetime to get the start of.
111
+ period: The period to get the start of.
112
+ Valid values: 'second', 'minute', 'hour', 'day',
113
+ 'week', 'month', 'quarter', 'year'
114
+
115
+ Returns:
116
+ DateTime: A new DateTime representing the start of the specified unit.
117
+
118
+ Raises:
119
+ ValueError: If an invalid unit is specified.
120
+ """
121
+ return dt.start_of(period)
122
+
123
+
124
+ def earliest_possible_datetime() -> DateTime:
125
+ return DateTime.instance(datetime.datetime.min)
@@ -11,11 +11,11 @@ from types import TracebackType
11
11
  from typing import TYPE_CHECKING, Any, Optional, TextIO, Union, cast
12
12
  from urllib.parse import urlsplit
13
13
 
14
- import pendulum
15
14
  from packaging.version import Version
16
15
  from typing_extensions import Self
17
16
 
18
17
  import prefect
18
+ from prefect.types._datetime import now
19
19
  from prefect.utilities.importtools import lazy_import
20
20
  from prefect.utilities.slugify import slugify
21
21
 
@@ -428,7 +428,7 @@ def push_image(
428
428
  """
429
429
 
430
430
  if not tag:
431
- tag = slugify(pendulum.now("utc").isoformat())
431
+ tag = slugify(now("UTC").isoformat())
432
432
 
433
433
  _, registry, _, _, _ = urlsplit(registry_url)
434
434
  repository = f"{registry}/{name}"
prefect/workers/base.py CHANGED
@@ -22,7 +22,6 @@ from uuid import UUID, uuid4
22
22
  import anyio
23
23
  import anyio.abc
24
24
  import httpx
25
- import pendulum
26
25
  from importlib_metadata import distributions
27
26
  from pydantic import BaseModel, Field, PrivateAttr, field_validator
28
27
  from pydantic.json_schema import GenerateJsonSchema
@@ -66,6 +65,7 @@ from prefect.states import (
66
65
  exception_to_failed_state,
67
66
  )
68
67
  from prefect.types import KeyValueLabels
68
+ from prefect.types._datetime import DateTime
69
69
  from prefect.utilities.dispatch import get_registry_for_type, register_base_type
70
70
  from prefect.utilities.engine import propose_state
71
71
  from prefect.utilities.services import critical_service_loop
@@ -458,7 +458,7 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
458
458
  self._exit_stack: AsyncExitStack = AsyncExitStack()
459
459
  self._runs_task_group: Optional[anyio.abc.TaskGroup] = None
460
460
  self._client: Optional[PrefectClient] = None
461
- self._last_polled_time: pendulum.DateTime = pendulum.now("utc")
461
+ self._last_polled_time: DateTime = DateTime.now("utc")
462
462
  self._limit = limit
463
463
  self._limiter: Optional[anyio.CapacityLimiter] = None
464
464
  self._submitting_flow_run_ids = set()
@@ -691,7 +691,7 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
691
691
  threshold_seconds = query_interval_seconds * 30
692
692
 
693
693
  seconds_since_last_poll = (
694
- pendulum.now("utc") - self._last_polled_time
694
+ DateTime.now("utc") - self._last_polled_time
695
695
  ).in_seconds()
696
696
 
697
697
  is_still_polling = seconds_since_last_poll <= threshold_seconds
@@ -707,7 +707,7 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
707
707
  async def get_and_submit_flow_runs(self) -> list["FlowRun"]:
708
708
  runs_response = await self._get_scheduled_flow_runs()
709
709
 
710
- self._last_polled_time = pendulum.now("utc")
710
+ self._last_polled_time = DateTime.now("utc")
711
711
 
712
712
  return await self._submit_scheduled_flow_runs(flow_run_response=runs_response)
713
713
 
@@ -856,7 +856,7 @@ class BaseWorker(abc.ABC, Generic[C, V, R]):
856
856
  """
857
857
  Retrieve scheduled flow runs from the work pool's queues.
858
858
  """
859
- scheduled_before = pendulum.now("utc").add(seconds=int(self._prefetch_seconds))
859
+ scheduled_before = DateTime.now("utc").add(seconds=int(self._prefetch_seconds))
860
860
  self._logger.debug(
861
861
  f"Querying for flow runs scheduled before {scheduled_before}"
862
862
  )
@@ -1,20 +1,18 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: prefect-client
3
- Version: 3.2.1
3
+ Version: 3.2.3
4
4
  Summary: Workflow orchestration and management.
5
- Home-page: https://www.prefect.io
6
- Author: Prefect Technologies, Inc.
7
- Author-email: help@prefect.io
8
- License: UNKNOWN
9
5
  Project-URL: Changelog, https://github.com/PrefectHQ/prefect/releases
10
6
  Project-URL: Documentation, https://docs.prefect.io
11
7
  Project-URL: Source, https://github.com/PrefectHQ/prefect
12
8
  Project-URL: Tracker, https://github.com/PrefectHQ/prefect/issues
13
- Platform: UNKNOWN
14
- Classifier: Natural Language :: English
9
+ Author-email: "Prefect Technologies, Inc." <help@prefect.io>
10
+ License: Apache-2.0
11
+ License-File: LICENSE
15
12
  Classifier: Intended Audience :: Developers
16
13
  Classifier: Intended Audience :: System Administrators
17
14
  Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Natural Language :: English
18
16
  Classifier: Programming Language :: Python :: 3 :: Only
19
17
  Classifier: Programming Language :: Python :: 3.9
20
18
  Classifier: Programming Language :: Python :: 3.10
@@ -22,8 +20,6 @@ Classifier: Programming Language :: Python :: 3.11
22
20
  Classifier: Programming Language :: Python :: 3.12
23
21
  Classifier: Topic :: Software Development :: Libraries
24
22
  Requires-Python: >=3.9
25
- Description-Content-Type: text/markdown
26
- License-File: LICENSE
27
23
  Requires-Dist: anyio<5.0.0,>=4.4.0
28
24
  Requires-Dist: asgi-lifespan<3.0,>=1.0
29
25
  Requires-Dist: cachetools<6.0,>=5.3
@@ -37,6 +33,7 @@ Requires-Dist: graphviz>=0.20.1
37
33
  Requires-Dist: griffe<2.0.0,>=0.49.0
38
34
  Requires-Dist: httpcore<2.0.0,>=1.0.5
39
35
  Requires-Dist: httpx[http2]!=0.23.2,>=0.23
36
+ Requires-Dist: importlib-metadata>=4.4; python_version < '3.10'
40
37
  Requires-Dist: jsonpatch<2.0,>=1.32
41
38
  Requires-Dist: jsonschema<5.0.0,>=4.0.0
42
39
  Requires-Dist: opentelemetry-api<2.0.0,>=1.27.0
@@ -55,16 +52,16 @@ Requires-Dist: python-socks[asyncio]<3.0,>=2.5.3
55
52
  Requires-Dist: pyyaml<7.0.0,>=5.4.1
56
53
  Requires-Dist: rfc3339-validator<0.2.0,>=0.1.4
57
54
  Requires-Dist: rich<14.0,>=11.0
58
- Requires-Dist: ruamel.yaml>=0.17.0
55
+ Requires-Dist: ruamel-yaml>=0.17.0
59
56
  Requires-Dist: sniffio<2.0.0,>=1.3.0
60
57
  Requires-Dist: toml>=0.10.0
61
58
  Requires-Dist: typing-extensions<5.0.0,>=4.5.0
62
59
  Requires-Dist: ujson<6.0.0,>=5.8.0
63
60
  Requires-Dist: uvicorn!=0.29.0,>=0.14.0
64
61
  Requires-Dist: websockets<14.0,>=10.4
65
- Requires-Dist: importlib-metadata>=4.4; python_version < "3.10"
66
62
  Provides-Extra: notifications
67
- Requires-Dist: apprise<2.0.0,>=1.1.0; extra == "notifications"
63
+ Requires-Dist: apprise<2.0.0,>=1.1.0; extra == 'notifications'
64
+ Description-Content-Type: text/markdown
68
65
 
69
66
  <p align="center"><img src="https://github.com/PrefectHQ/prefect/assets/3407835/c654cbc6-63e8-4ada-a92a-efd2f8f24b85" width=1000></p>
70
67
 
@@ -175,5 +172,3 @@ All community forums, including code contributions, issue discussions, and Slack
175
172
  See our [documentation on contributing to Prefect](https://docs.prefect.io/contributing/overview/).
176
173
 
177
174
  Thanks for being part of the mission to build a new kind of workflow system and, of course, **happy engineering!**
178
-
179
-
@@ -1,28 +1,28 @@
1
1
  prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
2
- prefect/__init__.py,sha256=FmdMSNpGH8Mrkn5X0mNZup8_SHdeB_aqEmS5taeOHAQ,3530
2
+ prefect/__init__.py,sha256=iCdcC5ZmeewikCdnPEP6YBAjPNV5dvfxpYCTpw30Hkw,3685
3
3
  prefect/__main__.py,sha256=WFjw3kaYJY6pOTA7WDOgqjsz8zUEUZHCcj3P5wyVa-g,66
4
- prefect/_result_records.py,sha256=d6VWsJuXEM645kFm3y9J3j1lKGmFY2OihyBp-WEQmQA,7584
5
- prefect/_version.py,sha256=t1hNzonzGvks3WeozTF7c1ud2j6kgIXJ21ijVHd6gv8,496
4
+ prefect/_build_info.py,sha256=A3X48-y7Q5a8gDhNZR8rrp8pdTGFajV15-K2ej5tY08,180
5
+ prefect/_result_records.py,sha256=S6QmsODkehGVSzbMm6ig022PYbI6gNKz671p_8kBYx4,7789
6
6
  prefect/agent.py,sha256=dPvG1jDGD5HSH7aM2utwtk6RaJ9qg13XjkA0lAIgQmY,287
7
7
  prefect/artifacts.py,sha256=dMBUOAWnUamzjb5HSqwB5-GR2Qb-Gxee26XG5NDCUuw,22720
8
8
  prefect/automations.py,sha256=ZzPxn2tINdlXTQo805V4rIlbXuNWxd7cdb3gTJxZIeY,12567
9
9
  prefect/cache_policies.py,sha256=cF_6eqg34x7XgaCIw6S8Vr-Eq0wIr4Y6t3FOuXaPBrY,11912
10
10
  prefect/context.py,sha256=iJe4pkFqX6lz8ax1Mde_YqVmBVWmzeBe0ca2_nT6KPQ,23673
11
- prefect/engine.py,sha256=g-Hf2FfhMOncLiGhT-rCN142Yx6JmcL-r3zYak_MCX8,2609
11
+ prefect/engine.py,sha256=4ZGTKFZA_t7K0XUSJqbJ6Ec20SFVFHasBTM--47fTyA,2610
12
12
  prefect/exceptions.py,sha256=-nih8qqdxRm6CX-4yrqwePVh8Mcpvla_V6N_KbdJsIU,11593
13
13
  prefect/filesystems.py,sha256=v5YqGB4uXf9Ew2VuB9VCSkawvYMMVvEtZf7w1VmAmr8,18036
14
14
  prefect/flow_engine.py,sha256=mW95w_fBpEPejYFXuMyjfnhm7J1jMSv_VtAYGD0VlCo,60226
15
15
  prefect/flow_runs.py,sha256=MzjfRFgQwOqUSC3Iuu6E0hWkWdn089Urk6BY3qjEwEE,16113
16
- prefect/flows.py,sha256=AnMGp25Xb1weSC9iBGinH8k2ro8MaqsQbxLWGoqY9b4,108215
16
+ prefect/flows.py,sha256=cp9TF3pSg73jhkL3SkzaUGbdU9hbsieKz95Wgfk-VA4,108408
17
17
  prefect/futures.py,sha256=NYWGeC8uRGe1WWB1MxkUshdvAdYibhc32HdFjffdiW0,17217
18
- prefect/main.py,sha256=9NFSloSmrOgzXg_Pwh_m31deeZj4jorfpx1pUZqWNi8,2359
18
+ prefect/main.py,sha256=hFeTTrr01qWKcRwZVEHVipyHEybS0VLTscFV6zG6GtY,2306
19
19
  prefect/plugins.py,sha256=FPRLR2mWVBMuOnlzeiTD9krlHONZH2rtYLD753JQDNQ,2516
20
20
  prefect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  prefect/results.py,sha256=gAcYivq5CN8oL5CWu8cJe2560i0M8I5GL-8RcBTJ6VI,36385
22
22
  prefect/schedules.py,sha256=9ufG4jhIA_R7vS9uXqnnZEgB7Ts922KMhNacWcveVgA,7291
23
23
  prefect/serializers.py,sha256=QI0oEal_BO4HQaWSjr6ReSwT55Hn4sbSOXxGgQI1-y0,9249
24
- prefect/states.py,sha256=pfhwuCLF6rb7JXdAj7s_NdZInyPGGbkxjvgqmNqj6ic,26959
25
- prefect/task_engine.py,sha256=12LfvrqEkUePDFrmg2WluEzyxigPDpYRSUxGGWV_65Q,60707
24
+ prefect/states.py,sha256=tTZrN-IZKvmFcN8FR_4L-X-ZrmXi6z-cPXl6KdOy-XI,26920
25
+ prefect/task_engine.py,sha256=BF7dZPgIMgq2XeNe6GHHyqPTrCfJN2ZDfETOvedvbw8,60683
26
26
  prefect/task_runners.py,sha256=Ce_ngocfq_X-NA5zhPj13IdVmzZ5h6gXlmfxYWs2AXA,15828
27
27
  prefect/task_runs.py,sha256=7LIzfo3fondCyEUpU05sYFN5IfpZigBDXrhG5yc-8t0,9039
28
28
  prefect/task_worker.py,sha256=FkAp6PhRwBcAW2YigJORiN7A-PAwzWa1nM-osZD4Syw,17793
@@ -61,10 +61,10 @@ prefect/_internal/pydantic/v2_validated_func.py,sha256=Ld8OtPFF7Ci-gHHmKhSMizBxz
61
61
  prefect/_internal/pydantic/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  prefect/_internal/pydantic/annotations/pendulum.py,sha256=KTh6w32-S9MXHywwNod9aA7v-VN7a3AWiSZh4vDRkx0,2683
63
63
  prefect/_internal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- prefect/_internal/schemas/bases.py,sha256=kKyEkEbeHfTwXz6YXFPbTaHiRyl1qLoZuRtnKLneMOA,4346
64
+ prefect/_internal/schemas/bases.py,sha256=UpGMovMZe8z2VxqeqIjFLwWYPNLa7rdeeGamRwZH2qw,4286
65
65
  prefect/_internal/schemas/fields.py,sha256=m4LrFNz8rA9uBhMk9VyQT6FIXmV_EVAW92hdXeSvHbY,837
66
66
  prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1OdR6TXNrRhQ,825
67
- prefect/_internal/schemas/validators.py,sha256=1Pa3U2gCqhoJShJuzjGuC09uM8BUvnmAGtNDI7zzi_0,19488
67
+ prefect/_internal/schemas/validators.py,sha256=i-MdHhmP1S8UQG4dZuHIwbqiM_O95g_Ghn0BcehDaaU,19511
68
68
  prefect/blocks/__init__.py,sha256=D0hB72qMfgqnBB2EMZRxUxlX9yLfkab5zDChOwJZmkY,220
69
69
  prefect/blocks/abstract.py,sha256=mpOAWopSR_RrzdxeurBTXVSKisP8ne-k8LYos-tp7go,17021
70
70
  prefect/blocks/core.py,sha256=CgxU59KUWiHLWUdTxOSDOfHkfFAyjLXc7eibmFc_xCo,62186
@@ -80,7 +80,7 @@ prefect/client/collections.py,sha256=t9XkVU_onQMZ871L21F1oZnAiPSQeeVfd_MuDEBS3iM
80
80
  prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
81
81
  prefect/client/subscriptions.py,sha256=TZ7Omv8yeQQIkE6EmWYM78e8p7UdvdTDzcQe91dCU4U,3838
82
82
  prefect/client/utilities.py,sha256=UEJD6nwYg2mD8-GSmru-E2ofXaBlmSFZ2-8T_5rIK6c,3472
83
- prefect/client/orchestration/__init__.py,sha256=4oqdQW_IvA5f6s-es9bQRXMd-ln3212un6klIqnkoEI,59343
83
+ prefect/client/orchestration/__init__.py,sha256=uKWE1XNiwrOswgZ1JptffksRlji9PDrLcy8T9ZfNw1g,59596
84
84
  prefect/client/orchestration/base.py,sha256=HM6ryHBZSzuHoCFQM9u5qR5k1dN9Bbr_ah6z1UPNbZQ,1542
85
85
  prefect/client/orchestration/routes.py,sha256=JFG1OWUBfrxPKW8Q7XWItlhOrSZ67IOySSoFZ6mxzm0,4364
86
86
  prefect/client/orchestration/_artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,28 +112,28 @@ prefect/client/schemas/actions.py,sha256=yzP6oC0_h6LV78s47ltX1bqxu6bju0Eav5VgB-V
112
112
  prefect/client/schemas/filters.py,sha256=zaiDkalrIpKjd38V4aP1GHlqD24KTPCZiKtPyX69ZWE,36607
113
113
  prefect/client/schemas/objects.py,sha256=ZHLu4ycTYee7Y1LqM2MZgYszQClnpMuMTXIrYewu4zQ,57034
114
114
  prefect/client/schemas/responses.py,sha256=iTXTiUhdRL7PxNyJXMZ4ngT7C8SepT_z7g_pnUnVlzo,15629
115
- prefect/client/schemas/schedules.py,sha256=KSKk7Nmtr_x-yMrfnsSFTYvI14YFepI5b_vabkLqdaQ,14755
115
+ prefect/client/schemas/schedules.py,sha256=4a1lGun448em33zrc0ZUOAew3jB8yqJ7Cxoni3HKR3I,14721
116
116
  prefect/client/schemas/sorting.py,sha256=L-2Mx-igZPtsUoRUguTcG3nIEstMEMPD97NwPM2Ox5s,2579
117
117
  prefect/client/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
118
  prefect/client/types/flexible_schedule_list.py,sha256=eNom7QiRxMnyTD1q30bR7kQh3-2sLhxIKe5ST9o6GI4,425
119
119
  prefect/concurrency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
120
  prefect/concurrency/_asyncio.py,sha256=XfiKES0DOEfjHdjQ43NNWH6kdTt6a2Oj_PzxQ8sZ8IY,3004
121
121
  prefect/concurrency/_events.py,sha256=KWHDldCWE3b5AH9eZ7kfmajvp36lRFCjCXIEx77jtKk,1825
122
- prefect/concurrency/asyncio.py,sha256=T4Ut_rIoxzigHY740wbzH1UIqT5kQv2ZvqMfv0bNctc,4680
122
+ prefect/concurrency/asyncio.py,sha256=UJ8tXNFU32_CD4B6coxSEImSWdmjA4mwlyr_6gDPTh0,4687
123
123
  prefect/concurrency/context.py,sha256=8ZXs3G7NOF5Q2NqydK-K3zfjmYNnmfer-25hH6r6MgA,1009
124
124
  prefect/concurrency/services.py,sha256=9db7VgASPLpDB8apEcmr4te75eyaXnycry8N4OhNAB8,2415
125
- prefect/concurrency/sync.py,sha256=f4JQGR5_yVsZHdg_CGGbvpynmpxmTc1gqwc_xynyGJ8,4928
125
+ prefect/concurrency/sync.py,sha256=-r5_OF0PprYoJHiRe0VHFUefUMk1OzRSr18ZxA-GcnM,4934
126
126
  prefect/concurrency/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  prefect/concurrency/v1/_asyncio.py,sha256=UTFjkOPevvbazzpf-O6sSixwM0gs_GzK5zwH4EG4FJ8,2152
128
128
  prefect/concurrency/v1/_events.py,sha256=eoNmtlt__EqhgImWyxfq_MxwTRqNznJU9-3sKwThc98,1863
129
- prefect/concurrency/v1/asyncio.py,sha256=GcdrqEye97qCjqWnEx2DIu38Zls5Mf2w0ofVpwtDriM,3168
129
+ prefect/concurrency/v1/asyncio.py,sha256=Jbir8gwf7OOBmDh6VblzUV-TUBsTkDL78EvnLPHLAKc,3174
130
130
  prefect/concurrency/v1/context.py,sha256=BhK63TYp9BQYRCgTI1onUPXmgBoYaP7o27U695lH7qk,1107
131
131
  prefect/concurrency/v1/services.py,sha256=ppVCllzb2qeKc-xntobFu45dEh3J-ZTtLDPuHr1djxo,2958
132
- prefect/concurrency/v1/sync.py,sha256=C5uPmW2pWdt3bu1KVQkYf_IscjSzY_VhgR9AZJkkIa8,2106
132
+ prefect/concurrency/v1/sync.py,sha256=N_CHNkbV_eNQvDsJoJaehQo8H68MFlX6B1ObDZuYlTM,2112
133
133
  prefect/deployments/__init__.py,sha256=_wb7NxDKhq11z9MjYsPckmT3o6MRhGLRgCV9TmvYtew,1002
134
134
  prefect/deployments/base.py,sha256=KEc07W35yyzGJcV6GIZry8bKcNfvQk6JjJ99KKB6XpQ,11729
135
135
  prefect/deployments/deployments.py,sha256=K3Rgnpjxo_T8I8LMwlq24OKqZiZBTE8-YnPg-YGUStM,171
136
- prefect/deployments/flow_runs.py,sha256=aQcUKTnzCMUheMZ052xjQhGd-BhtXTnxpOdUAEM37r4,7212
136
+ prefect/deployments/flow_runs.py,sha256=VunxRsw4DyqVJHNjooDAPGJaGvSGucLX83SaxHO8ugU,7227
137
137
  prefect/deployments/runner.py,sha256=lgLvp759BhDJtuF8LeNZFqJZT8dxJxF6SH9Jq_NYFl0,53835
138
138
  prefect/deployments/schedules.py,sha256=2eL1-w8qXtwKVkgfUK7cuamwpKK3X6tN1QYTDa_gWxU,2190
139
139
  prefect/deployments/steps/__init__.py,sha256=Dlz9VqMRyG1Gal8dj8vfGpPr0LyQhZdvcciozkK8WoY,206
@@ -141,12 +141,12 @@ prefect/deployments/steps/core.py,sha256=ulSgBFSx1lhBt1fP-UxebrernkumBDlympR6IPf
141
141
  prefect/deployments/steps/pull.py,sha256=MDN8nHklgU6MXNMsMRDLDVbIqod87ccPJdt-21dshvU,9767
142
142
  prefect/deployments/steps/utility.py,sha256=Ap_p44Rwz9Lxd6pt8hDW8phF3gwI3YjbsSpWHALDyoM,8157
143
143
  prefect/docker/__init__.py,sha256=z6wdc6UFfiBG2jb9Jk64uCWVM04JKVWeVyDWwuuon8M,527
144
- prefect/docker/docker_image.py,sha256=0PZjUCTe_20Zsrg-LtADV4HmPnAYzq7QdXRl22WK40M,3103
144
+ prefect/docker/docker_image.py,sha256=cdvUEokGJXZDugfCekfmrhhpzrxTEW-FvWa2kDs5tVM,3092
145
145
  prefect/events/__init__.py,sha256=GtKl2bE--pJduTxelH2xy7SadlLJmmis8WR1EYixhuA,2094
146
146
  prefect/events/actions.py,sha256=A7jS8bo4zWGnrt3QfSoQs0uYC1xfKXio3IfU0XtTb5s,9129
147
- prefect/events/clients.py,sha256=_BSO4sZEcbJ9j2NhAAT9rtgyspg00g53PIuy2zhdM10,26827
147
+ prefect/events/clients.py,sha256=91_bT-JIkXcBmakuSYpfAftFNoy-iFVUNrftbcGOUPY,26879
148
148
  prefect/events/filters.py,sha256=h9L6pukS9tD7Y8rGC3dt04KJINu0oJoti-flGLQTQQQ,8086
149
- prefect/events/related.py,sha256=A-1SVYwHtsxaDurRepnTsYbTWRBJSbtL5O_KffLaTwU,6534
149
+ prefect/events/related.py,sha256=Uh6-MoVENvP9dYYhjstb7eHesQUoDp-2PTMSP0nhPDI,6545
150
150
  prefect/events/utilities.py,sha256=4Bz-xiTOzi_EeDyIL9BzI7eMbRbBIIyayNvfO_BFyTw,2632
151
151
  prefect/events/worker.py,sha256=HjbibR0_J1W1nnNMZDFTXAbB0cl_cFGaFI87DvNGcnI,4557
152
152
  prefect/events/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -168,14 +168,14 @@ prefect/input/__init__.py,sha256=Ue2h-YhYP71nEtsVJaslqMwO6C0ckjhjTYwwEgp-E3g,701
168
168
  prefect/input/actions.py,sha256=BDx26b6ZYCTr0kbWBp73Or7UXnLIv1lnm0jow6Simxw,3871
169
169
  prefect/input/run_input.py,sha256=GoM4LR3oqAFLf2sPCR1yITY9tNSZT8kAd4gaC-v-a-c,22703
170
170
  prefect/locking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- prefect/locking/filesystem.py,sha256=RExiv3GDK-wYQfWbNVYKtf-aaPI3-I6CL5z2QICaMGk,8145
171
+ prefect/locking/filesystem.py,sha256=O67Miiz466fQUu3UmHer9dkWpVL1f8GEX8Lv2lDj0Y8,8113
172
172
  prefect/locking/memory.py,sha256=mFUgV750ywEL7aVQuxFjg9gxbjVU4esBQn7bGQYzeMY,7548
173
173
  prefect/locking/protocol.py,sha256=RsfvlaHTTEJ0YvYWSqFGoZuT2w4FPPxyQlHqjoyNGuE,4240
174
174
  prefect/logging/__init__.py,sha256=zx9f5_dWrR4DbcTOFBpNGOPoCZ1QcPFudr7zxb2XRpA,148
175
175
  prefect/logging/configuration.py,sha256=QIvmktuAZPteVnh8nd9jUb7vwGGkcUbBLyiti6XmbYM,3242
176
176
  prefect/logging/filters.py,sha256=NnRYubh9dMmWcCAjuW32cIVQ37rLxdn8ci26wTtQMyU,1136
177
177
  prefect/logging/formatters.py,sha256=BkPykVyOFKdnhDj_1vhhOoWiHiiBeRnWXPcaRIWK3aI,4125
178
- prefect/logging/handlers.py,sha256=XFqpZbAX6M5imW_87uZgf2NXMFB4ZfMvq5A-WQRRwNM,12250
178
+ prefect/logging/handlers.py,sha256=pIeS6gvuVnuh3lZ-kIC4ijRMSbVPkHo-rYeLMj5P8NA,12240
179
179
  prefect/logging/highlighters.py,sha256=BCf_LNhFInIfGPqwuu8YVrGa4wVxNc4YXo2pYgftpg4,1811
180
180
  prefect/logging/loggers.py,sha256=xkmHXsiuoPZZXcrrEgMA-ZQu0E-gW3tNVd4BIxWjnpM,12704
181
181
  prefect/logging/logging.yml,sha256=tT7gTyC4NmngFSqFkCdHaw7R0GPNPDDsTCGZQByiJAQ,3169
@@ -187,10 +187,49 @@ prefect/runner/submit.py,sha256=3Ey6H4XrhYhCII4AobpvzZf21vAunWlMu40zAjMC0gc,8353
187
187
  prefect/runner/utils.py,sha256=MLtoouDD6bh-JAIz0W3fMofKXEt0VfGsg6d8jf45OA0,3280
188
188
  prefect/runtime/__init__.py,sha256=JswiTlYRup2zXOYu8AqJ7czKtgcw9Kxo0tTbS6aWCqY,407
189
189
  prefect/runtime/deployment.py,sha256=0A_cUVpYiFk3ciJw2ixy95dk9xBJcjisyF69pakSCcQ,5091
190
- prefect/runtime/flow_run.py,sha256=YTUYOgJ1ADyarYySsuL4GL2s0Iq-fy3956sf4Z3QIU4,10564
190
+ prefect/runtime/flow_run.py,sha256=hBa6h99G9K5iHdDUvHoJ2Yg9h5cZVEe_OEEJ2VuJHwk,10557
191
191
  prefect/runtime/task_run.py,sha256=zYBSs7QrAu7c2IjKomRzPXKyIXrjqclMTMrco-dwyOw,4212
192
+ prefect/server/api/__init__.py,sha256=W6s6QR91ogg7pssnFdV0bptpXtP1gbjqjnhySK1hFJM,616
193
+ prefect/server/api/admin.py,sha256=nINYSrux7XPAV4MMDQUts3X2dddrc3mJtd3iPl5N-jI,2644
194
+ prefect/server/api/artifacts.py,sha256=p3aMPokKEsm-q7_DXyWgxLck8PmG0dB6wDZN13x4wHM,7181
195
+ prefect/server/api/automations.py,sha256=05wcjN_B_2GApO2nE-68_P7AC1jDltvcKBLXRcmg210,8110
196
+ prefect/server/api/block_capabilities.py,sha256=rHp5DBMlfpMFD0j7MitgFF8seI3du0l5ZZJAnZ4fCzE,699
197
+ prefect/server/api/block_documents.py,sha256=L24UtiBugu3WbeR9UIcLTjcG5pNaQy3HMd71UhxmnAA,5763
198
+ prefect/server/api/block_schemas.py,sha256=Ti_zokXuCnnM3yswmKR-wC51aTso0ITPh1wrIKi208M,5380
199
+ prefect/server/api/block_types.py,sha256=nUpHtv9qqsuy7EFOyx6GbAmW45_-9fjMKm3SMcEbMvU,8252
200
+ prefect/server/api/clients.py,sha256=7Xr10JPj3FykLJ3v6Id251LgW6W-6xaWyqSU_RWcolA,8867
201
+ prefect/server/api/collections.py,sha256=RI7cjdM8RYFyAk2rgb35vqh06PWGXAamTvwThl83joY,2454
202
+ prefect/server/api/concurrency_limits.py,sha256=Zc1PPTK5g4iRWXLE348ygpWaJQH5gKaECLQR-p_u5a4,10576
203
+ prefect/server/api/concurrency_limits_v2.py,sha256=TcF_MjacYlA54uf0EGVZp3LVzdDTW-Ol-HgbTvj3Yt0,9947
204
+ prefect/server/api/csrf_token.py,sha256=BwysSjQAhre7O0OY_LF3ZcIiO53FdMQroNT11Q6OcOM,1344
205
+ prefect/server/api/dependencies.py,sha256=VujfcIGn41TGJxUunFHVabY5hE-6nY6uSHyhNFj8PdI,6634
206
+ prefect/server/api/deployments.py,sha256=UP-MXgkcmLPz48yg-MnRRGgiF_9dLt4KT4XSApuWZNM,37640
207
+ prefect/server/api/events.py,sha256=Z5nYS6w1avcQMoFtcB502WANMYixLLjsevSDksI22a4,9814
208
+ prefect/server/api/flow_run_notification_policies.py,sha256=bMwBuqUDyQTO5GxU2v4inmb9FZ27iLMYhUNy8qvMVcM,4693
209
+ prefect/server/api/flow_run_states.py,sha256=3whjUoYp9dOEtwiNE0d72vsrlFMU6Ck1ZtQlCzM_n08,1556
210
+ prefect/server/api/flow_runs.py,sha256=tezz_lkHxj13fn4lQMz_Aazf29gPnebxwN59WvwNb8o,32543
211
+ prefect/server/api/flows.py,sha256=oOrfmDPM2lvQ2EP2GbEuxSZ5SmYsqc2nHYJo4QL7bBo,6939
212
+ prefect/server/api/logs.py,sha256=Cigu-xilkCxAv7lPistoun5lzvf3Ohyf0uNTnj1chXA,1486
213
+ prefect/server/api/middleware.py,sha256=WkyuyeJIfo9Q0GAIVU5gO6yIGNVwoHwuBah5AB5oUyw,2733
214
+ prefect/server/api/root.py,sha256=CeumFYIM_BDvPicJH9ry5PO_02PZTLeMqbLMGGTh90o,942
215
+ prefect/server/api/run_history.py,sha256=FHepAgo1AYFeuh7rrAVzo_o3hu8Uc8-4DeH5aD5VGgw,5995
216
+ prefect/server/api/saved_searches.py,sha256=UjoqLLe245QVIs6q5Vk4vdODCOoYzciEEjhi7B8sYCE,3233
217
+ prefect/server/api/server.py,sha256=mAAZ_l0tfcpdnNDvP7-uP8w3f5HkjitpKZlyFBhLrYA,31835
218
+ prefect/server/api/task_run_states.py,sha256=qlMUR4cH943EVgAkHHwTyHznb613VNa4WErEHdwcU60,1568
219
+ prefect/server/api/task_runs.py,sha256=_rZXe2ZJDnOr3kf2MfBPMUI3N_6lbcVkJxvl-A1IKDQ,12160
220
+ prefect/server/api/task_workers.py,sha256=TLvw0DckIqAeIaS3jky9zEF3nT2FII2F7oEE5Kf_13U,950
221
+ prefect/server/api/templates.py,sha256=92bLFfcahZUp5PVNTZPjl8uJSDj4ZYRTVdmTzZXkERg,1027
222
+ prefect/server/api/validation.py,sha256=HxSNyH8yb_tI-kOfjXESRjJp6WQK6hYWBJsaBxUvY34,14490
223
+ prefect/server/api/variables.py,sha256=h7weLT5WeZPBu1NLgK35-rP9cch-Y-EwLknn1xyxrP4,6069
224
+ prefect/server/api/work_queues.py,sha256=a-Ld2Rr03RH3HH0qE94x7XqZKz2V3HWcf5XqMpX6qVE,7445
225
+ prefect/server/api/workers.py,sha256=7FF4nbsBfUwjjjg2_7uH3itfDHeg0spgXo-ZH8ZrZ3k,22358
192
226
  prefect/server/api/collections_data/views/aggregate-worker-metadata.json,sha256=gqrwGyylzBEzlFSPOJcMuUwdoK_zojpU0SZaBDgK5FE,79748
193
227
  prefect/server/api/static/prefect-logo-mark-gradient.png,sha256=ylRjJkI_JHCw8VbQasNnXQHwZW-sH-IQiUGSD3aWP1E,73430
228
+ prefect/server/api/ui/__init__.py,sha256=TCXO4ZUZCqCbm2QoNvWNTErkzWiX2nSACuO-0Tiomvg,93
229
+ prefect/server/api/ui/flow_runs.py,sha256=ALmUFY4WrJggN1ha0z-tqXeddG2GptswbPnB7iYixUM,4172
230
+ prefect/server/api/ui/flows.py,sha256=-g1xKHGBwh59CiILvrK3qlSE9g4boupCh4fl8UvF-iw,5647
231
+ prefect/server/api/ui/schemas.py,sha256=moKeBqG9qdCo6yHoxeDnmvHrGoLCerHc4GMEQwzqleU,2050
232
+ prefect/server/api/ui/task_runs.py,sha256=9zKN96k9GD5uUzKWNq_l-JA8ui4OqRhjyN7B3V8IHXs,6667
194
233
  prefect/settings/__init__.py,sha256=3jDLzExmq9HsRWo1kTSE16BO_3B3JlVsk5pR0s4PWEQ,2136
195
234
  prefect/settings/base.py,sha256=IWCFoDLKecoSlEtscwVlBwbC6KgzBHHwYODhLlOdWX8,8821
196
235
  prefect/settings/constants.py,sha256=5NjVLG1Km9J9I-a6wrq-qmi_dTkPdwEk3IrY9bSxWvw,281
@@ -198,7 +237,7 @@ prefect/settings/context.py,sha256=yKxnaDJHX8e2jmAVtw1RF9o7X4V3AOcz61sVeQyPX2c,2
198
237
  prefect/settings/legacy.py,sha256=KG00GwaURl1zbwfCKAjwNRdJjB2UdTyo80gYF7U60jk,5693
199
238
  prefect/settings/profiles.py,sha256=Z8vOgHx2SR_l35SsFLnrFi2qfRY2_Psn0epx5zZD8WI,12392
200
239
  prefect/settings/profiles.toml,sha256=kTvqDNMzjH3fsm5OEI-NKY4dMmipor5EvQXRB6rPEjY,522
201
- prefect/settings/sources.py,sha256=-GTAZiTFjvGCiEGC-oGQhjcwDi_3XDvxQ7MkwEsGIiA,13060
240
+ prefect/settings/sources.py,sha256=x-yJT9aENh32wGVxe9WZg6KLLCZOZOMV0h5dDHuR6FA,13545
202
241
  prefect/settings/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
242
  prefect/settings/models/api.py,sha256=XOxZDtNKeXgOMtvlr6QBJ1_UsvsXad3m0ECgZ0vAfaA,1796
204
243
  prefect/settings/models/cli.py,sha256=U-KwO1mfwj-hsyrR0KfS4eHg1-M1rr6VllqOt-VzoBM,1045
@@ -234,7 +273,7 @@ prefect/telemetry/processors.py,sha256=jw6j6LviOVxw3IBJe7cSjsxFk0zzY43jUmy6C9pcf
234
273
  prefect/telemetry/run_telemetry.py,sha256=NcMVqOc_wQVGPlGpE8cfrz-lyCbkG1EOKpcbjsqMnGA,8264
235
274
  prefect/telemetry/services.py,sha256=DxgNNDTeWNtHBtioX8cjua4IrCbTiJJdYecx-gugg-w,2358
236
275
  prefect/types/__init__.py,sha256=yBjKxiQmSC7jXoo0UNmM3KZil1NBFS-BWGPfwSEaoJo,4621
237
- prefect/types/_datetime.py,sha256=S34IQdm5sIzZ1B3YKkCnCYlQSSadcenswKU3xjWH0JA,1298
276
+ prefect/types/_datetime.py,sha256=eOsg5gkm4bATLWvK4lmLqHByxQdER6gfTFyafzj-DLk,3343
238
277
  prefect/types/entrypoint.py,sha256=2FF03-wLPgtnqR_bKJDB2BsXXINPdu8ptY9ZYEZnXg8,328
239
278
  prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
279
  prefect/utilities/_deprecated.py,sha256=b3pqRSoFANdVJAc8TJkygBcP-VjZtLJUxVIWC7kwspI,1303
@@ -247,7 +286,7 @@ prefect/utilities/collections.py,sha256=yMZyRD9j6m3Fd3wm4-HR2r3o7B02AC_MDQZUWsX3
247
286
  prefect/utilities/compat.py,sha256=nnPA3lf2f4Y-l645tYFFNmj5NDPaYvjqa9pbGKZ3WKE,582
248
287
  prefect/utilities/context.py,sha256=23SDMgdt07SjmB1qShiykHfGgiv55NBzdbMXM3fE9CI,1447
249
288
  prefect/utilities/dispatch.py,sha256=u6GSGSO3_6vVoIqHVc849lsKkC-I1wUl6TX134GwRBo,6310
250
- prefect/utilities/dockerutils.py,sha256=R9LN3qsg-ZEw_KH9C3y5wItYPC-MiP7AiwWMUiLvDt4,20863
289
+ prefect/utilities/dockerutils.py,sha256=pQ5rJTDX6xXBzr_wFcCmcPo88YPjRp54YHf39iOnkPY,20878
251
290
  prefect/utilities/engine.py,sha256=wbQpwuAnLrk6yfgOWkip00tljweRn-OODE2NaQBtLAY,28971
252
291
  prefect/utilities/filesystem.py,sha256=Pwesv71PGFhf3lPa1iFyMqZZprBjy9nEKCVxTkf_hXw,5710
253
292
  prefect/utilities/generics.py,sha256=o77e8a5iwmrisOf42wLp2WI9YvSw2xDW4vFdpdEwr3I,543
@@ -269,14 +308,13 @@ prefect/utilities/schema_tools/__init__.py,sha256=At3rMHd2g_Em2P3_dFQlFgqR_EpBwr
269
308
  prefect/utilities/schema_tools/hydration.py,sha256=NkRhWkNfxxFmVGhNDfmxdK_xeKaEhs3a42q83Sg9cT4,9436
270
309
  prefect/utilities/schema_tools/validation.py,sha256=Wix26IVR-ZJ32-6MX2pHhrwm3reB-Q4iB6_phn85OKE,10743
271
310
  prefect/workers/__init__.py,sha256=EaM1F0RZ-XIJaGeTKLsXDnfOPHzVWk5bk0_c4BVS44M,64
272
- prefect/workers/base.py,sha256=izJmvDo_wtnI0vh2ihZbjYenRhpPuEWRuH3jKeph_Y8,49922
311
+ prefect/workers/base.py,sha256=_kJlVnuia2jCGklRGUxur2SSi9uFFqkMouiWlJIJrsI,49942
273
312
  prefect/workers/block.py,sha256=dPvG1jDGD5HSH7aM2utwtk6RaJ9qg13XjkA0lAIgQmY,287
274
313
  prefect/workers/cloud.py,sha256=dPvG1jDGD5HSH7aM2utwtk6RaJ9qg13XjkA0lAIgQmY,287
275
314
  prefect/workers/process.py,sha256=6VWon_LK7fQNLlQTjTBFeU4KFUa4faqP4EUuTvrbtbg,20176
276
315
  prefect/workers/server.py,sha256=SEuyScZ5nGm2OotdtbHjpvqJlTRVWCh29ND7FeL_fZA,1974
277
316
  prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
278
- prefect_client-3.2.1.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
279
- prefect_client-3.2.1.dist-info/METADATA,sha256=y0SU-d6cL0dgjIh2tGQ-t4YndTcIdiE0vxh0keXB5aI,7286
280
- prefect_client-3.2.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
281
- prefect_client-3.2.1.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
282
- prefect_client-3.2.1.dist-info/RECORD,,
317
+ prefect_client-3.2.3.dist-info/METADATA,sha256=mpkYH4FFqZEUC5V4HbdYseq0_dI2YSzgtr94VwNuqK8,7231
318
+ prefect_client-3.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
319
+ prefect_client-3.2.3.dist-info/licenses/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
320
+ prefect_client-3.2.3.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.1)
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
prefect/_version.py DELETED
@@ -1,21 +0,0 @@
1
-
2
- # This file was generated by 'versioneer.py' (0.29) from
3
- # revision-control system data, or from the parent directory name of an
4
- # unpacked source archive. Distribution tarballs contain a pre-generated copy
5
- # of this file.
6
-
7
- import json
8
-
9
- version_json = '''
10
- {
11
- "date": "2025-02-10T15:20:53-0600",
12
- "dirty": true,
13
- "error": null,
14
- "full-revisionid": "f8b15dfbe4dc668f9048f5199efdd90dc8626859",
15
- "version": "3.2.1"
16
- }
17
- ''' # END VERSION_JSON
18
-
19
-
20
- def get_versions():
21
- return json.loads(version_json)
@@ -1 +0,0 @@
1
- prefect