omlish 0.0.0.dev300__py3-none-any.whl → 0.0.0.dev302__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 +2 -2
- omlish/asyncs/anyio/streams.py +4 -4
- omlish/asyncs/asyncio/subprocesses.py +1 -1
- omlish/asyncs/bridge.py +16 -5
- omlish/check.py +5 -0
- omlish/formats/toml/parser.py +1 -0
- omlish/io/fdio/handlers.py +3 -0
- omlish/io/fdio/kqueue.py +3 -0
- omlish/io/fdio/manager.py +3 -0
- omlish/io/trampoline.py +2 -2
- omlish/lang/collections.py +16 -3
- omlish/lang/imports.py +2 -0
- omlish/lite/check.py +18 -2
- omlish/subprocesses/editor.py +18 -3
- {omlish-0.0.0.dev300.dist-info → omlish-0.0.0.dev302.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev300.dist-info → omlish-0.0.0.dev302.dist-info}/RECORD +20 -20
- {omlish-0.0.0.dev300.dist-info → omlish-0.0.0.dev302.dist-info}/WHEEL +1 -1
- {omlish-0.0.0.dev300.dist-info → omlish-0.0.0.dev302.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev300.dist-info → omlish-0.0.0.dev302.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev300.dist-info → omlish-0.0.0.dev302.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/asyncs/anyio/streams.py
CHANGED
@@ -54,8 +54,8 @@ def staple_memory_object_stream(
|
|
54
54
|
) -> MemoryStapledObjectStream[T]:
|
55
55
|
send, receive = args
|
56
56
|
return MemoryStapledObjectStream(
|
57
|
-
check.isinstance(send, MemoryObjectSendStream),
|
58
|
-
check.isinstance(receive, MemoryObjectReceiveStream),
|
57
|
+
check.isinstance(send, MemoryObjectSendStream),
|
58
|
+
check.isinstance(receive, MemoryObjectReceiveStream),
|
59
59
|
)
|
60
60
|
|
61
61
|
|
@@ -64,6 +64,6 @@ def staple_memory_object_stream(
|
|
64
64
|
def staple_memory_object_stream2[T](max_buffer_size: float = 0) -> MemoryStapledObjectStream[T]:
|
65
65
|
send, receive = anyio.create_memory_object_stream[T](max_buffer_size)
|
66
66
|
return MemoryStapledObjectStream(
|
67
|
-
check.isinstance(send, MemoryObjectSendStream),
|
68
|
-
check.isinstance(receive, MemoryObjectReceiveStream),
|
67
|
+
check.isinstance(send, MemoryObjectSendStream),
|
68
|
+
check.isinstance(receive, MemoryObjectReceiveStream),
|
69
69
|
)
|
@@ -191,7 +191,7 @@ class AsyncioSubprocesses(AbstractAsyncSubprocesses):
|
|
191
191
|
async with self.popen(*run.cmd, **kwargs) as proc:
|
192
192
|
stdout, stderr = await self.communicate(proc, run.input, run.timeout)
|
193
193
|
|
194
|
-
if check and proc.returncode:
|
194
|
+
if run.check and proc.returncode:
|
195
195
|
raise subprocess.CalledProcessError(
|
196
196
|
proc.returncode,
|
197
197
|
run.cmd,
|
omlish/asyncs/bridge.py
CHANGED
@@ -1,10 +1,21 @@
|
|
1
1
|
"""
|
2
|
-
|
2
|
+
A system for bridging sync and async code. Supports nesting / reentrancy. Robust, but not the most efficient
|
3
|
+
implementation - its primary usecase are heavy and init-time ops like lock management and connection establishment, not
|
4
|
+
so much for packet-level ops.
|
3
5
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
==
|
7
|
+
|
8
|
+
The code is written in a very dumb, simple, explicit style to keep the bookkeeping center-stage and front-of-mind. To
|
9
|
+
quote kubernetes:
|
10
|
+
|
11
|
+
https://github.com/kubernetes/kubernetes/blob/60c4c2b2521fb454ce69dee737e3eb91a25e0535/pkg/controller/volume/persistentvolume/pv_controller.go#L60-L63
|
12
|
+
|
13
|
+
==================================================================
|
14
|
+
PLEASE DO NOT ATTEMPT TO SIMPLIFY THIS CODE.
|
15
|
+
KEEP THE SPACE SHUTTLE FLYING.
|
16
|
+
==================================================================
|
17
|
+
|
18
|
+
==
|
8
19
|
|
9
20
|
TODO:
|
10
21
|
- reuse greenlet if nested somehow?
|
omlish/check.py
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
"""
|
2
|
+
While the core functionality lives in `lite/check.py` and is available in lite code, this module re-exports the contents
|
3
|
+
of its `check` API object as module-globals for convenience. It also sets up some non-lite integration, most notably
|
4
|
+
`ArgsRenderer` for rendering the AST's and values of failed checks (if the necessary optional dependencies are present).
|
5
|
+
"""
|
1
6
|
import typing as ta
|
2
7
|
|
3
8
|
from .lite.check import CheckArgsRenderer as ArgsRenderer # noqa
|
omlish/formats/toml/parser.py
CHANGED
omlish/io/fdio/handlers.py
CHANGED
omlish/io/fdio/kqueue.py
CHANGED
omlish/io/fdio/manager.py
CHANGED
omlish/io/trampoline.py
CHANGED
@@ -24,8 +24,8 @@ T = ta.TypeVar('T')
|
|
24
24
|
|
25
25
|
BytesLike: ta.TypeAlias = ta.Any
|
26
26
|
|
27
|
-
BufferedReader = io.BufferedReader
|
28
|
-
# BufferedReader = pyio.BufferedReader
|
27
|
+
BufferedReader: ta.TypeAlias = io.BufferedReader
|
28
|
+
# BufferedReader: ta.TypeAlias = pyio.BufferedReader
|
29
29
|
|
30
30
|
|
31
31
|
##
|
omlish/lang/collections.py
CHANGED
@@ -12,16 +12,29 @@ V = ta.TypeVar('V')
|
|
12
12
|
def yield_dict_init(*args: ta.Any, **kwargs: ta.Any) -> ta.Iterable[tuple[ta.Any, ta.Any]]:
|
13
13
|
if len(args) > 1:
|
14
14
|
raise TypeError
|
15
|
+
|
15
16
|
if args:
|
16
17
|
[src] = args
|
18
|
+
|
19
|
+
# Prefer .items() as it's potentially faster.
|
17
20
|
if isinstance(src, collections.abc.Mapping):
|
18
|
-
|
21
|
+
# Not yield-from, explicitly enforce 2ple-ness
|
22
|
+
for k, v in src.items():
|
23
|
+
yield (k, v)
|
24
|
+
|
25
|
+
# Support keys() duck-typed dict init behavior:
|
26
|
+
# https://docs.python.org/3/library/stdtypes.html#dict
|
27
|
+
# https://github.com/python/cpython/blob/95d9dea1c4ed1b1de80074b74301cee0b38d5541/Objects/dictobject.c#L2671
|
28
|
+
elif hasattr(src, 'keys'):
|
29
|
+
# https://github.com/python/cpython/blob/95d9dea1c4ed1b1de80074b74301cee0b38d5541/Objects/dictobject.c#L2927
|
30
|
+
for k in src.keys(): # noqa
|
19
31
|
yield (k, src[k])
|
32
|
+
|
20
33
|
else:
|
21
34
|
for k, v in src:
|
22
35
|
yield (k, v)
|
23
|
-
|
24
|
-
|
36
|
+
|
37
|
+
yield from kwargs.items()
|
25
38
|
|
26
39
|
|
27
40
|
def merge_dicts(
|
omlish/lang/imports.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"""
|
2
2
|
TODO:
|
3
3
|
- proxy_init 'as' alias support - attrs of (src, dst)
|
4
|
+
- use importlib.util.resolve_name
|
4
5
|
"""
|
5
6
|
import contextlib
|
6
7
|
import functools
|
@@ -189,6 +190,7 @@ def try_import(spec: str) -> types.ModuleType | None:
|
|
189
190
|
|
190
191
|
|
191
192
|
def resolve_import_name(name: str, package: str | None = None) -> str:
|
193
|
+
# FIXME: importlib.util.resolve_name
|
192
194
|
level = 0
|
193
195
|
|
194
196
|
if name.startswith('.'):
|
omlish/lite/check.py
CHANGED
@@ -143,7 +143,15 @@ class Checks:
|
|
143
143
|
spec = (object,)
|
144
144
|
return spec
|
145
145
|
|
146
|
-
|
146
|
+
@ta.overload
|
147
|
+
def isinstance(self, v: ta.Any, spec: ta.Type[T], msg: CheckMessage = None) -> T:
|
148
|
+
...
|
149
|
+
|
150
|
+
@ta.overload
|
151
|
+
def isinstance(self, v: ta.Any, spec: ta.Any, msg: CheckMessage = None) -> ta.Any:
|
152
|
+
...
|
153
|
+
|
154
|
+
def isinstance(self, v, spec, msg=None):
|
147
155
|
if not isinstance(v, self._unpack_isinstance_spec(spec)):
|
148
156
|
self._raise(
|
149
157
|
TypeError,
|
@@ -155,7 +163,15 @@ class Checks:
|
|
155
163
|
|
156
164
|
return v
|
157
165
|
|
158
|
-
|
166
|
+
@ta.overload
|
167
|
+
def of_isinstance(self, spec: ta.Type[T], msg: CheckMessage = None) -> ta.Callable[[ta.Any], T]:
|
168
|
+
...
|
169
|
+
|
170
|
+
@ta.overload
|
171
|
+
def of_isinstance(self, spec: ta.Any, msg: CheckMessage = None) -> ta.Callable[[ta.Any], ta.Any]:
|
172
|
+
...
|
173
|
+
|
174
|
+
def of_isinstance(self, spec, msg=None):
|
159
175
|
def inner(v):
|
160
176
|
return self.isinstance(v, self._unpack_isinstance_spec(spec), msg)
|
161
177
|
|
omlish/subprocesses/editor.py
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# ruff: noqa: UP006 UP007
|
2
2
|
# @omlish-lite
|
3
|
+
"""
|
4
|
+
TODO:
|
5
|
+
- git var GIT_EDITOR ?
|
6
|
+
"""
|
3
7
|
import dataclasses as dc
|
4
8
|
import os
|
5
9
|
import tempfile
|
@@ -16,6 +20,18 @@ from .run import SubprocessRunOutput
|
|
16
20
|
##
|
17
21
|
|
18
22
|
|
23
|
+
DEFAULT_USER_TEXT_EDITOR = 'vi'
|
24
|
+
|
25
|
+
|
26
|
+
def get_user_text_editor(default: ta.Optional[str] = None) -> str:
|
27
|
+
if default is None:
|
28
|
+
default = DEFAULT_USER_TEXT_EDITOR
|
29
|
+
return os.environ.get('EDITOR', default)
|
30
|
+
|
31
|
+
|
32
|
+
##
|
33
|
+
|
34
|
+
|
19
35
|
class EditTextWithUserEditor(SubprocessRunnable, ExitStacked):
|
20
36
|
def __init__(self, initial_text: str = '') -> None:
|
21
37
|
super().__init__()
|
@@ -46,11 +62,10 @@ class EditTextWithUserEditor(SubprocessRunnable, ExitStacked):
|
|
46
62
|
|
47
63
|
def make_run(self) -> SubprocessRun:
|
48
64
|
tf = self._temp_file()
|
49
|
-
|
50
|
-
editor = os.environ.get('EDITOR', 'vi')
|
65
|
+
ed = get_user_text_editor()
|
51
66
|
|
52
67
|
return SubprocessRun.of(
|
53
|
-
|
68
|
+
ed,
|
54
69
|
tf.path,
|
55
70
|
)
|
56
71
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
omlish/.manifests.json,sha256=pjGUyLHaoWpPqRP3jz2u1fC1qoRc2lvrEcpU_Ax2tdg,8253
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=VEC7wFGaSoAMF2E62PWgQVju9B2RuX6O49UlGrjLBRo,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
|
6
|
-
omlish/check.py,sha256=
|
6
|
+
omlish/check.py,sha256=VcvqYk3lbxUx3zmbln9tCQsyahTXck0Mg4nIPy-DdOc,2383
|
7
7
|
omlish/datetimes.py,sha256=iFqCki3MKmBq_ZX-03cW4KE6AsR_pUJCWML2ifBLtdU,2157
|
8
8
|
omlish/defs.py,sha256=-4UuZoJUUNO_bZ6eSSdhR4CK4NKN2Wwr1FfUvfTF--8,4918
|
9
9
|
omlish/dynamic.py,sha256=zy0oO70_Vlh5dW8Nwav_O9bhIzQ6L16UgSuKR6y43VU,6526
|
@@ -90,7 +90,7 @@ omlish/argparse/all.py,sha256=NeeMM5MIebY7XDAHaCxUzeesEoUYwsf5i9PrBUcO1cI,1057
|
|
90
90
|
omlish/argparse/cli.py,sha256=KftfiN0fBOdybCWoTW4l967r8OrXe_WtjOQWARcHTv0,8746
|
91
91
|
omlish/asyncs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
92
92
|
omlish/asyncs/all.py,sha256=MjW0P9K8XBrw6AaH2X_qD5Y7hEZOF0cktqFv5BDGH-k,649
|
93
|
-
omlish/asyncs/bridge.py,sha256=
|
93
|
+
omlish/asyncs/bridge.py,sha256=QonuN2KgT7sRsmJEgRvLqtubXma9RI2xOs27X5JSQcA,10153
|
94
94
|
omlish/asyncs/buffers.py,sha256=ip9oDRT-XbBDpeAa72osv-TtZXxdF_ggW4lHkGKxCwE,1418
|
95
95
|
omlish/asyncs/flavors.py,sha256=1mNxGNRVmjUHzA13K5ht8vdJv4CLEmzYTQ6BZXr1520,4866
|
96
96
|
omlish/asyncs/sync.py,sha256=qfK8zRMQ0B_huC-6CsMG8vhKB0ktw7Ttq0NnySdWPwQ,2039
|
@@ -101,7 +101,7 @@ omlish/asyncs/anyio/__init__.py,sha256=AkwRD3XFWmEzBeHV-eAzwpA4F04bl7xyyapigrxMR
|
|
101
101
|
omlish/asyncs/anyio/backends.py,sha256=jJIymWoiedaEJJm82gvKiJ41EWLQZ-bcyNHpbDpKKi4,1584
|
102
102
|
omlish/asyncs/anyio/futures.py,sha256=Nm1gLerZEnHk-rlsmr0UfK168IWIK6zA8EebZFtoY_E,2052
|
103
103
|
omlish/asyncs/anyio/signals.py,sha256=ySSut5prdnoy0-5Ws5V1M4cC2ON_vY550vU10d2NHk8,893
|
104
|
-
omlish/asyncs/anyio/streams.py,sha256=
|
104
|
+
omlish/asyncs/anyio/streams.py,sha256=Zum2qd1t3EiH6yzGWFwxFw79m-IH2VY5sTUTiluFfIY,2164
|
105
105
|
omlish/asyncs/anyio/subprocesses.py,sha256=jjMjlcwtIiy-_y-spPn3eTC5dzrqFNSAMTPaIcXH9S8,3002
|
106
106
|
omlish/asyncs/anyio/sync.py,sha256=ZmSNhSsEkPwlXThrpefhtVTxw4GJ9F0P-yKyo5vbbSk,1574
|
107
107
|
omlish/asyncs/anyio/utils.py,sha256=X2Rz1DGrCJ0zkt1O5cHoMRaYKTPndBj6dzLhb09mVtE,1672
|
@@ -110,7 +110,7 @@ omlish/asyncs/asyncio/all.py,sha256=u2JpMEs-0AJ0Vd8yU10HvWD8rfKxdFfMiwBu2oDeuuQ,
|
|
110
110
|
omlish/asyncs/asyncio/channels.py,sha256=X3S951YTjTRDguMSQRlfu74mPuWkNd2ZEUWboLY58-M,1079
|
111
111
|
omlish/asyncs/asyncio/sockets.py,sha256=oZAPeC545MGeSpVj_uQfy-BbzXsXHesjCkJSiuqKmAI,1271
|
112
112
|
omlish/asyncs/asyncio/streams.py,sha256=J_d1hgX4Mx9SfyW4DjOzh91PqzZmjOtiIB95ytF8Ygw,1009
|
113
|
-
omlish/asyncs/asyncio/subprocesses.py,sha256=
|
113
|
+
omlish/asyncs/asyncio/subprocesses.py,sha256=Ob5oiyue-YYpvQktzI54QpGsl8E0xEKFOVcb_atJ_R8,6935
|
114
114
|
omlish/asyncs/asyncio/timeouts.py,sha256=LwFx93KSrefBobQoK4-yH5B6M-pbd7NdNksNzLBfLgQ,459
|
115
115
|
omlish/asyncs/asyncio/utils.py,sha256=mDjYNm1cylUhQ8slWXwdPoXasuWfafjzu78GHt2Mdig,2437
|
116
116
|
omlish/asyncs/bluelet/LICENSE,sha256=VHf3oPQihOHnWyIR8LcXX0dpONa1lgyJnjWC2qVuRR0,559
|
@@ -356,7 +356,7 @@ omlish/formats/json5/_antlr/Json5Visitor.py,sha256=SfHhUMNapeP8g4Dc7SFwRSqeBtUTL
|
|
356
356
|
omlish/formats/json5/_antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
357
357
|
omlish/formats/toml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
358
358
|
omlish/formats/toml/codec.py,sha256=5HFGWEPd9IFxPlRMRheX8FEDlRIzLe1moHEOj2_PFKU,342
|
359
|
-
omlish/formats/toml/parser.py,sha256=
|
359
|
+
omlish/formats/toml/parser.py,sha256=c6Hrf6OfVQVtgsYUXL5P5PQQqF-v7r8nkUmprxhV-lI,30536
|
360
360
|
omlish/formats/toml/writer.py,sha256=HIp6XvriXaPTLqyLe-fkIiEf1Pyhsp0TcOg5rFBpO3g,3226
|
361
361
|
omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
362
362
|
omlish/funcs/genmachine.py,sha256=jvctDOJd3X-S2_8C83sgWYz2llYlyhHN7P19-WsanOs,2506
|
@@ -435,7 +435,7 @@ omlish/io/abc.py,sha256=M40QB2udYpCEqmlxCcHv6FlJYJY6ymmJQBlaklYv0U8,1256
|
|
435
435
|
omlish/io/buffers.py,sha256=9PcGefTq4Lj-qGQK4-fI67SLRBHZ-OkiY3x2pU38-e0,7279
|
436
436
|
omlish/io/fileno.py,sha256=QiVuRfqJRqP1aoLS82AVHOo_rt0lijZHfM21s42uaTo,174
|
437
437
|
omlish/io/pyio.py,sha256=q4RBFVpBE5PYjnGPGT-_4pcZb7dFJmLJ4LtI8OoDRQY,95433
|
438
|
-
omlish/io/trampoline.py,sha256=
|
438
|
+
omlish/io/trampoline.py,sha256=yM7Evz7cgWpFj97IUiHgq9jfqpsx-deTSZwGl1qOnoM,7199
|
439
439
|
omlish/io/compress/__init__.py,sha256=fJFPT4ONfqxmsA4jR6qbMt2woIyyEgnc_qOWK9o1kII,247
|
440
440
|
omlish/io/compress/abc.py,sha256=P9YoQX8XYoq2UfBsinKLUuwwqV1ODUIJzjTraRWGF1M,3090
|
441
441
|
omlish/io/compress/adapters.py,sha256=LJHhjwMHXstoLyX_q0QhGoBAcqyYGWfzhzQbGBXHzHY,6148
|
@@ -455,9 +455,9 @@ omlish/io/coro/direct.py,sha256=Y--rP3wvBAYMeYctokb5IGd8UyQGmEFChyKISmRg5k0,294
|
|
455
455
|
omlish/io/coro/readers.py,sha256=9VcXuBQ7BSoFen8UVuYFwnl2jJVjyilWV7QeqLNQtKU,4131
|
456
456
|
omlish/io/coro/stepped.py,sha256=eAppRniUZ00rk3goWLU4zsd52MhZB2_YrOmFqs3RfR4,4929
|
457
457
|
omlish/io/fdio/__init__.py,sha256=XJMieft-Z-JEkpeARn0M1Jj7HYCjRHwfs2QfE8gdzQs,137
|
458
|
-
omlish/io/fdio/handlers.py,sha256=
|
459
|
-
omlish/io/fdio/kqueue.py,sha256=
|
460
|
-
omlish/io/fdio/manager.py,sha256=
|
458
|
+
omlish/io/fdio/handlers.py,sha256=3Rowi_XVBA0tiE6JM5xdYLB-8n-PFsj2fXeOZipRyC8,1355
|
459
|
+
omlish/io/fdio/kqueue.py,sha256=g1azm74GkVeylGwktYoZ2QbSO0wO-47IZ3080lGRom8,3837
|
460
|
+
omlish/io/fdio/manager.py,sha256=hi84vQs7-CWp4BLckWv5b89dHxF-IilqVpTI2xC1Q2s,1255
|
461
461
|
omlish/io/fdio/pollers.py,sha256=yNadAt3W5wd90PFmd3vD77bq5QwoVb2A6SM2JjZpKRs,5507
|
462
462
|
omlish/iterators/__init__.py,sha256=yMavf5FofiS1EU4UFuWPXiFZ03W0H-y7MuMxW8FUaEE,358
|
463
463
|
omlish/iterators/iterators.py,sha256=RxW35yQ5ed8vBQ22IqpDXFx-i5JiLQdp7-pkMZXhJJ8,3159
|
@@ -467,7 +467,7 @@ omlish/iterators/unique.py,sha256=Nw0pSaNEcHAkve0ugfLPvJcirDOn9ECyC5wIL8JlJKI,13
|
|
467
467
|
omlish/lang/__init__.py,sha256=KCzbT9IMWi2TNldAlDZ6b8Rr-7hyV9Ne6kIKJLXNAxg,5315
|
468
468
|
omlish/lang/attrs.py,sha256=i7euRF81uNF8QDmUVXSK_BtqLGshaMi4VVdUnMjiMwg,5050
|
469
469
|
omlish/lang/clsdct.py,sha256=HAGIvBSbCefzRjXriwYSBLO7QHKRv2UsE78jixOb-fA,1828
|
470
|
-
omlish/lang/collections.py,sha256=
|
470
|
+
omlish/lang/collections.py,sha256=LVm0Sory60IXyFzYhhO8BZAWy_z_pjiA-meXNlSJP7o,2465
|
471
471
|
omlish/lang/comparison.py,sha256=MOwEG0Yny-jBPHO9kQto9FSRyeNpQW24UABsghkrHxY,1356
|
472
472
|
omlish/lang/contextmanagers.py,sha256=pN8X4ZCagqU9_xWumi8gZPdMIWlInA-_zQrkl7o5VP0,7258
|
473
473
|
omlish/lang/datetimes.py,sha256=mrTtA67JYpfQwSlzdPcBtvm6dAyYM_dXNnlxFwFQH0M,228
|
@@ -475,7 +475,7 @@ omlish/lang/descriptors.py,sha256=zBtgO9LjdSTGHNUgiIqswh78WOVoGH6KzS0NbgB1Wls,65
|
|
475
475
|
omlish/lang/enums.py,sha256=F9tflHfaAoV2MpyuhZzpfX9-H55M3zNa9hCszsngEo8,111
|
476
476
|
omlish/lang/functions.py,sha256=51CoKtH_-CXUsKvtCexaR3OLZOtIwSdv4f4DtGBZdpA,6029
|
477
477
|
omlish/lang/generators.py,sha256=5tbjVAywiZH6oAdj1sJLRMtIkC9y3rAkecLT7Z3m7_g,5251
|
478
|
-
omlish/lang/imports.py,sha256=
|
478
|
+
omlish/lang/imports.py,sha256=y9W9Y-d_cQ35QCLuSIPoa6vnEqSErFCz8b-34IH128U,10552
|
479
479
|
omlish/lang/iterables.py,sha256=HOjcxOwyI5bBApDLsxRAGGhTTmw7fdZl2kEckxRVl-0,1994
|
480
480
|
omlish/lang/maybes.py,sha256=pb1YrxmpXy-hWKmWR89GxXqZq1MoUD1uuTaTX30peh0,3697
|
481
481
|
omlish/lang/objects.py,sha256=q1T26cxLkejU5XMl5iEVC9IIhjib0VBpe7JCo2bz2Ws,5411
|
@@ -504,7 +504,7 @@ omlish/lifecycles/states.py,sha256=zqMOU2ZU-MDNnWuwauM3_anIAiXM8LoBDElDEraptFg,1
|
|
504
504
|
omlish/lifecycles/transitions.py,sha256=qQtFby-h4VzbvgaUqT2NnbNumlcOx9FVVADP9t83xj4,1939
|
505
505
|
omlish/lite/__init__.py,sha256=ISLhM4q0LR1XXTCaHdZOZxBRyIsoZqYm4u0bf1BPcVk,148
|
506
506
|
omlish/lite/cached.py,sha256=O7ozcoDNFm1Hg2wtpHEqYSp_i_nCLNOP6Ueq_Uk-7mU,1300
|
507
|
-
omlish/lite/check.py,sha256=
|
507
|
+
omlish/lite/check.py,sha256=d3622_iX19iAL-B9QtucLbAt7Z0cZAvJEHOJBVhg3Og,13886
|
508
508
|
omlish/lite/configs.py,sha256=Ev_19sbII67pTWzInYjYqa9VyTiZBvyjhZqyG8TtufE,908
|
509
509
|
omlish/lite/contextmanagers.py,sha256=WrL2NPT7OA5JvHp4H-opwsCpYTHod27EJ4qB1cJ9Mjc,5691
|
510
510
|
omlish/lite/dataclasses.py,sha256=t1G5-xOuvE6o6w9RyqHzLT9wHD0HkqBh5P8HUZWxGzs,1912
|
@@ -779,7 +779,7 @@ omlish/sql/tabledefs/tabledefs.py,sha256=lIhvlt0pk6G7RZAtDFsFXm5j0l9BvRfnP7vNGey
|
|
779
779
|
omlish/subprocesses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
780
780
|
omlish/subprocesses/async_.py,sha256=hPQTWFa3k5CE_s9p1JTY4KdTPOsqLJtq3lGMRznrVpY,2373
|
781
781
|
omlish/subprocesses/base.py,sha256=W6El-PUKKF9KLAks5LB6kzqs_n3FfkblJ-JOv6NFQbY,6133
|
782
|
-
omlish/subprocesses/editor.py,sha256=
|
782
|
+
omlish/subprocesses/editor.py,sha256=tVU1EQsEhCM242HheylQvEsqaAZYnT61kMhlzZcdk5U,2628
|
783
783
|
omlish/subprocesses/run.py,sha256=3jwSnQJvFMDMHmJvtAkrrK5D-i7_8cw12vX84EWTuJo,3668
|
784
784
|
omlish/subprocesses/sync.py,sha256=HKmKM99_Y7tkJRg_n5onXrw41IZt5M5fqU0281LY-mo,3671
|
785
785
|
omlish/subprocesses/utils.py,sha256=MJb6hvKhZceTmBeFVqlc5oM7rDxWkUzSzK9nKvbIvM8,396
|
@@ -843,9 +843,9 @@ omlish/typedvalues/holder.py,sha256=ZTnHiw-K38ciOBLEdwgrltr7Xp8jjEs_0Lp69DH-G-o,
|
|
843
843
|
omlish/typedvalues/marshal.py,sha256=hWHRLcrGav7lvXJDtb9bNI0ickl4SKPQ6F4BbTpqw3A,4219
|
844
844
|
omlish/typedvalues/reflect.py,sha256=Ih1YgU-srUjsvBn_P7C66f73_VCvcwqE3ffeBnZBgt4,674
|
845
845
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
846
|
-
omlish-0.0.0.
|
847
|
-
omlish-0.0.0.
|
848
|
-
omlish-0.0.0.
|
849
|
-
omlish-0.0.0.
|
850
|
-
omlish-0.0.0.
|
851
|
-
omlish-0.0.0.
|
846
|
+
omlish-0.0.0.dev302.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
847
|
+
omlish-0.0.0.dev302.dist-info/METADATA,sha256=ARPvC1-WLWPuw1QpgF2xijl-9JRU8BHBzFVsFadjAfg,4416
|
848
|
+
omlish-0.0.0.dev302.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
|
849
|
+
omlish-0.0.0.dev302.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
850
|
+
omlish-0.0.0.dev302.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
851
|
+
omlish-0.0.0.dev302.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|