omlish 0.0.0.dev411__py3-none-any.whl → 0.0.0.dev412__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.dev411'
2
- __revision__ = 'ab397888a161157384b42de969a8c743c5a2c4b6'
1
+ __version__ = '0.0.0.dev412'
2
+ __revision__ = '28eaa6c829fe5127525ef9dd2962aee8626426b1'
3
3
 
4
4
 
5
5
  #
omlish/lang/__init__.py CHANGED
@@ -285,6 +285,9 @@ from .maysyncs import ( # noqa
285
285
 
286
286
  make_maysync,
287
287
  make_maysync_from_sync,
288
+
289
+ maysync_fn,
290
+ maysync_generator_fn,
288
291
  maysync,
289
292
  )
290
293
 
omlish/lite/maysyncs.py CHANGED
@@ -162,10 +162,6 @@ class _MaysyncThreadLocal(threading.local):
162
162
  class _MaysyncContext(abc.ABC):
163
163
  mode: ta.ClassVar[ta.Literal['s', 'a']]
164
164
 
165
- @classmethod
166
- def current(cls) -> ta.Optional['_MaysyncContext']:
167
- return _MaysyncThreadLocal.context
168
-
169
165
  @abc.abstractmethod
170
166
  def run(self, fn: ta.Callable[..., T], *args: ta.Any, **kwargs: ta.Any) -> T:
171
167
  raise NotImplementedError
@@ -226,9 +222,7 @@ class _MaywaitableLike(
226
222
  args: ta.Tuple[ta.Any, ...],
227
223
  kwargs: ta.Mapping[str, ta.Any],
228
224
  ) -> None:
229
- self._x = x
230
- self._args = args
231
- self._kwargs = kwargs
225
+ self._x, self._args, self._kwargs = x, args, kwargs
232
226
 
233
227
  def __repr__(self) -> str:
234
228
  return f'{self.__class__.__name__}@{id(self):x}({self._x!r})'
