omlish 0.0.0.dev463__py3-none-any.whl → 0.0.0.dev465__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.

Potentially problematic release.


This version of omlish might be problematic. Click here for more details.

omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev463'
2
- __revision__ = '3ce0d0667b2ff4d64b7757f449fef0c480e8790f'
1
+ __version__ = '0.0.0.dev465'
2
+ __revision__ = 'ecbfb7b1db1986db5fd6c298c58ae1a8b1d1e7d3'
3
3
 
4
4
 
5
5
  #
@@ -185,7 +185,7 @@ class SetuptoolsBase:
185
185
 
186
186
 
187
187
  class Setuptools(SetuptoolsBase):
188
- cexts = True
188
+ cext = True
189
189
 
190
190
  find_packages = {
191
191
  'include': [Project.name, f'{Project.name}.*'],
@@ -41,6 +41,7 @@ def LRU(cache: 'Cache') -> None: # noqa
41
41
  cache._kill(cache._root.lru_next) # type: ignore # noqa
42
42
 
43
43
 
44
+ # aka FIFO
44
45
  def LRI(cache: 'Cache') -> None: # noqa
45
46
  cache._kill(cache._root.ins_next) # type: ignore # noqa
46
47
 
omlish/inject/__init__.py CHANGED
@@ -31,11 +31,13 @@ with _lang.auto_proxy_init(globals()):
31
31
  bind_map_entry_const,
32
32
  bind_set_entry_const,
33
33
 
34
- ItemsBinderHelper as items_binder_helper, # noqa
34
+ ItemsBinderHelper,
35
+ items_binder_helper,
35
36
  )
36
37
 
37
38
  from .helpers.wrappers import ( # noqa
38
- WrapperBinderHelper as wrapper_binder_helper, # noqa
39
+ WrapperBinderHelper,
40
+ wrapper_binder_helper,
39
41
  )
40
42
 
41
43
  from .binder import ( # noqa
@@ -109,15 +111,19 @@ with _lang.auto_proxy_init(globals()):
109
111
  )
110
112
 
111
113
  from .multis import ( # noqa
112
- MapBinding,
113
- MapProvider,
114
+ is_set_multi_key,
114
115
  SetBinding,
115
116
  SetProvider,
116
- MapBinder,
117
+
118
+ is_map_multi_key,
119
+ MapBinding,
120
+ MapProvider,
121
+
117
122
  SetBinder,
123
+ set_binder,
118
124
 
119
- MapBinder as map_binder, # noqa
120
- SetBinder as set_binder, # noqa
125
+ MapBinder,
126
+ map_binder,
121
127
  )
122
128
 
123
129
 
@@ -134,10 +140,10 @@ with _lang.auto_proxy_init(globals()):
134
140
 
135
141
  from .privates import ( # noqa
136
142
  Expose,
143
+ expose,
144
+
137
145
  Private,
138
146
  private,
139
-
140
- Expose as expose, # noqa
141
147
  )
142
148
 
143
149
  from .providers import ( # noqa
@@ -138,3 +138,6 @@ class ItemsBinderHelper(ta.Generic[ItemT]):
138
138
  **kwargs,
139
139
  ),
140
140
  )
141
+
142
+
143
+ items_binder_helper = ItemsBinderHelper
@@ -49,3 +49,6 @@ class WrapperBinderHelper:
49
49
  )
50
50
  self._top = nxt
51
51
  return out
52
+
53
+
54
+ wrapper_binder_helper = WrapperBinderHelper
@@ -1,5 +1,6 @@
1
1
  import typing as ta
2
2
 
3
+ from ... import check
3
4
  from ... import dataclasses as dc
4
5
  from ... import lang
5
6
  from ..elements import Element
@@ -58,6 +59,7 @@ class MapProviderImpl(ProviderImpl, lang.Final):
58
59
  def make_multi_provider_impl(p: Provider, es_by_ty: ta.MutableMapping[type, list[Element]]) -> ProviderImpl:
59
60
  if isinstance(p, SetProvider):
