dagster-shared 1.11.14__py3-none-any.whl → 1.11.16__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.
@@ -628,12 +628,12 @@ def __defaults_new__(cls{kw_args_str}):
628
628
  """
629
629
 
630
630
 
631
- def _banned_iter(*args, **kwargs):
632
- raise Exception("Iteration is not allowed on `@record`s.")
631
+ def _banned_iter(self, *args, **kwargs):
632
+ raise Exception(f"Iteration is not allowed on `@record` {self.__class__.__name__}.")
633
633
 
634
634
 
635
- def _banned_idx(*args, **kwargs):
636
- raise Exception("Index access is not allowed on `@record`s.")
635
+ def _banned_idx(self, *args, **kwargs):
636
+ raise Exception(f"Index access is not allowed on `@record` {self.__class__.__name__}.")
637
637
 
638
638
 
639
639
  def _true(_):
@@ -1,10 +1,20 @@
1
1
  import time
2
2
  from collections.abc import Mapping
3
+ from enum import Enum
3
4
  from typing import Any, Optional
4
5
 
5
6
  from dagster_shared.dagster_model import DagsterModel
6
7
  from dagster_shared.serdes import whitelist_for_serdes
7
8
 
9
+ LOCAL_STATE_VERSION = "__local__"
10
+ CODE_SERVER_STATE_VERSION = "__code_server__"
11
+
12
+
13
+ class DefsStateManagementType(Enum):
14
+ VERSIONED_STATE_STORAGE = "VERSIONED_STATE_STORAGE"
15
+ LOCAL_FILESYSTEM = "LOCAL_FILESYSTEM"
16
+ LEGACY_CODE_SERVER_SNAPSHOTS = "LEGACY_CODE_SERVER_SNAPSHOTS"
17
+
8
18
 
9
19
  @whitelist_for_serdes
10
20
  class DefsKeyStateInfo(DagsterModel):
@@ -17,6 +27,15 @@ class DefsKeyStateInfo(DagsterModel):
17
27
  def from_graphql(cls, data: dict[str, Any]) -> "DefsKeyStateInfo":
18
28
  return cls(version=data["version"], create_timestamp=data["createTimestamp"])
19
29
 
30
+ @property
31
+ def management_type(self) -> DefsStateManagementType:
32
+ if self.version == LOCAL_STATE_VERSION:
33
+ return DefsStateManagementType.LOCAL_FILESYSTEM
34
+ elif self.version == CODE_SERVER_STATE_VERSION:
35
+ return DefsStateManagementType.LEGACY_CODE_SERVER_SNAPSHOTS
36
+ else:
37
+ return DefsStateManagementType.VERSIONED_STATE_STORAGE
38
+
20
39
 
21
40
  @whitelist_for_serdes
22
41
  class DefsStateInfo(DagsterModel):
@@ -30,10 +49,15 @@ class DefsStateInfo(DagsterModel):
30
49
 
31
50
  @staticmethod
32
51
  def add_version(
33
- current_info: Optional["DefsStateInfo"], key: str, version: Optional[str]
52
+ current_info: Optional["DefsStateInfo"],
53
+ key: str,
54
+ version: Optional[str],
55
+ create_timestamp: Optional[float] = None,
34
56
  ) -> "DefsStateInfo":
35
57
  new_info = (
36
- DefsKeyStateInfo(version=version, create_timestamp=time.time()) if version else None
58
+ DefsKeyStateInfo(version=version, create_timestamp=create_timestamp or time.time())
59
+ if version
60
+ else None
37
61
  )
38
62
  if current_info is None:
39
63
  return DefsStateInfo(info_mapping={key: new_info})
@@ -44,6 +68,10 @@ class DefsStateInfo(DagsterModel):
44
68
  info = self.info_mapping.get(key)
45
69
  return info.version if info else None
46
70
 
71
+ def for_keys(self, keys: set[str]) -> "DefsStateInfo":
72
+ """Subsets the DefsStateInfo to only include the keys in the set."""
73
+ return DefsStateInfo(info_mapping={k: v for k, v in self.info_mapping.items() if k in keys})
74
+
47
75
  @classmethod
48
76
  def from_graphql(cls, data: dict[str, Any]) -> "DefsStateInfo":
49
77
  return cls(
dagster_shared/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.11.14"
1
+ __version__ = "1.11.16"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster_shared
3
- Version: 1.11.14
3
+ Version: 1.11.16
4
4
  Summary: Shared code between dagster and dagster-dg-core.
5
5
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-shared
6
6
  Author: Dagster Labs
@@ -16,6 +16,7 @@ Classifier: Operating System :: OS Independent
16
16
  License-File: LICENSE
17
17
  Requires-Dist: PyYAML>=5.1
18
18
  Requires-Dist: packaging>=20.9
19
+ Requires-Dist: platformdirs
19
20
  Requires-Dist: pydantic<3.0.0,>=2
20
21
  Requires-Dist: typing_extensions<5,>=4.11.0
21
22
  Requires-Dist: tomlkit
@@ -5,7 +5,7 @@ dagster_shared/match.py,sha256=o2ZzDuNEsDpX6rF6CV3GSVrfdLIpnJvr8B75bSQ_T40,3433
5
5
  dagster_shared/merger.py,sha256=c9cJTwHtgMXgR9MtB-KwZEMtQSXn13rF08F2ID5aDTg,1758
6
6
  dagster_shared/modules.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  dagster_shared/py.typed,sha256=mDShSrm8qg9qjacQc2F-rI8ATllqP6EdgHuEYxuCXZ0,7
8
- dagster_shared/version.py,sha256=WTSxgnRywP6HIZz5yh04W6BA-_H9MLGBIFoX8gBMQUk,24
8
+ dagster_shared/version.py,sha256=-NeVBKZrjnuM9q744VBGeKsAho-QI1WcQVgySxT1kic,24
9
9
  dagster_shared/check/README.md,sha256=UlxRVMWJEoVAlaHWDvhobUpuNQGBG5-ddqZ6OIfLYnM,1352
10
10
  dagster_shared/check/__init__.py,sha256=CHSOqJpaeWr6skJT7jD8HnN5s4bdnoX4x94sGN55KqA,3482
11
11
  dagster_shared/check/builder.py,sha256=SVu2OSL206R1HVP4qiGSA1WHt4Oyb-bDzGh9OvPlhJ8,17427
@@ -20,7 +20,7 @@ dagster_shared/plus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
20
20
  dagster_shared/plus/config.py,sha256=0kAWocZFYh9NmCoOT348YUg0vQe9SEpJ_Ze9R3uyR-w,5756
21
21
  dagster_shared/plus/config_utils.py,sha256=eVvahsrGQdcYL1H3_63kXO2NKsVPtWXhlGFajvJPQ5w,6147
22
22
  dagster_shared/plus/login_server.py,sha256=zRc85NUHtxpgXGfzV1d4hq-n9ZdXTBiSmagUebwxqdE,3630
23
- dagster_shared/record/__init__.py,sha256=L1k0imyJZ2AQXyQJPBouFsRHq1WaZsM-NEy7Ud8nVGs,22346
23
+ dagster_shared/record/__init__.py,sha256=khKW4ob9kiLCsC8g-NNkVwmrpj2Fjhv2RDNQqRNYF54,22410
24
24
  dagster_shared/scaffold/__init__.py,sha256=xb5-ZdbZ5wSYYJy8VA1KGDnPodM6bKTCSBPS85Wqi_w,3759
25
25
  dagster_shared/serdes/__init__.py,sha256=BInlrdN_14uwPz0t32Dl1VH4D-7_rG1vUfZ0rw5DQc0,649
26
26
  dagster_shared/serdes/errors.py,sha256=qg_VZqtuYAlAXIjOp96bGs_z309ifDoHuT4sVnxJ6nA,142
@@ -30,7 +30,7 @@ dagster_shared/serdes/objects/__init__.py,sha256=iSlP-BnIyeBaNp9kcxrJHtGO5cbpodS
30
30
  dagster_shared/serdes/objects/definition_metadata.py,sha256=ECd9dCV7EULPQlWRsvlO_eauYjkM58VhGnMPPxjGfew,2000
31
31
  dagster_shared/serdes/objects/package_entry.py,sha256=Z5PbxwvEboSlRMYJ06X2Qv_HXPsHQVaGCYLTw3sL9xQ,6957
32
32
  dagster_shared/serdes/objects/models/__init__.py,sha256=k4SeT33CVm58Gwn87BKa85nrqCwfp6cUnUMiePLrkBI,147
33
- dagster_shared/serdes/objects/models/defs_state_info.py,sha256=aPmiEmpQ6hehCgGnYRhdnIyE-iRZk59HwA1YjPsWrAM,1781
33
+ dagster_shared/serdes/objects/models/defs_state_info.py,sha256=5EmJELrgm-wnWLA3eq6xz1vRKXK_imiAjPaMSMihB-Y,2826
34
34
  dagster_shared/seven/__init__.py,sha256=sWCH8lRg2Y4IPyW6wo_c963RfhwVeO8tpSYsJAIR6JU,8432
35
35
  dagster_shared/seven/abc.py,sha256=vaqd-UGzvqAADutqU4O0V7-Hihe0vQNerj2SlCPJMFQ,553
36
36
  dagster_shared/seven/json.py,sha256=TElHKCmD71QJSDKvFP4e_vLMoSAFsAllPAbmplzSN30,383
@@ -47,8 +47,8 @@ dagster_shared/utils/warnings.py,sha256=uaCngAy2aPwuuN8ktod1Z5GEIvwwBaJYMSo4inNN
47
47
  dagster_shared/yaml_utils/__init__.py,sha256=Ya7qT3aJGPC1TgD-pSkkhLX5U4QbrUkCsrUtZQeACXg,10529
48
48
  dagster_shared/yaml_utils/sample_yaml.py,sha256=YC-1h1P48F3QV-Uwo-MqzEkzlrMliXPfZM_X6ynZvTQ,5461
49
49
  dagster_shared/yaml_utils/source_position.py,sha256=yVSnHUkBYzWzLzqtyGbqRjH2b7oTeiE4K3b-uokYUIQ,9786
50
- dagster_shared-1.11.14.dist-info/licenses/LICENSE,sha256=hgU51ohULAFKZE2la8sartPYoUaAA14jxFAfFC4Tow0,11347
51
- dagster_shared-1.11.14.dist-info/METADATA,sha256=iUrWy-pkAM5BQE6ZrqT6iHiaCHekkonZx7L1xA4gMUo,1176
52
- dagster_shared-1.11.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
- dagster_shared-1.11.14.dist-info/top_level.txt,sha256=S8ADcO4aTW07ONhLHXDxiuSkDzucgYKOlocB2x3r_dY,15
54
- dagster_shared-1.11.14.dist-info/RECORD,,
50
+ dagster_shared-1.11.16.dist-info/licenses/LICENSE,sha256=hgU51ohULAFKZE2la8sartPYoUaAA14jxFAfFC4Tow0,11347
51
+ dagster_shared-1.11.16.dist-info/METADATA,sha256=4r8jqDY8qFRxwFSjc4BunP7M395d9Rcn0Ahqo9XzBCM,1204
52
+ dagster_shared-1.11.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
+ dagster_shared-1.11.16.dist-info/top_level.txt,sha256=S8ADcO4aTW07ONhLHXDxiuSkDzucgYKOlocB2x3r_dY,15
54
+ dagster_shared-1.11.16.dist-info/RECORD,,