prefect-client 3.1.4__py3-none-any.whl → 3.1.5__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.
@@ -121,7 +121,7 @@ class ProfileSettingsTomlLoader(PydanticBaseSettingsSource):
121
121
  """Helper method to load the profile settings from the profiles.toml file"""
122
122
 
123
123
  if not self.profiles_path.exists():
124
- return {}
124
+ return self._get_default_profile()
125
125
 
126
126
  try:
127
127
  all_profile_data = toml.load(self.profiles_path)
@@ -146,9 +146,16 @@ class ProfileSettingsTomlLoader(PydanticBaseSettingsSource):
146
146
  profiles_data = all_profile_data.get("profiles", {})
147
147
 
148
148
  if not active_profile or active_profile not in profiles_data:
149
- return {}
149
+ return self._get_default_profile()
150
150
  return profiles_data[active_profile]
151
151
 
152
+ def _get_default_profile(self) -> Dict[str, Any]:
153
+ """Helper method to get the default profile"""
154
+ default_profile_data = toml.load(DEFAULT_PROFILES_PATH)
155
+ default_profile = default_profile_data.get("active", "ephemeral")
156
+ assert isinstance(default_profile, str)
157
+ return default_profile_data.get("profiles", {}).get(default_profile, {})
158
+
152
159
  def get_field_value(
153
160
  self, field: FieldInfo, field_name: str
154
161
  ) -> Tuple[Any, str, bool]:
prefect/types/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from functools import partial
2
- from typing import Annotated, Any, Dict, List, Set, TypeVar, Union
3
- from typing_extensions import Literal
2
+ from typing import Annotated, Any, Dict, List, Optional, Set, TypeVar, Union
3
+ from typing_extensions import Literal, TypeAlias
4
4
  import orjson
5
5
  import pydantic
6
6
 
@@ -148,9 +148,29 @@ LogLevel = Annotated[
148
148
  BeforeValidator(lambda x: x.upper()),
149
149
  ]
150
150
 