60
61
  sbs: ta.Iterable[SetBinding] = es_by_ty.pop(SetBinding, ()) # type: ignore
62
+ check.empty(es_by_ty)
61
63
  return SetProviderImpl([
62
64
  LinkProviderImpl(LinkProvider(sb.dst))
63
65
  for sb in sbs
@@ -65,6 +67,7 @@ def make_multi_provider_impl(p: Provider, es_by_ty: ta.MutableMapping[type, list
65
67
 
66
68
  elif isinstance(p, MapProvider):
67
69
  mbs: ta.Iterable[MapBinding] = es_by_ty.pop(MapBinding, ()) # type: ignore
70
+ check.empty(es_by_ty)
68
71
  return MapProviderImpl([
69
72
  MapProviderImpl.Entry(
70
73
  mb.map_key,
omlish/inject/multis.py CHANGED
@@ -1,5 +1,7 @@
1
1
  """
2
2
  TODO:
3
+ - DynamicSetBinding / DynamicMapBinding ? provider of set[T] / map[K, V] ?
4
+ - doable not guicey - too much dynamism
3
5
  - scopes
4
6
  """
5
7
  import collections.abc
@@ -94,6 +96,9 @@ class SetBinder(ElementGenerator, ta.Generic[T]):
94
96
  yield from self._sbs
95
97
 
96
98
 
99
+ set_binder = SetBinder
100
+
101
+
97
102
  #
98
103
 
99
104
 
@@ -123,3 +128,6 @@ class MapBinder(ElementGenerator, ta.Generic[K, V]):
123
128
  def __iter__(self) -> ta.Iterator[Element]:
124
129
  yield self._map_provider_binding
125
130
  yield from self._mbs
131
+
132
+
133
+ map_binder = MapBinder
omlish/inject/privates.py CHANGED
@@ -18,6 +18,12 @@ class Expose(Element, lang.Final):
18
18
  key: Key = dc.xfield(coerce=as_key)
19
19
 
20
20
 
21
+ expose = Expose
22
+
23
+
24
+ #
25
+
26
+
21
27
  @dc.dataclass(frozen=True)
22
28
  @dc.extra_class_params(cache_hash=True)
23
29
  class Private(Element, lang.Final):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev463
3
+ Version: 0.0.0.dev465
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.omlish-manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
2
- omlish/__about__.py,sha256=QvTjEBGfJoR0pcnoda5VAKaV7YmWvLdvLl-4CWcxpnc,3613
2
+ omlish/__about__.py,sha256=gPAkkIEM-qgFC0GsQrEg5sQdWXDgmG6PEdHARR8DSME,3612
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=ZNIMl1kwg3qdei4DiUrJPQe5M81S1e76N-GuNSwLBAE,8683
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -82,7 +82,7 @@ omlish/collections/unmodifiable.py,sha256=0ZkA_0paWlkgaU6OupFdSV0yFP--7XoI3lqhs3
82
82
  omlish/collections/utils.py,sha256=JYBYoConWxApqJLOjXR6GuQI76G0KQDjg6kkXrTofUw,4063
83
83
  omlish/collections/cache/__init__.py,sha256=D1gO71VcwxFTZP9gAc9isHfg_TEdalwhsJcgGLvS9hg,233
84
84
  omlish/collections/cache/descriptor.py,sha256=5SOsKNxnhisJY22l7tujMOI6MGGr6TERzgsfjvGXOyA,5013
85
- omlish/collections/cache/impl.py,sha256=6rOg7zgEn8I5GPjz1RdImB1TdbHZv6EKdv2QAUcUGug,14783
85
+ omlish/collections/cache/impl.py,sha256=Xw8V-koWqtWn9Q0qROxM33-ziUSebhWZv-fzYzkjDfQ,14794
86
86
  omlish/collections/cache/types.py,sha256=uND_qOk8bVVmdhrOhjx9QHYqs2jq53NThEqQAl3Nepw,690
87
87
  omlish/collections/kv/__init__.py,sha256=qPuE8bmbyOkT_qVGH5owSp0SbC9xI_p_LS0tP7S7QSw,751
88
88
  omlish/collections/kv/base.py,sha256=lbE5kj2rNgee8dQOlD7v5oTAn5BcgE3IYRpA11N31Dw,1077
@@ -340,7 +340,7 @@ omlish/http/coro/server/fdio.py,sha256=wd4ShtoX0Ag2xf9PiiQcZR1XLmqHukb_anp0TipNG
340
340
  omlish/http/coro/server/server.py,sha256=pB-QV70koRtFwmKmyjnriZDJtErhE6dNqTVvF7s4BVg,18433
341
341
  omlish/http/coro/server/simple.py,sha256=j1RZ3niKrgGM2qFnjdYWn_eniZzay5j49Ca4L3u8vO4,3296
342
342
  omlish/http/coro/server/sockets.py,sha256=kFZYbcTGYftvm7zpOhkZGtyX2qYdem-Gk018GVBOzeg,2285
343
- omlish/inject/__init__.py,sha256=boxaEFFzlclhJZDtPRzg-1wEjKZP9fYjNaZR6JHlfuI,3214
343
+ omlish/inject/__init__.py,sha256=oiHZj4WSEyTAeCk6upegNO6EwezhrNf3gvoHXZ3B1jU,3204
344
344
  omlish/inject/binder.py,sha256=ET0BC-tCYVhlQK5-7KKwgRGcFFkzscPgY107TnFu7oQ,4361
345
345
  omlish/inject/bindings.py,sha256=PlvOnUREjvc6F8nOJdzl1k9SAf80icRB4qWFqDop87M,536
346
346
  omlish/inject/eagers.py,sha256=JBY7PcjXt-Rg9scQ1ol9xpcoTLXkXC_Ie9uwTWdzUkA,340
@@ -353,10 +353,10 @@ omlish/inject/listeners.py,sha256=bav7-uzfpajFAmH_snM0PW2oCfMavmhbE6R4-gjOmJ8,62
353
353
  omlish/inject/lite.py,sha256=AFOCj_SznDCPjkiVSKdFXL2hH1q2o4kaDnzkxRWDpsI,2615
354
354
  omlish/inject/managed.py,sha256=jaZiiLqHHhL5aHtryou7M15QgHvZ8rSIHveG7ka9sAw,3087
355
355
  omlish/inject/maysync.py,sha256=I_gV1efDgqi-A-wJVHAmeswzIxAI0WW_U416E7LnSBs,491
356
- omlish/inject/multis.py,sha256=Dn63jE8P5ahSKc1IDBdzzx6ByBCgVOth5t4frG9m4UA,3336
356
+ omlish/inject/multis.py,sha256=NNiHConMRmKVqs-FNrSQWIQtXVgTy2cQR59R1p_55kQ,3504
357
357
  omlish/inject/origins.py,sha256=-qXa18rIIkNwBdTrvASRDjgPYnoY6n6OPC222jJDrXg,551
358
358
  omlish/inject/overrides.py,sha256=3fMHSfX4Xym2NBHP5_vTZTq2Q47SfGhoC5WnTdYOLx0,550
359
- omlish/inject/privates.py,sha256=CyE-hvQ-F_uyCzcwfdiYVtfm9IF1WZvMDOYilFyZmWk,658
359
+ omlish/inject/privates.py,sha256=46ODWz3PQh6GyH2Rqd-Y7Ye1WBGr9RjSbZ4U12zAolY,680
360
360
  omlish/inject/providers.py,sha256=OroBtCBvd0YqfdkLsQLGKmL3cbPngUWFfHqQYo4rYGo,1053
361
361
  omlish/inject/scopes.py,sha256=9atVF24QEn073kvoCw_4yLrkdIEzSAqqI0cSXAg4G1A,2722
362
362
  omlish/inject/sync.py,sha256=ovVoMY7X9hxe1xverBEec4la3j_041HKjNSlarGsfuA,1051
@@ -364,15 +364,15 @@ omlish/inject/types.py,sha256=Z-ZEdgtCpHBNrbxxKaMVvfeD7hYXdL4rC7A9_VGxZ6g,256
364
364
  omlish/inject/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
365
365
  omlish/inject/helpers/constfn.py,sha256=Q7yfaGtxEb3L9izvwWSHh8udvR111qOtUYItw6OiyXo,416
366
366
  omlish/inject/helpers/id.py,sha256=F1RYU03q4evteO6O3NDjwHZtPgd7MUK-qwsQAH1X-P0,435
367
- omlish/inject/helpers/multis.py,sha256=NCLsD9XmjVv70OmJeYshIoMmCCV5mkUeb441U2YohXY,3765
368
- omlish/inject/helpers/wrappers.py,sha256=RVHeoFjIBAhTEU6BWNic5PSTtYFLuMZUDKln6BeLTGs,1273
367
+ omlish/inject/helpers/multis.py,sha256=4V85CdxxuYANAEn44IQbXHDYjPbBQ9jLrEP5XpzV2bI,3807
368
+ omlish/inject/helpers/wrappers.py,sha256=f3mulTNuItvmXnn7E4JHk9UESjsf-ponvlDfIpAHbk4,1319
369
369
  omlish/inject/impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
370
370
  omlish/inject/impl/bindings.py,sha256=xSvUcoDz8NH-aNHPwBPEZsFg73K2WcF_A63npVbGt_k,420
371
371
  omlish/inject/impl/elements.py,sha256=qR06KaAjZMaQgdMBE6_tdrT7cWP1Ft0CFq71bnyp224,6265
372
372
  omlish/inject/impl/injector.py,sha256=tcPyq_747L12G3CT_rA9KU4l_gWlesX0uCDv3GJOZGY,8366
373
373
  omlish/inject/impl/inspect.py,sha256=UcCaQEhQfRINrY9Phz9UYKCuAg7HnZTqBJ2i-6j_O1A,3193
374
374
  omlish/inject/impl/maysync.py,sha256=7GWjrvJStOx85BCvk8IJAmmkoGkChFAAi2h7j2pe6Qs,1207
375
- omlish/inject/impl/multis.py,sha256=fa31UdkBYdAulfYdrkU1klDZicuQRyaBDbG28kaw8SI,2092
375
+ omlish/inject/impl/multis.py,sha256=5aKXnmSocwqu7y6WicvYX1-QGTz9iHubxRq9j0enlgk,2174
376
376
  omlish/inject/impl/origins.py,sha256=dgGdkoMN6I4DZrWjlpZYijeFsrF6Up1WPq_QSAgTtuQ,1676
377
377
  omlish/inject/impl/privates.py,sha256=uxMAl0MOPu-MeLd-q1DySu7J5FcdRVL1B0XgC4dnB6I,2667
378
378
  omlish/inject/impl/providers.py,sha256=qqPUF9qZZ-CGTTc7ZPskjexM2aK8xdY0gLPMshB5VKw,2127
@@ -831,9 +831,9 @@ omlish/typedvalues/marshal.py,sha256=2xqX6JllhtGpmeYkU7C-qzgU__0x-vd6CzYbAsocQlc
831
831
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
832
832
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
833
833
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
834
- omlish-0.0.0.dev463.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
835
- omlish-0.0.0.dev463.dist-info/METADATA,sha256=v1wM59WlvF3Gl-GpHVYnNAGtRVKtswYzvt98awdix7w,19003
836
- omlish-0.0.0.dev463.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
837
- omlish-0.0.0.dev463.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
838
- omlish-0.0.0.dev463.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
839
- omlish-0.0.0.dev463.dist-info/RECORD,,
834
+ omlish-0.0.0.dev465.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
835
+ omlish-0.0.0.dev465.dist-info/METADATA,sha256=LkX07lWsywxu4363WUzQaTLa-02zdzlLmJUqYNe1U1k,19003
836
+ omlish-0.0.0.dev465.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
837
+ omlish-0.0.0.dev465.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
838
+ omlish-0.0.0.dev465.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
839
+ omlish-0.0.0.dev465.dist-info/RECORD,,