omlish 0.0.0.dev301__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/bridge.py +16 -5
- 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 +3 -1
- omlish/lang/imports.py +2 -0
- omlish/lite/check.py +18 -2
- omlish/subprocesses/editor.py +18 -3
- {omlish-0.0.0.dev301.dist-info → omlish-0.0.0.dev302.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev301.dist-info → omlish-0.0.0.dev302.dist-info}/RECORD +17 -17
- {omlish-0.0.0.dev301.dist-info → omlish-0.0.0.dev302.dist-info}/WHEEL +1 -1
- {omlish-0.0.0.dev301.dist-info → omlish-0.0.0.dev302.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev301.dist-info → omlish-0.0.0.dev302.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev301.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
|
)
|
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/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
@@ -18,7 +18,9 @@ def yield_dict_init(*args: ta.Any, **kwargs: ta.Any) -> ta.Iterable[tuple[ta.Any
|
|
18
18
|
|
19
19
|
# Prefer .items() as it's potentially faster.
|
20
20
|
if isinstance(src, collections.abc.Mapping):
|
21
|
-
yield
|
21
|
+
# Not yield-from, explicitly enforce 2ple-ness
|
22
|
+
for k, v in src.items():
|
23
|
+
yield (k, v)
|
22
24
|
|
23
25
|
# Support keys() duck-typed dict init behavior:
|
24
26
|
# https://docs.python.org/3/library/stdtypes.html#dict
|
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,5 +1,5 @@
|
|
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
|
@@ -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
|
@@ -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
|