iris-pex-embedded-python 4.0.1b5__py3-none-any.whl → 4.0.1b6__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.
@@ -66,6 +66,13 @@ class ComponentRef:
66
66
  return self.target_setting(name)
67
67
  raise AttributeError(name)
68
68
 
69
+ def __dir__(self) -> list[str]:
70
+ names = set(super().__dir__())
71
+ if self.component_class is not None:
72
+ names.update(_target_setting_names(self.component_class))
73
+ names.update(self.target_setting_names)
74
+ return sorted(names)
75
+
69
76
  def target_setting(self, name: str) -> TargetSettingRef:
70
77
  self.target_setting_names.add(name)
71
78
  return TargetSettingRef(
@@ -232,3 +239,12 @@ class ComponentRef:
232
239
  item["Setting"] = settings
233
240
 
234
241
  return item
242
+
243
+
244
+ def _target_setting_names(component_class: type) -> tuple[str, ...]:
245
+ names: dict[str, None] = {}
246
+ for base in reversed(component_class.__mro__):
247
+ for name, value in base.__dict__.items():
248
+ if isinstance(value, TargetSetting):
249
+ names[name] = None
250
+ return tuple(names)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iris_pex_embedded_python
3
- Version: 4.0.1b5
3
+ Version: 4.0.1b6
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License
@@ -65,7 +65,7 @@ iop/migration/utils.py,sha256=pOojLPMZes05KXrGN2ap45ffppP5Z4tS4bjJ0gSD5Oc,38183
65
65
  iop/production/__init__.py,sha256=95VmJgC3lWtHpUJijLqyKKxFZa65OcRni8803kb4aHE,2148
66
66
  iop/production/actions.py,sha256=TLVAjPTPq21oLj9c-IG10qMNJ2hvPzueviMy_c1a0ZU,17199
67
67
  iop/production/common.py,sha256=IoUg9jkFzSQwDsHcXvkVAC4qxpWKs3kTfXFm_EP07EU,3091
68
- iop/production/component.py,sha256=tyPqo_AvmaXowUwFj6ycqS1n22IYB1NfC3aaF4T0ves,7862
68
+ iop/production/component.py,sha256=3a4z9rtr5DjFVejbY_7gYUCOIfWucrfDbWU19d8a738,8442
69
69
  iop/production/declarations.py,sha256=Tb79Q6rwmFMi6xKpzajJa4Aa2_Tk3sD-e8qiuRJX77s,5821
70
70
  iop/production/declarative.py,sha256=IpHYO46mu7k9wnq3DpFreoALPoX1Vi8DrJb-85O_-bQ,7853
71
71
  iop/production/diff.py,sha256=NYpcSVklaGpaZOyl933W8eLsDWcwjlf6Upbp4pVGSMU,9975
@@ -91,9 +91,9 @@ iop/runtime/remote/director.py,sha256=bkie751GrYLgGs7ApRCowHpSnJA8KupxCOrFDQmjyO
91
91
  iop/runtime/remote/migration.py,sha256=Iboz-Ye7i9xif9bn433GazCF-gtD-HJW3wiUwWS5P6w,1831
92
92
  iop/runtime/remote/settings.py,sha256=P1Hsgld5o57HpSZgPVZzobyjlUmxJj6bstiWvR0JXnc,2144
93
93
  iop/runtime/remote/setup.py,sha256=Tr80F3JJTy7oSUso2jyx0iA_KZayd4MYt9vL0BvPpMA,2600
94
- iris_pex_embedded_python-4.0.1b5.dist-info/licenses/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
95
- iris_pex_embedded_python-4.0.1b5.dist-info/METADATA,sha256=Ulc1Gj783FmOQWvAUmWTZNMKyOSA8hx6lOF1anaHJg0,5846
96
- iris_pex_embedded_python-4.0.1b5.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
97
- iris_pex_embedded_python-4.0.1b5.dist-info/entry_points.txt,sha256=fzS8ZFsPe8cnpEx208X60DNugCPQmuSloPeg4pyyJDY,42
98
- iris_pex_embedded_python-4.0.1b5.dist-info/top_level.txt,sha256=BM54-OXQ6l2BDtmesWNXckh033s9gcjoO7bfjbwZbxU,4
99
- iris_pex_embedded_python-4.0.1b5.dist-info/RECORD,,
94
+ iris_pex_embedded_python-4.0.1b6.dist-info/licenses/LICENSE,sha256=rZSiBFId_sfbJ6RL0GjjPX-InNLkNS9ou7eQsikciI8,1089
95
+ iris_pex_embedded_python-4.0.1b6.dist-info/METADATA,sha256=BGtIyGv7zT0llTUrwEHAHc27J-sruyQcOxnWrw812aI,5846
96
+ iris_pex_embedded_python-4.0.1b6.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
97
+ iris_pex_embedded_python-4.0.1b6.dist-info/entry_points.txt,sha256=fzS8ZFsPe8cnpEx208X60DNugCPQmuSloPeg4pyyJDY,42
98
+ iris_pex_embedded_python-4.0.1b6.dist-info/top_level.txt,sha256=BM54-OXQ6l2BDtmesWNXckh033s9gcjoO7bfjbwZbxU,4
99
+ iris_pex_embedded_python-4.0.1b6.dist-info/RECORD,,