151
+
152
+ KeyValueLabels: TypeAlias = dict[str, Union[StrictBool, StrictInt, StrictFloat, str]]
153
+
154
+
155
+ def convert_none_to_empty_dict(v: Optional[KeyValueLabels]) -> KeyValueLabels:
156
+ return v or {}
157
+
158
+
159
+ KeyValueLabelsField = Annotated[
160
+ KeyValueLabels,
161
+ Field(
162
+ default_factory=dict,
163
+ description="A dictionary of key-value labels. Values can be strings, numbers, or booleans.",
164
+ examples=[{"key": "value1", "key2": 42}],
165
+ ),
166
+ BeforeValidator(convert_none_to_empty_dict),
167
+ ]
168
+
169
+
151
170
  __all__ = [
152
171
  "ClientRetryExtraCodes",
153
172
  "LogLevel",
173
+ "KeyValueLabelsField",
154
174
  "NonNegativeInteger",
155
175
  "PositiveInteger",
156
176
  "ListOfNonEmptyStrings",
prefect/workers/base.py CHANGED
@@ -637,8 +637,9 @@ class BaseWorker(abc.ABC):
637
637
  await self._exit_stack.enter_async_context(self._runs_task_group)
638
638
 
639
639
  if self._client.server_type == ServerType.CLOUD:
640
- self._cloud_client = get_cloud_client()
641
- await self._exit_stack.enter_async_context(self._cloud_client)
640
+ self._cloud_client = await self._exit_stack.enter_async_context(
641
+ get_cloud_client()
642
+ )
642
643
 
643
644
  self.is_setup = True
644
645
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect-client
3
- Version: 3.1.4
3
+ Version: 3.1.5
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -45,7 +45,7 @@ Requires-Dist: packaging<24.3,>=21.3
45
45
  Requires-Dist: pathspec>=0.8.0
46
46
  Requires-Dist: pendulum<4,>=3.0.0
47
47
  Requires-Dist: prometheus-client>=0.20.0
48
- Requires-Dist: pydantic<3.0.0,>=2.7
48
+ Requires-Dist: pydantic!=2.10.0,<3.0.0,>=2.7
49
49
  Requires-Dist: pydantic-core<3.0.0,>=2.12.0
50
50
  Requires-Dist: pydantic-extra-types<3.0.0,>=2.8.2
51
51
  Requires-Dist: pydantic-settings>2.2.1
@@ -79,8 +79,6 @@ Requires-Dist: apprise<2.0.0,>=1.1.0; extra == "notifications"
79
79
  <br>
80
80
  <a href="https://prefect.io/slack" alt="Slack">
81
81
  <img src="https://img.shields.io/badge/slack-join_community-red.svg?color=0052FF&labelColor=090422&logo=slack" /></a>
82
- <a href="https://discourse.prefect.io/" alt="Discourse">
83
- <img src="https://img.shields.io/badge/discourse-browse_forum-red.svg?color=0052FF&labelColor=090422&logo=discourse" /></a>
84
82
  <a href="https://www.youtube.com/c/PrefectIO/" alt="YouTube">
85
83
  <img src="https://img.shields.io/badge/youtube-watch_videos-red.svg?color=0052FF&labelColor=090422&logo=youtube" /></a>
86
84
  </p>
@@ -1,6 +1,6 @@
1
1
  prefect/.prefectignore,sha256=awSprvKT0vI8a64mEOLrMxhxqcO-b0ERQeYpA2rNKVQ,390
2
2
  prefect/__init__.py,sha256=UZPTpdap8ECK1zLoggfeOtZGkKcf6um1-lMb-nn4o5I,3450
3
- prefect/_version.py,sha256=mXepR53bQnibhcR0qc6BYMFaGJSyMxmSDzNiJ4a-FWs,496
3
+ prefect/_version.py,sha256=5mYh3uCFwp5P6jtVSVDvFheca98P3M20-Gp_eWmP3I8,496
4
4
  prefect/agent.py,sha256=BOVVY5z-vUIQ2u8LwMTXDaNys2fjOZSS5YGDwJmTQjI,230
5
5
  prefect/artifacts.py,sha256=dsxFWmdg2r9zbHM3KgKOR5YbJ29_dXUYF9kipJpbxkE,13009
6
6
  prefect/automations.py,sha256=NlQ62GPJzy-gnWQqX7c6CQJKw7p60WLGDAFcy82vtg4,5613
@@ -9,7 +9,7 @@ prefect/context.py,sha256=sNZwFecVO4-OmatU_OTNb9HoxG5rtwNIzP_NNGsmbYo,21496
9
9
  prefect/engine.py,sha256=BpmDbe6miZcTl1vRkxfCPYcWSXADLigGPCagFwucMz0,1976
10
10
  prefect/exceptions.py,sha256=KR8Vg7GetiBmwU5rvV5imlpg410Mv6RqSyk_gEojWAI,11884
11
11
  prefect/filesystems.py,sha256=CxwMmKY8LBUed_9IqE2jUqxVCWhXa1r2fjKgLbIC2Vg,17893
12
- prefect/flow_engine.py,sha256=FwmdAJd2Z2RvRhEwpTrR4xky_jzdS4dhOL7Z8MQZJ8c,31873
12
+ prefect/flow_engine.py,sha256=t5mz_OXPOhEj31JxK8UIk8UqHFPnFDfyTZUqWzvxDE8,53381
13
13
  prefect/flow_runs.py,sha256=EaXRIQTOnwnA0fO7_EjwafFRmS57K_CRy0Xsz3JDIhc,16070
14
14
  prefect/flows.py,sha256=PUEPpQx5pjXMVfnrPbIeAvWUdEdeaNPO4DXj7tgxGcA,90185
15
15
  prefect/futures.py,sha256=DlZvdccKtwQKuDUFrZ4zcINeO9C1chLiNOwjE5gTgCk,16356
@@ -53,7 +53,7 @@ prefect/_internal/pydantic/v2_validated_func.py,sha256=WfEKOMb-tPYdc8o2QX5hDLJhU
53
53
  prefect/_internal/pydantic/annotations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  prefect/_internal/pydantic/annotations/pendulum.py,sha256=F0SMi6ZjxSfp_7rStK79t4gttjy2QNNQRIZxIBfRgSE,2623
55
55
  prefect/_internal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
- prefect/_internal/schemas/bases.py,sha256=kAn6u6n-edS5EjLrse-GCX8ljJDx9fQDSr4JUWjXOwA,4305
56
+ prefect/_internal/schemas/bases.py,sha256=YT8uHMy2K8jwuCyRc_v1d0MlR9-TpoBponLgdLHpUmo,4213
57
57
  prefect/_internal/schemas/fields.py,sha256=m4LrFNz8rA9uBhMk9VyQT6FIXmV_EVAW92hdXeSvHbY,837
58
58
  prefect/_internal/schemas/serializers.py,sha256=G_RGHfObjisUiRvd29p-zc6W4bwt5rE1OdR6TXNrRhQ,825
59
59
  prefect/_internal/schemas/validators.py,sha256=6-1iHBTgcRLyeyR7KNpFnTE1O5VvBEAczpmL9a2oRt8,26656
@@ -70,14 +70,14 @@ prefect/client/base.py,sha256=2K8UiWzorZNNM4c8c-OiGeZ5i5ViUfZ_Q31oPobbOO0,24956
70
70
  prefect/client/cloud.py,sha256=BE3zPZgzoLT6EykvKQIit1OQCOXx75Z3eg2Yg0AFKo0,6840
71
71
  prefect/client/collections.py,sha256=u-96saqu0RALAazRI0YaZCJahnuafMppY21KN6ggx80,1059
72
72
  prefect/client/constants.py,sha256=Z_GG8KF70vbbXxpJuqW5pLnwzujTVeHbcYYRikNmGH0,29
73
- prefect/client/orchestration.py,sha256=Vb9fscnrlWUX7T9MGNM33Y5MbaT17siuMkXwYG98y0Q,151559
73
+ prefect/client/orchestration.py,sha256=9kQT0RKO8ICZApkbRaQf3cMdza-jgMns3-Zm795jsPM,152495
74
74
  prefect/client/subscriptions.py,sha256=oqF2MJsgN3psJg-MePfvwMtEWjromfP9StWF00xc1eg,3403
75
75
  prefect/client/utilities.py,sha256=89fmza0cRMOayxgXRdO51TKb11TczJ0ByOZmcZVrt44,3286
76
76
  prefect/client/schemas/__init__.py,sha256=KlyqFV-hMulMkNstBn_0ijoHoIwJZaBj6B1r07UmgvE,607
77
- prefect/client/schemas/actions.py,sha256=m2HJr9oAoK9vqigCHSwMGwvKPTjGNEtP0xdXgforIT0,28629
78
- prefect/client/schemas/filters.py,sha256=ynzD3mdvHHkI51pJ_NWgeDv8Awr7-2QtpUq7fTInEYM,36316
79
- prefect/client/schemas/objects.py,sha256=JUhIBvtHhUwiTMvrwAF_eurfH3_zs2Vl8S327bsHEKw,56274
80
- prefect/client/schemas/responses.py,sha256=tV06W8npA8oCjV9d0ZNvjro4QcbHxayb8PC4LmanXjo,15467
77
+ prefect/client/schemas/actions.py,sha256=C-jHaouoYylI89MZuQN10KkoMap0_xfnvqYgodfNNdE,28878
78
+ prefect/client/schemas/filters.py,sha256=gAJLHGaxlsCT5YWRkEMYWK9G3yP4ffddTB40OK2Ldt8,36471
79
+ prefect/client/schemas/objects.py,sha256=XiEuYAsn5eXr5UA0kw5JinFPJpOCDBx_7bFvdwaAkos,56168
80
+ prefect/client/schemas/responses.py,sha256=QY4okFTcdqzivEh4L84_-_OLI0uUNNpN6wZ4p-xRIvg,15577
81
81
  prefect/client/schemas/schedules.py,sha256=8rpqjOYtknu2-1n5_WD4cOplgu93P3mCyX86B22LfL4,13070
82
82
  prefect/client/schemas/sorting.py,sha256=L-2Mx-igZPtsUoRUguTcG3nIEstMEMPD97NwPM2Ox5s,2579
83
83
  prefect/client/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -86,7 +86,7 @@ prefect/concurrency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
86
86
  prefect/concurrency/asyncio.py,sha256=34evG-u6sZn9X78jUCSOAOE3TvNHJ2Fum4XLkSHixnU,7738
87
87
  prefect/concurrency/context.py,sha256=hXt_QDXvj6hidP63k7AnoOUNI1-ZKd6EIrTuopQyzHU,942
88
88
  prefect/concurrency/events.py,sha256=EjZwUbbtP-N-u8rk8nbyMIi-BnkshoLkHRYh913jUWU,1810
89
- prefect/concurrency/services.py,sha256=IecXILseqgLQWIrIsfXxoJj-o5MK5UC7jd_IjYinxi0,3831
89
+ prefect/concurrency/services.py,sha256=LHOou_G7X87DE-e0lmPhVAXwrUcV_cM6VZpOWKikOPk,3999
90
90
  prefect/concurrency/sync.py,sha256=nOAFmjptabztKtkJ_uAWgzTrb21vrkTwPulFkiIo8u4,4337
91
91
  prefect/concurrency/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  prefect/concurrency/v1/asyncio.py,sha256=ROro7lFAbyr2oWUAXYUzN-IpTkKM-DHOWvcfpr7-8AA,4883
@@ -166,7 +166,7 @@ prefect/settings/context.py,sha256=yKxnaDJHX8e2jmAVtw1RF9o7X4V3AOcz61sVeQyPX2c,2
166
166
  prefect/settings/legacy.py,sha256=GcaB1mkahc4HbjnUvr4_3qNNxleke08dYnOXCUt8w3k,5617
167
167
  prefect/settings/profiles.py,sha256=VZdzOV-KSuAkCxtdhBmSG9i84-K2QLSx6g2-vIUkfig,12169
168
168
  prefect/settings/profiles.toml,sha256=kTvqDNMzjH3fsm5OEI-NKY4dMmipor5EvQXRB6rPEjY,522
169
- prefect/settings/sources.py,sha256=5rO65PhQ4U6QmlA5q8ElL5ld0VNxHiR5eJUbXh0CDMg,12249
169
+ prefect/settings/sources.py,sha256=qoRt-XwfDB6-rC1UeZxF08G5DzpEtIU66mtm5fI7dP8,12676
170
170
  prefect/settings/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
171
  prefect/settings/models/api.py,sha256=DuoBHYeMX9MlgjT6JNLWPHSj_iySo98a0uNuTVSk1r8,1511
172
172
  prefect/settings/models/cli.py,sha256=mHB-BHBVO9qfQcr9uHbBmU6MMDLlLUUDxjyaRz7v1ls,958
@@ -199,7 +199,7 @@ prefect/telemetry/bootstrap.py,sha256=oOdEjIHDQHANviyP2ZKpz9B4yBq832f9y1PKwAQ5-r
199
199
  prefect/telemetry/instrumentation.py,sha256=S7IRYqKXaixAt-W5oxDO4CqkyXc3dy4ATgBmuindJIM,4241
200
200
  prefect/telemetry/logging.py,sha256=yn5D4D2GGRrAv0y8wlHPN7PZDmQucGjQT_YauK9M9Yo,727
201
201
  prefect/telemetry/processors.py,sha256=IEWBD8c_O3lx54TbIsBOF8kneIMcT27bcwh3O0VY7HI,2029
202
- prefect/types/__init__.py,sha256=6ZU-riBXkR-emhOAwirPR2GxqzbQ5bIkWYrjVpN0pD0,4036
202
+ prefect/types/__init__.py,sha256=al44Rq02jYPWVQ6eGwQpLWjEqnEd-FvfJYUCQ7PuIhM,4579
203
203
  prefect/types/entrypoint.py,sha256=2FF03-wLPgtnqR_bKJDB2BsXXINPdu8ptY9ZYEZnXg8,328
204
204
  prefect/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
205
  prefect/utilities/annotations.py,sha256=Ocj2s5zhnGr8uXUBnOli-OrybXVJdu4-uZvCRpKpV_Q,2820
@@ -230,14 +230,14 @@ prefect/utilities/schema_tools/__init__.py,sha256=KsFsTEHQqgp89TkDpjggkgBBywoHQP
230
230
  prefect/utilities/schema_tools/hydration.py,sha256=k12qVCdLLrK-mNo1hPCdhxM5f_N14Nj0vJdtiWYWffk,8858
231
231
  prefect/utilities/schema_tools/validation.py,sha256=2GCjxwApTFwzey40ul9OkcAXrU3r-kWK__9ucMo0qbk,9744
232
232
  prefect/workers/__init__.py,sha256=8dP8SLZbWYyC_l9DRTQSE3dEbDgns5DZDhxkp_NfsbQ,35
233
- prefect/workers/base.py,sha256=7Gb19vDG1cFsyrfsvZIR1h-OvX5T3RFrSS0Vj7uO5JU,49209
233
+ prefect/workers/base.py,sha256=1yRldH6bGV01grfMez9zLxKC8f1Uq1rWyb_Cfb-3USg,49208
234
234
  prefect/workers/block.py,sha256=BOVVY5z-vUIQ2u8LwMTXDaNys2fjOZSS5YGDwJmTQjI,230
235
235
  prefect/workers/cloud.py,sha256=BOVVY5z-vUIQ2u8LwMTXDaNys2fjOZSS5YGDwJmTQjI,230
236
236
  prefect/workers/process.py,sha256=tcJ3fbiraLCfpVGpv8dOHwMSfVzeD_kyguUOvPuIz6I,19796
237
237
  prefect/workers/server.py,sha256=lgh2FfSuaNU7b6HPxSFm8JtKvAvHsZGkiOo4y4tW1Cw,2022
238
238
  prefect/workers/utilities.py,sha256=VfPfAlGtTuDj0-Kb8WlMgAuOfgXCdrGAnKMapPSBrwc,2483
239
- prefect_client-3.1.4.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
240
- prefect_client-3.1.4.dist-info/METADATA,sha256=ZB3BOZWtnkmrXdym1Xw_1qT1Fv4f7wqYblnWOcXG1u0,7386
241
- prefect_client-3.1.4.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
242
- prefect_client-3.1.4.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
243
- prefect_client-3.1.4.dist-info/RECORD,,
239
+ prefect_client-3.1.5.dist-info/LICENSE,sha256=MCxsn8osAkzfxKC4CC_dLcUkU8DZLkyihZ8mGs3Ah3Q,11357
240
+ prefect_client-3.1.5.dist-info/METADATA,sha256=SIwJYSFuW8cP5ifc4rIynU7bhpqw9KztLw80Fs0Qe6g,7202
241
+ prefect_client-3.1.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
242
+ prefect_client-3.1.5.dist-info/top_level.txt,sha256=MJZYJgFdbRc2woQCeB4vM6T33tr01TmkEhRcns6H_H4,8
243
+ prefect_client-3.1.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5