@@ -305,8 +299,8 @@ class _FpMaywaitable(
305
299
  return self._x._s(*self._args, **self._kwargs) # noqa
306
300
 
307
301
  def a(self) -> ta.Awaitable[T]:
308
- if _MaysyncContext.current() is not None:
309
- return _MaysyncFuture(functools.partial(self._x, *self._args, **self._kwargs)) # noqa
302
+ if _MaysyncThreadLocal.context is not None:
303
+ return _MaysyncFuture(self)
310
304
 
311
305
  return self._x._a(*self._args, **self._kwargs) # noqa
312
306
 
@@ -338,7 +332,7 @@ class _FpMaysyncGenerator(
338
332
  return self._x._s(*self._args, **self._kwargs) # noqa
339
333
 
340
334
  def a(self) -> ta.AsyncGenerator[O, I]:
341
- if (ctx := _MaysyncContext.current()) is not None and ctx.mode == 's':
335
+ if (ctx := _MaysyncThreadLocal.context) is not None and ctx.mode == 's':
342
336
  async def inner():
343
337
  g = self._x._s(*self._args, **self._kwargs) # noqa
344
338
 
@@ -504,7 +498,7 @@ class _MgMaywaitable(
504
498
  return drv.value
505
499
 
506
500
  def a(self) -> ta.Awaitable[T]:
507
- if (ctx := _MaysyncContext.current()) is None or ctx.mode == 'a':
501
+ if (ctx := _MaysyncThreadLocal.context) is None or ctx.mode == 'a':
508
502
  return self._x._mg(*self._args, **self._kwargs) # noqa
509
503
 
510
504
  async def inner():
@@ -614,7 +608,7 @@ class _MgMaysyncGenerator(
614
608
  del x
615
609
 
616
610
  def a(self) -> ta.AsyncGenerator[O, I]:
617
- if _MaysyncContext.current() is not None:
611
+ if _MaysyncThreadLocal.context is not None:
618
612
  return self._x._mg(*self._args, **self._kwargs) # noqa
619
613
 
620
614
  async def inner():
@@ -703,7 +697,7 @@ class _MaysyncFutureNotAwaitedError(RuntimeError):
703
697
  class _MaysyncFuture(ta.Generic[T]):
704
698
  def __init__(
705
699
  self,
706
- x: ta.Callable[[], Maywaitable[T]],
700
+ x: Maywaitable[T],
707
701
  ) -> None:
708
702
  self._x = x
709
703
 
@@ -729,7 +723,7 @@ class _MaysyncFuture(ta.Generic[T]):
729
723
  return
730
724
 
731
725
  try:
732
- self.result = self._x().s()
726
+ self.result = self._x.s()
733
727
  except BaseException as ex: # noqa
734
728
  self.error = ex
735
729
  self.done = True
@@ -739,7 +733,7 @@ class _MaysyncFuture(ta.Generic[T]):
739
733
  return
740
734
 
741
735
  try:
742
- self.result = await self._x().a()
736
+ self.result = await self._x.a()
743
737
  except BaseException as ex: # noqa
744
738
  self.error = ex
745
739
  self.done = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev411
3
+ Version: 0.0.0.dev412
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
2
- omlish/__about__.py,sha256=qRafTkrQl5EPJTSgaE1ncsq5b84uBIoagA3OZKLm0p4,3601
2
+ omlish/__about__.py,sha256=3v5VyjqPS3L-ET8qtR0hcOs83kKWIvjEPRXXmdB7Ih8,3601
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
@@ -425,7 +425,7 @@ omlish/iterators/iterators.py,sha256=RxW35yQ5ed8vBQ22IqpDXFx-i5JiLQdp7-pkMZXhJJ8
425
425
  omlish/iterators/recipes.py,sha256=wOwOZg-zWG9Zc3wcAxJFSe2rtavVBYwZOfG09qYEx_4,472
426
426
  omlish/iterators/tools.py,sha256=M16LXrJhMdsz5ea2qH0vws30ZvhQuQSCVFSLpRf_gTg,2096
427
427
  omlish/iterators/unique.py,sha256=BSE-eanva8byFCJi09Nt2zzTsVr8LnTqY1PIInGYRs0,1396
428
- omlish/lang/__init__.py,sha256=AiFCnMJZo2lXrEOqgU29UAjk8Ovnuc_lwMYuLy6Y748,7393
428
+ omlish/lang/__init__.py,sha256=H5-XUAfz_qPmo170bskFxQmwNcsGhaQZdfyl1t5YR2U,7436
429
429
  omlish/lang/asyncs.py,sha256=HQrf8oaaZnUYbFwIiVLYvsEshJarMvRNHZ3VN-RyqLY,1789
430
430
  omlish/lang/attrs.py,sha256=zFiVuGVOq88x45464T_LxDa-ZEq_RD9zJLq2zeVEBDc,5105
431
431
  omlish/lang/casing.py,sha256=cFUlbDdXLhwnWwcYx4qnM5c4zGX7hIRUfcjiZbxUD28,4636
@@ -490,7 +490,7 @@ omlish/lite/json.py,sha256=m0Ce9eqUZG23-H7-oOp8n1sf4fzno5vtK4AK_4Vc-Mg,706
490
490
  omlish/lite/logs.py,sha256=CWFG0NKGhqNeEgryF5atN2gkPYbUdTINEw_s1phbINM,51
491
491
  omlish/lite/marshal.py,sha256=K_wnZwfC8cftGILyE3RlmzQEYuZOfzkMLKey41zuwtM,20296
492
492
  omlish/lite/maybes.py,sha256=0p_fzb6yiOjEpvMKaQ53Q6CH1VPW1or7v7Lt1JIKcgM,4359
493
- omlish/lite/maysyncs.py,sha256=QqXV0thRHwevPFlkyELv4tHmXBM9cJ6uMjx0pZ0LbHc,20046
493
+ omlish/lite/maysyncs.py,sha256=x49PFphBuaFYmBjrSf9xgCzim6U3u3gANfPaTRbrh5I,19841
494
494
  omlish/lite/pycharm.py,sha256=FRHGcCDo42UzZXqNwW_DkhI-6kb_CmJKPiQ8F6mYkLA,1174
495
495
  omlish/lite/reflect.py,sha256=gI-Qlws9V-jND7kvCQFaIhBFrndVpDsikTQ7C6U2z3w,2434
496
496
  omlish/lite/reprs.py,sha256=2Bc7ukhKvYNTKmxPIuv9glZIph13C37y_W4fg9pBnu8,2006
@@ -909,9 +909,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
909
909
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
910
910
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
911
911
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
912
- omlish-0.0.0.dev411.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
913
- omlish-0.0.0.dev411.dist-info/METADATA,sha256=3MPeR2SuWXjWtGnh7xZs-LvdohVQarQEXwYO7Oh01ao,18881
914
- omlish-0.0.0.dev411.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
915
- omlish-0.0.0.dev411.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
916
- omlish-0.0.0.dev411.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
917
- omlish-0.0.0.dev411.dist-info/RECORD,,
912
+ omlish-0.0.0.dev412.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
913
+ omlish-0.0.0.dev412.dist-info/METADATA,sha256=XKkH8EZhmV_YWRXB_GKYSwfyY2p4YORV9lhx9UxhyQU,18881
914
+ omlish-0.0.0.dev412.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
915
+ omlish-0.0.0.dev412.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
916
+ omlish-0.0.0.dev412.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
917
+ omlish-0.0.0.dev412.dist-info/RECORD,,