omlish 0.0.0.dev323__py3-none-any.whl → 0.0.0.dev324__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.dev323'
2
- __revision__ = '842a08d70afac9c2c57e651acd202cd31a1ef576'
1
+ __version__ = '0.0.0.dev324'
2
+ __revision__ = 'f4f05345419ff5a1267aac207d5269c82156e71a'
3
3
 
4
4
 
5
5
  #
@@ -186,4 +186,4 @@ def cache(
186
186
  def inner(fn):
187
187
  return _CacheDescriptor(fn, scope, typed, **kwargs) # type: ignore
188
188
 
189
- return ta.cast(CC, inner)
189
+ return inner
omlish/formats/xml.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  TODO:
3
3
  - lxml abstraction
4
- - stuff from ommlx/wiki
4
+ - stuff from ommlds/wiki
5
5
  """
6
6
  import typing as ta
7
7
 
@@ -95,7 +95,7 @@ class GenMachine(ta.Generic[I, O]):
95
95
  gi: I | None = i
96
96
  while True:
97
97
  try:
98
- while (o := self._gen.send(gi)) is not None: # type: ignore[union-attr]
98
+ while (o := self._gen.send(gi)) is not None:
99
99
  gi = None
100
100
  yield from o
101
101
 
omlish/iterators/tools.py CHANGED
@@ -19,7 +19,7 @@ def unzip(it: ta.Iterable[T], width: int | None = None) -> list:
19
19
  if not isinstance(it, PeekIterator):
20
20
  it = PeekIterator(iter(it))
21
21
  try:
22
- width = len(it.peek())
22
+ width = len(it.peek()) # type: ignore[arg-type]
23
23
  except StopIteration:
24
24
  return []
25
25
 
omlish/lang/__init__.py CHANGED
@@ -185,6 +185,7 @@ from .functions import ( # noqa
185
185
  raise_,
186
186
  raising,
187
187
  recurse,
188
+ strict_eq,
188
189
  truthy_kw,
189
190
  try_,
190
191
  void,
@@ -242,7 +242,7 @@ class _CachedFunction(ta.Generic[T], Abstract):
242
242
  def call_value_fn():
243
243
  try:
244
244
  return self._value_fn(*args, **kwargs)
245
- except ce as ex: # type: ignore[misc]
245
+ except ce as ex:
246
246
  return _CachedException(ex)
247
247
 
248
248
  if self._lock is not None:
@@ -76,7 +76,7 @@ class ContextManager(abc.ABC, ta.Generic[T]):
76
76
 
77
77
  def __enter__(self) -> T:
78
78
  self._contextmanager = self.__contextmanager__()
79
- return self._contextmanager.__enter__() # type: ignore
79
+ return self._contextmanager.__enter__()
80
80
 
81
81
  def __exit__(
82
82
  self,
@@ -105,7 +105,7 @@ class AsyncContextManager(abc.ABC, ta.Generic[T]):
105
105
 
106
106
  async def __aenter__(self) -> T:
107
107
  self._asynccontextmanager = self.__asynccontextmanager__()
108
- return await self._asynccontextmanager.__aenter__() # type: ignore
108
+ return await self._asynccontextmanager.__aenter__()
109
109
 
110
110
  async def __aexit__(
111
111
  self,
omlish/lang/functions.py CHANGED
@@ -142,6 +142,10 @@ def issubclass_of(class_or_tuple: ta.Any) -> ta.Callable[[ta.Any], bool]:
142
142
  return lambda o: issubclass(o, class_or_tuple)
143
143
 
144
144
 
145
+ def strict_eq(l: ta.Any, r: ta.Any) -> bool:
146
+ return type(l) is type(r) and l == r
147
+
148
+
145
149
  ##
146
150
 
147
151
 
omlish/logs/proxy.py CHANGED
@@ -49,7 +49,7 @@ class ProxyLogHandler(ProxyLogFilterer, logging.Handler):
49
49
  self._underlying.set_name(name)
50
50
 
51
51
  @property
52
- def name(self):
52
+ def name(self): # type: ignore[override]
53
53
  return self._underlying.name
54
54
 
55
55
  @property
@@ -66,7 +66,7 @@ class AsyncsPlugin:
66
66
  warnings.warn(message, *args, **kwargs)
67
67
 
68
68
  aio_plugin.warnings = lang.proxy_import('warnings') # type: ignore
69
- aio_plugin.warnings.warn = aio_plugin_warn # type: ignore
69
+ aio_plugin.warnings.warn = aio_plugin_warn
70
70
 
71
71
  def pytest_configure(self, config):
72
72
  config.addinivalue_line('markers', f'{ASYNCS_MARK}: marks for all async backends')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev323
3
+ Version: 0.0.0.dev324
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=waRtG1tK0mUhn3ofWu_HrGZyXve5QhABAM2OAKg3_hE,3478
2
+ omlish/__about__.py,sha256=RIJDWJT7aTvq6WVukFxeI8leEd-msgKydBtuT4dvSqc,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
@@ -90,7 +90,7 @@ omlish/collections/ranked.py,sha256=McB8C2UQfUvrbmxGTpBz1-EZuyCLkBFtktzncMdt8_Y,
90
90
  omlish/collections/unmodifiable.py,sha256=X7kKhPFdZF4m28SfLDxZL-riWlhbZffdPv35aTP30YM,4753
91
91
  omlish/collections/utils.py,sha256=1LED_KLXsEb39Byhql7BD5ObHoSkFn2OyUdnHsKXKNo,4091
92
92
  omlish/collections/cache/__init__.py,sha256=D1gO71VcwxFTZP9gAc9isHfg_TEdalwhsJcgGLvS9hg,233
93
- omlish/collections/cache/descriptor.py,sha256=F9aRsF-xOUcNMzTwIWrUpKTjop1Z-oItQqJDwVaR0FU,5026
93
+ omlish/collections/cache/descriptor.py,sha256=5SOsKNxnhisJY22l7tujMOI6MGGr6TERzgsfjvGXOyA,5013
94
94
  omlish/collections/cache/impl.py,sha256=Y18OcAsNL6dIWuk89UlZBpqq0iBU-P4VDio6eis43Us,14760
95
95
  omlish/collections/cache/types.py,sha256=uND_qOk8bVVmdhrOhjx9QHYqs2jq53NThEqQAl3Nepw,690
96
96
  omlish/collections/kv/__init__.py,sha256=qPuE8bmbyOkT_qVGH5owSp0SbC9xI_p_LS0tP7S7QSw,751
@@ -250,7 +250,7 @@ omlish/formats/dotenv.py,sha256=qoDG4Ayu7B-8LjBBhcmNiLZW0_9LgCi3Ri2aPo9DEQ8,1931
250
250
  omlish/formats/pickle.py,sha256=jdp4E9WH9qVPBE3sSqbqDtUo18RbTSIiSpSzJ-IEVZw,529
251
251
  omlish/formats/props.py,sha256=auCv-Jx79KGlWfyG1-Qo0ou-Ex0W_mF3r_lDFdsVkWI,18920
252
252
  omlish/formats/repr.py,sha256=kYrNs4o-ji8nOdp6u_L3aMgBMWN1ZAZJSAWgQQfStSQ,414
253
- omlish/formats/xml.py,sha256=VJfqHR60dhAtjeG8WXFMozFqesTBSGvv264d67eDFXc,3514
253
+ omlish/formats/xml.py,sha256=S_5txvWn8Gv4D8cS0-amxrsmvjBGap3gKMXqEkdtpss,3515
254
254
  omlish/formats/yaml.py,sha256=jGPQlTE0vSV-p0O7TJRNlf6o1uq4gx8PrHZe1ApJ_o8,7386
255
255
  omlish/formats/edn/__init__.py,sha256=H3q5B-dibXvQV8pmuWizTo6Xk75M7M0M7VPCLt86rpo,195
256
256
  omlish/formats/edn/codec.py,sha256=k6-Ra3P3Rlv6JA69-jPLI4nCe5XVes_QJbcsj5DYzMM,454
@@ -299,7 +299,7 @@ omlish/formats/toml/codec.py,sha256=5HFGWEPd9IFxPlRMRheX8FEDlRIzLe1moHEOj2_PFKU,
299
299
  omlish/formats/toml/parser.py,sha256=0laC7Br_Colk8QxgmuU_pPg6fhcAQ2rMB2saSlLm9S0,30637
300
300
  omlish/formats/toml/writer.py,sha256=HIp6XvriXaPTLqyLe-fkIiEf1Pyhsp0TcOg5rFBpO3g,3226
301
301
  omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
302
- omlish/funcs/genmachine.py,sha256=8K5fNvFwxctZcVyulOqPLhZ_6Nwh8RAN6yawiE4wFio,2606
302
+ omlish/funcs/genmachine.py,sha256=D9dChaliNBIjYE6lJP5ctcVQUCffNBhceyaaLvBJ7ns,2578
303
303
  omlish/funcs/match.py,sha256=gMLZn1enNiFvQaWrQubY300M1BrmdKWzeePihBS7Ywc,6153
304
304
  omlish/funcs/pairs.py,sha256=VCkZjDmJGtR76BsejsHNfb4TcpHCtkkmak-zWDFchAo,3904
305
305
  omlish/funcs/pipes.py,sha256=E7Sz8Aj8ke_vCs5AMNwg1I36kRdHVGTnzxVQaDyn43U,2490
@@ -402,19 +402,19 @@ omlish/io/fdio/pollers.py,sha256=yNadAt3W5wd90PFmd3vD77bq5QwoVb2A6SM2JjZpKRs,550
402
402
  omlish/iterators/__init__.py,sha256=yMavf5FofiS1EU4UFuWPXiFZ03W0H-y7MuMxW8FUaEE,358
403
403
  omlish/iterators/iterators.py,sha256=RxW35yQ5ed8vBQ22IqpDXFx-i5JiLQdp7-pkMZXhJJ8,3159
404
404
  omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,472
405
- omlish/iterators/tools.py,sha256=c4hArZEVV8y9_dFfmRwakusv1cWJLT4MkTkGRjnGN5U,2556
405
+ omlish/iterators/tools.py,sha256=tdtWhwkPQq3sg7Brakrcbf8e1cOBg6e0TtwnSMnvEpg,2582
406
406
  omlish/iterators/unique.py,sha256=Nw0pSaNEcHAkve0ugfLPvJcirDOn9ECyC5wIL8JlJKI,1395
407
- omlish/lang/__init__.py,sha256=FvYmM3q0Z2wYOq0m7DWiksMSYgszdxWrSHDHFetpW_0,6135
407
+ omlish/lang/__init__.py,sha256=MiD9k_mfXZKPStgooj-vsiBksFh_OSmgTxZFXmhIQcg,6150
408
408
  omlish/lang/attrs.py,sha256=i7euRF81uNF8QDmUVXSK_BtqLGshaMi4VVdUnMjiMwg,5050
409
409
  omlish/lang/casing.py,sha256=cFUlbDdXLhwnWwcYx4qnM5c4zGX7hIRUfcjiZbxUD28,4636
410
410
  omlish/lang/clsdct.py,sha256=HAGIvBSbCefzRjXriwYSBLO7QHKRv2UsE78jixOb-fA,1828
411
411
  omlish/lang/collections.py,sha256=LVm0Sory60IXyFzYhhO8BZAWy_z_pjiA-meXNlSJP7o,2465
412
412
  omlish/lang/comparison.py,sha256=MOwEG0Yny-jBPHO9kQto9FSRyeNpQW24UABsghkrHxY,1356
413
- omlish/lang/contextmanagers.py,sha256=pN8X4ZCagqU9_xWumi8gZPdMIWlInA-_zQrkl7o5VP0,7258
413
+ omlish/lang/contextmanagers.py,sha256=Cv6lLCKFSBpJO9TGph4wyLlVs_kxKK98KI8pC_rS0FI,7226
414
414
  omlish/lang/datetimes.py,sha256=mrTtA67JYpfQwSlzdPcBtvm6dAyYM_dXNnlxFwFQH0M,228
415
415
  omlish/lang/descriptors.py,sha256=zBtgO9LjdSTGHNUgiIqswh78WOVoGH6KzS0NbgB1Wls,6572
416
416
  omlish/lang/enums.py,sha256=F9tflHfaAoV2MpyuhZzpfX9-H55M3zNa9hCszsngEo8,111
417
- omlish/lang/functions.py,sha256=75JhKRNhe2iDeqN7yCdLTw_q5k1VFpdphypqb4yy2I0,6298
417
+ omlish/lang/functions.py,sha256=qNqzWF6vI6PGTzKhgkhnNXP8e1gSerb8GsHG3_wVBP8,6386
418
418
  omlish/lang/generators.py,sha256=a4D5HU_mySs2T2z3xCmE_s3t4QJkj0YRrK4-hhpGd0A,5197
419
419
  omlish/lang/imports.py,sha256=y9W9Y-d_cQ35QCLuSIPoa6vnEqSErFCz8b-34IH128U,10552
420
420
  omlish/lang/iterables.py,sha256=StoGp9yaP3njdLKHoWYcEevO3eE8SHEPYl5_avZob24,2149
@@ -429,7 +429,7 @@ omlish/lang/strings.py,sha256=kJmRFd1D36xXcjd9MdB12BCwF_-MVhNr-TpWj7hMi_4,4252
429
429
  omlish/lang/sys.py,sha256=b4qOPiJZQru_mbb04FNfOjYWUxlV2becZOoc-yya_rQ,411
430
430
  omlish/lang/typing.py,sha256=Zdad9Zv0sa-hIaUXPrzPidT7sDVpRcussAI7D-j-I1c,3296
431
431
  omlish/lang/cached/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
432
- omlish/lang/cached/function.py,sha256=tch6VlDljfUUFMP61RY0LYXYyNwj1Sy8CAQQQMHCypA,11344
432
+ omlish/lang/cached/function.py,sha256=-LSaxkpRdNZw_cuQdKspuPh1tVJrHm4qecNEGzRKnTQ,11322
433
433
  omlish/lang/cached/property.py,sha256=WHYyg4-6EA86TcNMfbXTjVhjEZPc0kngt9hfY3WN5w8,2768
434
434
  omlish/lang/classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
435
435
  omlish/lang/classes/abstract.py,sha256=A-Jg5X8o_WvFryN0Cm2TpVkrZoTT1SYKQnv_pXjZk7o,3808
@@ -479,7 +479,7 @@ omlish/logs/handlers.py,sha256=wymFmRO8fcBePyfir9U4FIHzWuyW0D_HwEQAiIQLwAk,324
479
479
  omlish/logs/json.py,sha256=muekHkKmGIqq_wr-tV94WwXjNFtUBbFeRdni-JhrCkA,1371
480
480
  omlish/logs/noisy.py,sha256=hWpbseerZqlHdEPEajDTSmcRhx8LmmNAxz_7GBZAO9s,353
481
481
  omlish/logs/protocol.py,sha256=dfAR0_5kLEAkx0nhuWBhWMTVjWjhEl2uL-MxejrW1lk,4732
482
- omlish/logs/proxy.py,sha256=hypbn_x-lGJChP6iHPN3ZkyEA9rw1tbAnGd4aAuc0fk,2352
482
+ omlish/logs/proxy.py,sha256=9FmqWQuX3pXezWkCeN17H805CicKN6-QqMKGptk45PI,2378
483
483
  omlish/logs/standard.py,sha256=FbKdF2Z4Na5i2TNwKn0avLJXyICe2JKsPufjvKCHGn0,3162
484
484
  omlish/logs/timing.py,sha256=XrFUHIPT4EHDujLKbGs9fGFMmoM3NEP8xPRaESJr7bQ,1513
485
485
  omlish/logs/utils.py,sha256=OkFWf1exmWImmT7BaSiIC7c0Fk9tAis-PRqo8H4ny3c,398
@@ -758,7 +758,7 @@ omlish/testing/pytest/plugins/utils.py,sha256=L5C622UXcA_AUKDcvyh5IMiRfqSGGz0Mcd
758
758
  omlish/testing/pytest/plugins/asyncs/__init__.py,sha256=TTNhFmP_krug1973sq_bpWBTIvg68-1nbuVLSs92Z6k,41
759
759
  omlish/testing/pytest/plugins/asyncs/consts.py,sha256=0NOCkzV43dOu3u97BqYMQ4mPG8JuFncpWibkOZpCqX4,55
760
760
  omlish/testing/pytest/plugins/asyncs/fixtures.py,sha256=O0gT4jVH-4t1WYpY2j51QgsbdK8LKt4R9hOxnf74eTg,11264
761
- omlish/testing/pytest/plugins/asyncs/plugin.py,sha256=-gVLHZb78nEfMOnmWKY0gdT3BOHjY3bp-GnBGshOvPo,6021
761
+ omlish/testing/pytest/plugins/asyncs/plugin.py,sha256=Z7uKL-leu3aM10hX98_bKwWEvRYE2dAPLY2RbcHq-WQ,6005
762
762
  omlish/testing/pytest/plugins/asyncs/utils.py,sha256=K-nQxSJQL-3N_xtLqfCX11KSLYCG_gPQ6hZqLQZIHNQ,294
763
763
  omlish/testing/pytest/plugins/asyncs/backends/__init__.py,sha256=DpJGt5KA2N2pNXy59raVyJH1969M1AP80pJAqIlNEAs,359
764
764
  omlish/testing/pytest/plugins/asyncs/backends/asyncio.py,sha256=0b8pmbXNW2qI8qo1ARxpONdqw8DWf0v5J2-9mkM9hrc,820
@@ -857,9 +857,9 @@ omlish/typedvalues/holder.py,sha256=ZTnHiw-K38ciOBLEdwgrltr7Xp8jjEs_0Lp69DH-G-o,
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.dev323.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
861
- omlish-0.0.0.dev323.dist-info/METADATA,sha256=oZ0YuFkbcP8WOFL-3gcPwZj-reqUfq5mLn8EIveBtJs,4416
862
- omlish-0.0.0.dev323.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
863
- omlish-0.0.0.dev323.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
864
- omlish-0.0.0.dev323.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
865
- omlish-0.0.0.dev323.dist-info/RECORD,,
860
+ omlish-0.0.0.dev324.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
861
+ omlish-0.0.0.dev324.dist-info/METADATA,sha256=cvoRr807Bf7z8c0DJfoo46V0v17yj6akOnN34Pr6mZk,4416
862
+ omlish-0.0.0.dev324.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
863
+ omlish-0.0.0.dev324.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
864
+ omlish-0.0.0.dev324.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
865
+ omlish-0.0.0.dev324.dist-info/RECORD,,