omlish 0.0.0.dev328__py3-none-any.whl → 0.0.0.dev329__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.
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev328'
2
- __revision__ = '80b9ed17dd2aefd7dd86d4aa2f14fac4281cf8d6'
1
+ __version__ = '0.0.0.dev329'
2
+ __revision__ = '7e2175a0f120aff13b483ddfb737fe5676cd9721'
3
3
 
4
4
 
5
5
  #
omlish/reflect/subst.py CHANGED
@@ -43,13 +43,14 @@ def replace_type_vars(
43
43
  args = tuple(rec(a) for a in cur.args)
44
44
  if update_aliases:
45
45
  obj = cur.obj
46
- if (ops := get_params(obj)):
47
- nargs = [to_annotation(rpl[p]) for p in ops]
48
- if ta.get_origin(obj) is ta.Generic:
49
- # FIXME: None? filter_typing_generic in get_generic_bases?
50
- pass
51
- else:
52
- obj = cur.obj[*nargs]
46
+ if (og := ta.get_origin(obj)) is ta.Generic:
47
+ # FIXME: None? filter_typing_generic in get_generic_bases?
48
+ pass
49
+ elif (ops := get_params(og)):
50
+ if len(ops) != len(args):
51
+ raise RuntimeError
52
+ nargs = [to_annotation(a) for a in args]
53
+ obj = og[*nargs]
53
54
  else:
54
55
  obj = None
55
56
  return dc.replace(cur, args=args, obj=obj)
@@ -89,6 +90,7 @@ class GenericSubstitution:
89
90
  if isinstance(bty, Generic) and isinstance(b, type):
90
91
  # FIXME: throws away relative types, but can't use original vars as they're class-contextual
91
92
  bty = type_(b[*((ta.Any,) * len(bty.params))]) # type: ignore
93
+ # rpl2 = {p: rpl[a] for p, a in zip(bty.params, bty.args)}
92
94
  rty = replace_type_vars(bty, rpl, update_aliases=self._update_aliases)
93
95
  ret.append(rty)
94
96
  return tuple(ret)
@@ -14,7 +14,7 @@ from .values import UniqueTypedValue # noqa
14
14
 
15
15
  T = ta.TypeVar('T')
16
16
 
17
- TypedValueT = ta.TypeVar('TypedValueT', bound='TypedValue')
17
+ TypedValueT0 = ta.TypeVar('TypedValueT0', bound='TypedValue')
18
18
  TypedValueU = ta.TypeVar('TypedValueU', bound='TypedValue')
19
19
 
20
20
  UniqueTypedValueU = ta.TypeVar('UniqueTypedValueU', bound='UniqueTypedValue')
@@ -27,7 +27,7 @@ class _NOT_SET(lang.Marker): # noqa
27
27
  pass
28
28
 
29
29
 
30
- class TypedValuesAccessor(lang.Abstract, ta.Generic[TypedValueT]):
30
+ class TypedValuesAccessor(lang.Abstract, ta.Sequence[TypedValueT0]):
31
31
  def __iter__(self):
32
32
  raise TypeError(
33
33
  'TypedValuesAccessor does not implement __iter__ - it is reserved for implementation by subclasses.',
@@ -36,7 +36,7 @@ class TypedValuesAccessor(lang.Abstract, ta.Generic[TypedValueT]):
36
36
  #
37
37
 
38
38
  @ta.final
39
- def __contains__(self, cls: type[TypedValueU]) -> bool:
39
+ def __contains__(self, cls: type[TypedValueU]) -> bool: # type: ignore[override]
40
40
  return self._typed_value_contains(cls)
41
41
 
42
42
  @abc.abstractmethod
@@ -45,8 +45,8 @@ class TypedValuesAccessor(lang.Abstract, ta.Generic[TypedValueT]):
45
45
 
46
46
  #
47
47
 
48
- @ta.overload
49
- def __getitem__(self, idx: int) -> TypedValueT:
48
+ @ta.overload # type: ignore[override]
49
+ def __getitem__(self, idx: int) -> TypedValueT0:
50
50
  ...
51
51
 
52
52
  @ta.overload
@@ -8,20 +8,20 @@ from .generic import TypedValueGeneric
8
8
  from .values import TypedValue
9
9
 
10
10
 
11
- TypedValueT = ta.TypeVar('TypedValueT', bound=TypedValue)
11
+ TypedValueT1 = ta.TypeVar('TypedValueT1', bound=TypedValue)
12
12
 
13
13
 
14
14
  ##
15
15
 
16
16
 
17
17
  class TypedValueHolder(
18
- TypedValuesAccessor[TypedValueT],
19
- TypedValueGeneric[TypedValueT],
18
+ TypedValuesAccessor[TypedValueT1],
19
+ TypedValueGeneric[TypedValueT1],
20
20
  lang.Abstract,
21
21
  ):
22
22
  @property
23
23
  @abc.abstractmethod
24
- def _typed_values(self) -> TypedValues[TypedValueT] | None:
24
+ def _typed_values(self) -> TypedValues[TypedValueT1] | None:
25
25
  raise NotImplementedError
26
26
 
27
27
  #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev328
3
+ Version: 0.0.0.dev329
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=orgsRvtpHu8tdhaCvlP9v3P495OJopYYiHKjK68WtWg,8587
2
- omlish/__about__.py,sha256=0MrPN5vIAd-Q-O4VVWJF_WDLWv-jHeJBNJZTsBJ_214,3478
2
+ omlish/__about__.py,sha256=JwUnRBh_MVapCgN8U8iae56nu3Vx67AkLzhPkLM7640,3478
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -566,7 +566,7 @@ omlish/os/pidfiles/pinning.py,sha256=aQgCmvcAqN0lvI70GcSB2TKVX1G4vwbyN_AOHF3-eKE
566
566
  omlish/reflect/__init__.py,sha256=64eHbD6zL6Fhp7FfXb8n9ZHywlODjBN3rm1LMvZ081A,822
567
567
  omlish/reflect/inspect.py,sha256=WCo2YpBYauKw6k758FLlZ_H4Q05rgVPs96fEv9w6zHQ,1538
568
568
  omlish/reflect/ops.py,sha256=RJ6jzrM4ieFsXzWyNXWV43O_WgzEaUvlHSc5N2ezW2A,2044
569
- omlish/reflect/subst.py,sha256=g3q7NmNWsmc67mcchmCE3WFPCMDSBq-FXn4ah-DWL_U,3622
569
+ omlish/reflect/subst.py,sha256=CeOxa2v9pMqPlL039C348CBl1iDKWir1xykFC3xFfO8,3744
570
570
  omlish/reflect/types.py,sha256=Cn9FYGoiCNt0FS0YLiTTAR12WKcesWMapCrVYcb8IDo,9225
571
571
  omlish/secrets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
572
572
  omlish/secrets/all.py,sha256=gv_d9SfyMxso30HsrSz9XmIrSZOdl3rLA5MSH0ZXfgM,486
@@ -849,17 +849,17 @@ omlish/text/antlr/_runtime/xpath/__init__.py,sha256=lMd_BbXYdlDhZQN_q0TKN978XW5G
849
849
  omlish/text/go/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
850
850
  omlish/text/go/quoting.py,sha256=N9EYdnFdEX_A8fOviH-1w4jwV3XOQ7VU2WsoUNubYVY,9137
851
851
  omlish/typedvalues/__init__.py,sha256=nzpnoRW_wScMPit5Xz37ky3nKBdzzkgtnQA4SfVHN8E,684
852
- omlish/typedvalues/accessor.py,sha256=5q-JbIUjhzmW6Ui55YepHc1FDAlV13Whkz_TVNvtQ9Q,3064
852
+ omlish/typedvalues/accessor.py,sha256=_NEGBmQ84-h_rDfYeoq7DA20fhj3dogQuvzxXKhjx54,3121
853
853
  omlish/typedvalues/collection.py,sha256=a6Je_kmz2FlAV2dI92S7c_paXge0QExMynV-fD9oPrs,5823
854
854
  omlish/typedvalues/consumer.py,sha256=peDQAgriSyBx_Hc8QHAhEgYy0oSS52qQ_7Tqdssl2AE,4375
855
855
  omlish/typedvalues/generic.py,sha256=byWG_gMXhNelckUwdmOoJE9FKkL71Q4BSi4ZLyy0XZ0,788
856
- omlish/typedvalues/holder.py,sha256=ZTnHiw-K38ciOBLEdwgrltr7Xp8jjEs_0Lp69DH-G-o,1128
856
+ omlish/typedvalues/holder.py,sha256=vu-umn-h1nvUqmtV5T9ZfQ_OoOYsERu8PhI2N48Ryns,1133
857
857
  omlish/typedvalues/marshal.py,sha256=hWHRLcrGav7lvXJDtb9bNI0ickl4SKPQ6F4BbTpqw3A,4219
858
858
  omlish/typedvalues/reflect.py,sha256=Ih1YgU-srUjsvBn_P7C66f73_VCvcwqE3ffeBnZBgt4,674
859
859
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
860
- omlish-0.0.0.dev328.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
861
- omlish-0.0.0.dev328.dist-info/METADATA,sha256=j4SbGhFfYtXvAosOCJp8sZ1zRExSDAF3wT4rhu7TCQw,4416
862
- omlish-0.0.0.dev328.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
863
- omlish-0.0.0.dev328.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
864
- omlish-0.0.0.dev328.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
865
- omlish-0.0.0.dev328.dist-info/RECORD,,
860
+ omlish-0.0.0.dev329.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
861
+ omlish-0.0.0.dev329.dist-info/METADATA,sha256=RxxJstMcBeaIHqBd5QKW_CW1ljHT00laXL0A3DnX8b4,4416
862
+ omlish-0.0.0.dev329.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
863
+ omlish-0.0.0.dev329.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
864
+ omlish-0.0.0.dev329.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
865
+ omlish-0.0.0.dev329.dist-info/RECORD,,