omlish 0.0.0.dev259__py3-none-any.whl → 0.0.0.dev261__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/all.py +5 -1
- omlish/asyncs/anyio/sync.py +3 -0
- omlish/asyncs/asyncio/channels.py +3 -0
- omlish/asyncs/asyncio/sockets.py +3 -0
- omlish/asyncs/asyncio/streams.py +3 -0
- omlish/asyncs/asyncio/timeouts.py +3 -0
- omlish/asyncs/bridge.py +1 -1
- omlish/asyncs/buffers.py +4 -0
- omlish/asyncs/{asyncs.py → sync.py} +3 -0
- omlish/asyncs/trio_asyncio.py +3 -0
- omlish/asyncs/utils.py +18 -0
- omlish/collections/sorted/skiplist.py +16 -0
- omlish/dataclasses/impl/fields.py +2 -4
- omlish/diag/asts.py +4 -1
- omlish/lang/clsdct.py +13 -1
- omlish/metadata.py +1 -0
- {omlish-0.0.0.dev259.dist-info → omlish-0.0.0.dev261.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev259.dist-info → omlish-0.0.0.dev261.dist-info}/RECORD +23 -22
- {omlish-0.0.0.dev259.dist-info → omlish-0.0.0.dev261.dist-info}/WHEEL +1 -1
- {omlish-0.0.0.dev259.dist-info → omlish-0.0.0.dev261.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev259.dist-info → omlish-0.0.0.dev261.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev259.dist-info → omlish-0.0.0.dev261.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/asyncs/all.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
from .
|
1
|
+
from .sync import ( # noqa
|
2
2
|
SyncableIterable,
|
3
3
|
async_list,
|
4
4
|
sync_await,
|
@@ -33,3 +33,7 @@ from .flavors import ( # noqa
|
|
33
33
|
mark_trio,
|
34
34
|
with_adapter_loop,
|
35
35
|
)
|
36
|
+
|
37
|
+
from .utils import ( # noqa
|
38
|
+
call_with_async_exit_stack,
|
39
|
+
)
|
omlish/asyncs/anyio/sync.py
CHANGED
omlish/asyncs/asyncio/sockets.py
CHANGED
omlish/asyncs/asyncio/streams.py
CHANGED
omlish/asyncs/bridge.py
CHANGED
omlish/asyncs/buffers.py
CHANGED
@@ -37,6 +37,8 @@ class AsyncBufferedReader:
|
|
37
37
|
return r
|
38
38
|
o = r
|
39
39
|
b = await self._read()
|
40
|
+
if not b:
|
41
|
+
raise EOFError
|
40
42
|
self._buf.feed(b)
|
41
43
|
|
42
44
|
async def read_exact(
|
@@ -52,4 +54,6 @@ class AsyncBufferedReader:
|
|
52
54
|
if r is not None:
|
53
55
|
return r
|
54
56
|
b = await self._read()
|
57
|
+
if not b:
|
58
|
+
raise EOFError
|
55
59
|
self._buf.feed(b)
|
omlish/asyncs/trio_asyncio.py
CHANGED
omlish/asyncs/utils.py
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
import contextlib
|
2
|
+
import typing as ta
|
3
|
+
|
4
|
+
|
5
|
+
P = ta.ParamSpec('P')
|
6
|
+
T = ta.TypeVar('T')
|
7
|
+
|
8
|
+
|
9
|
+
##
|
10
|
+
|
11
|
+
|
12
|
+
async def call_with_async_exit_stack( # type: ignore[return] # ???
|
13
|
+
fn: ta.Callable[ta.Concatenate[contextlib.AsyncExitStack, P], ta.Awaitable[T]],
|
14
|
+
*args: ta.Any,
|
15
|
+
**kwargs: ta.Any,
|
16
|
+
) -> T:
|
17
|
+
async with contextlib.AsyncExitStack() as aes:
|
18
|
+
return await fn(aes, *args, **kwargs)
|
@@ -10,6 +10,9 @@ K = ta.TypeVar('K')
|
|
10
10
|
V = ta.TypeVar('V')
|
11
11
|
|
12
12
|
|
13
|
+
##
|
14
|
+
|
15
|
+
|
13
16
|
class SkipList(SortedCollection[T]):
|
14
17
|
"""https://gist.github.com/icejoywoo/3bf0c54983a725fa3917"""
|
15
18
|
|
@@ -59,6 +62,8 @@ class SkipList(SortedCollection[T]):
|
|
59
62
|
self._head.next = [None] * self._max_height
|
60
63
|
self._length = 0
|
61
64
|
|
65
|
+
#
|
66
|
+
|
62
67
|
def __len__(self) -> int:
|
63
68
|
return self._length
|
64
69
|
|
@@ -68,6 +73,8 @@ class SkipList(SortedCollection[T]):
|
|
68
73
|
def __contains__(self, value: T) -> bool: # type: ignore
|
69
74
|
return self.find(value) is not None
|
70
75
|
|
76
|
+
#
|
77
|
+
|
71
78
|
def _random_level(self) -> int:
|
72
79
|
result = 1
|
73
80
|
while random.uniform(0, 1) < 0.5 and result < self._max_height:
|
@@ -108,6 +115,8 @@ class SkipList(SortedCollection[T]):
|
|
108
115
|
self._length += 1
|
109
116
|
return True
|
110
117
|
|
118
|
+
#
|
119
|
+
|
111
120
|
def _find(self, value: T) -> _Node | None:
|
112
121
|
if value is None:
|
113
122
|
raise TypeError(value)
|
@@ -128,6 +137,8 @@ class SkipList(SortedCollection[T]):
|
|
128
137
|
return None
|
129
138
|
return node.value # type: ignore
|
130
139
|
|
140
|
+
#
|
141
|
+
|
131
142
|
def remove(self, value: T) -> bool:
|
132
143
|
if value is None:
|
133
144
|
raise TypeError(value)
|
@@ -157,6 +168,8 @@ class SkipList(SortedCollection[T]):
|
|
157
168
|
self._length -= 1
|
158
169
|
return True
|
159
170
|
|
171
|
+
#
|
172
|
+
|
160
173
|
def iter(self, base: T | None = None) -> ta.Iterable[T]:
|
161
174
|
if base is not None:
|
162
175
|
cur = self._find(base)
|
@@ -187,6 +200,9 @@ class SkipList(SortedCollection[T]):
|
|
187
200
|
cur = cur.prev # type: ignore
|
188
201
|
|
189
202
|
|
203
|
+
##
|
204
|
+
|
205
|
+
|
190
206
|
class SkipListDict(SortedListDict[K, V]):
|
191
207
|
def __init__(self, *args, **kwargs) -> None:
|
192
208
|
super().__init__(SkipList(comparator=SortedListDict._item_comparator), *args, **kwargs) # noqa
|
@@ -174,14 +174,12 @@ def field_init(
|
|
174
174
|
|
175
175
|
value: str | None = None
|
176
176
|
if f.default_factory is not MISSING:
|
177
|
+
locals[default_name] = f.default_factory
|
177
178
|
if f.init:
|
178
|
-
locals[default_name] = f.default_factory
|
179
179
|
lines.append(f'if {f.name} is __dataclass_HAS_DEFAULT_FACTORY__: {f.name} = {default_name}()')
|
180
|
-
value = f.name
|
181
180
|
else:
|
182
|
-
locals[default_name] = f.default_factory
|
183
181
|
lines.append(f'{f.name} = {default_name}()')
|
184
|
-
|
182
|
+
value = f.name
|
185
183
|
|
186
184
|
elif f.init:
|
187
185
|
if f.default is MISSING:
|
omlish/diag/asts.py
CHANGED
@@ -15,6 +15,9 @@ else:
|
|
15
15
|
executing = lang.proxy_import('executing')
|
16
16
|
|
17
17
|
|
18
|
+
##
|
19
|
+
|
20
|
+
|
18
21
|
class ArgsRenderer:
|
19
22
|
"""
|
20
23
|
TODO:
|
@@ -50,7 +53,7 @@ class ArgsRenderer:
|
|
50
53
|
|
51
54
|
def _get_indented_text(
|
52
55
|
self,
|
53
|
-
src: executing.Source,
|
56
|
+
src: 'executing.Source',
|
54
57
|
node: ast.AST,
|
55
58
|
) -> str:
|
56
59
|
result = src.asttokens().get_text(node)
|
omlish/lang/clsdct.py
CHANGED
@@ -4,6 +4,9 @@ import types
|
|
4
4
|
import typing as ta
|
5
5
|
|
6
6
|
|
7
|
+
##
|
8
|
+
|
9
|
+
|
7
10
|
_CLS_DCT_ATTR_SETS = [
|
8
11
|
{
|
9
12
|
'__module__',
|
@@ -35,8 +38,17 @@ def get_caller_cls_dct(offset: int = 0) -> ta.MutableMapping[str, ta.Any]:
|
|
35
38
|
return cls_dct
|
36
39
|
|
37
40
|
|
41
|
+
##
|
42
|
+
|
43
|
+
|
38
44
|
class ClassDctFn:
|
39
|
-
def __init__(
|
45
|
+
def __init__(
|
46
|
+
self,
|
47
|
+
fn: ta.Callable,
|
48
|
+
offset: int | None = None,
|
49
|
+
*,
|
50
|
+
wrap: bool = True,
|
51
|
+
) -> None:
|
40
52
|
super().__init__()
|
41
53
|
|
42
54
|
self._fn = fn
|
omlish/metadata.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=x26AIwDzScUvnX-p4xlq6Zc5QYrAo0Vmgf1qHc1KL_M,8253
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=ZHsfTvh2tqA6F3h9CJiRPE2DyXkN-QqoPblX54bfc2A,3380
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=ubu7lHwss5V4UznbejAI0qXhXahrU01MysuHOZI9C4U,8116
|
5
5
|
omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
|
@@ -8,7 +8,7 @@ omlish/datetimes.py,sha256=HajeM1kBvwlTa-uR1TTZHmZ3zTPnnUr1uGGQhiO1XQ0,2152
|
|
8
8
|
omlish/defs.py,sha256=9uUjJuVIbCBL3g14fyzAp-9gH935MFofvlfOGwcBIaM,4913
|
9
9
|
omlish/dynamic.py,sha256=xQ8LlOt_fUPApg-yz7-gNq8JdVgTqJ0_R6vhJq2WbpI,6522
|
10
10
|
omlish/libc.py,sha256=8K4c66YV1ziJerl5poAAYCmsV-VSsHkT3EHhPW04ufg,15639
|
11
|
-
omlish/metadata.py,sha256=
|
11
|
+
omlish/metadata.py,sha256=HvZ6ItMpEmnE-X2d5Q6J17sBiG_qOyWB8DJrS9RFZpY,3604
|
12
12
|
omlish/runmodule.py,sha256=PWvuAaJ9wQQn6bx9ftEL3_d04DyotNn8dR_twm2pgw0,700
|
13
13
|
omlish/shlex.py,sha256=bsW2XUD8GiMTUTDefJejZ5AyqT1pTgWMPD0BMoF02jE,248
|
14
14
|
omlish/sync.py,sha256=-2gVJZFl8hvp7jvrnX8GcZVOecqAym6AcyK1QtMR9Ic,2979
|
@@ -90,28 +90,29 @@ omlish/argparse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
90
|
omlish/argparse/all.py,sha256=NeeMM5MIebY7XDAHaCxUzeesEoUYwsf5i9PrBUcO1cI,1057
|
91
91
|
omlish/argparse/cli.py,sha256=vVLlhJPt0PKaNfIBrXTzz9cHyy2dFEY8hlQ3GvtKbwc,8704
|
92
92
|
omlish/asyncs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
93
|
-
omlish/asyncs/all.py,sha256=
|
94
|
-
omlish/asyncs/
|
95
|
-
omlish/asyncs/
|
96
|
-
omlish/asyncs/buffers.py,sha256=xQO6EDdLSus88Lg5Cw2wpZsSLXR1g4GCwc_1K1tSwV0,1312
|
93
|
+
omlish/asyncs/all.py,sha256=MjW0P9K8XBrw6AaH2X_qD5Y7hEZOF0cktqFv5BDGH-k,649
|
94
|
+
omlish/asyncs/bridge.py,sha256=oFCqwGY9u9JYB-tee7GS0gjtIFp19rdZD2Z0YPRjj9k,9738
|
95
|
+
omlish/asyncs/buffers.py,sha256=ip9oDRT-XbBDpeAa72osv-TtZXxdF_ggW4lHkGKxCwE,1418
|
97
96
|
omlish/asyncs/flavors.py,sha256=1mNxGNRVmjUHzA13K5ht8vdJv4CLEmzYTQ6BZXr1520,4866
|
97
|
+
omlish/asyncs/sync.py,sha256=qfK8zRMQ0B_huC-6CsMG8vhKB0ktw7Ttq0NnySdWPwQ,2039
|
98
98
|
omlish/asyncs/trio.py,sha256=fmZ5b_lKdVV8NQ3euCUutWgnkqTFzSnOjvJSA_jvmrE,367
|
99
|
-
omlish/asyncs/trio_asyncio.py,sha256=
|
99
|
+
omlish/asyncs/trio_asyncio.py,sha256=b6H5H32pB79Uz5xvWEmuhXTJgTAeKFHBHzocv_Rpt5A,1332
|
100
|
+
omlish/asyncs/utils.py,sha256=1QQMQ1WJBG86QLu4hQZRBFeUg-AypCVhlB8-niHHE4s,400
|
100
101
|
omlish/asyncs/anyio/__init__.py,sha256=AkwRD3XFWmEzBeHV-eAzwpA4F04bl7xyyapigrxMR8g,1747
|
101
102
|
omlish/asyncs/anyio/backends.py,sha256=jJIymWoiedaEJJm82gvKiJ41EWLQZ-bcyNHpbDpKKi4,1584
|
102
103
|
omlish/asyncs/anyio/futures.py,sha256=Nm1gLerZEnHk-rlsmr0UfK168IWIK6zA8EebZFtoY_E,2052
|
103
104
|
omlish/asyncs/anyio/signals.py,sha256=ySSut5prdnoy0-5Ws5V1M4cC2ON_vY550vU10d2NHk8,893
|
104
105
|
omlish/asyncs/anyio/streams.py,sha256=gNRAcHR0L8OtNioqKFbq0Z_apYAWKHFipZ2MUBp8Vg0,2228
|
105
|
-
omlish/asyncs/anyio/sync.py,sha256=
|
106
|
+
omlish/asyncs/anyio/sync.py,sha256=ZmSNhSsEkPwlXThrpefhtVTxw4GJ9F0P-yKyo5vbbSk,1574
|
106
107
|
omlish/asyncs/anyio/utils.py,sha256=X2Rz1DGrCJ0zkt1O5cHoMRaYKTPndBj6dzLhb09mVtE,1672
|
107
108
|
omlish/asyncs/asyncio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
109
|
omlish/asyncs/asyncio/all.py,sha256=EksCHjRQKobiGrxuDW72IaH53WJMs7rdj_ZDBI3iKcg,315
|
109
110
|
omlish/asyncs/asyncio/asyncio.py,sha256=mDjYNm1cylUhQ8slWXwdPoXasuWfafjzu78GHt2Mdig,2437
|
110
|
-
omlish/asyncs/asyncio/channels.py,sha256=
|
111
|
-
omlish/asyncs/asyncio/sockets.py,sha256=
|
112
|
-
omlish/asyncs/asyncio/streams.py,sha256=
|
111
|
+
omlish/asyncs/asyncio/channels.py,sha256=X3S951YTjTRDguMSQRlfu74mPuWkNd2ZEUWboLY58-M,1079
|
112
|
+
omlish/asyncs/asyncio/sockets.py,sha256=oZAPeC545MGeSpVj_uQfy-BbzXsXHesjCkJSiuqKmAI,1271
|
113
|
+
omlish/asyncs/asyncio/streams.py,sha256=J_d1hgX4Mx9SfyW4DjOzh91PqzZmjOtiIB95ytF8Ygw,1009
|
113
114
|
omlish/asyncs/asyncio/subprocesses.py,sha256=f30-wi-3n9R5dftm4CMrzp23EEa4GX283bORixm1_UU,6931
|
114
|
-
omlish/asyncs/asyncio/timeouts.py,sha256=
|
115
|
+
omlish/asyncs/asyncio/timeouts.py,sha256=LwFx93KSrefBobQoK4-yH5B6M-pbd7NdNksNzLBfLgQ,459
|
115
116
|
omlish/asyncs/bluelet/LICENSE,sha256=VHf3oPQihOHnWyIR8LcXX0dpONa1lgyJnjWC2qVuRR0,559
|
116
117
|
omlish/asyncs/bluelet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
117
118
|
omlish/asyncs/bluelet/all.py,sha256=aUV6PwnR8DqnEBS9wsZuPW_UtP6G9M8_KY-mmxZeVG0,1516
|
@@ -164,7 +165,7 @@ omlish/collections/persistent/persistent.py,sha256=KG471s0bhhReQrjlmX0xaN9HeAIcr
|
|
164
165
|
omlish/collections/persistent/treap.py,sha256=A09ZPacGyJlyRB-Wi4TNj3tE0w-RpFNliPgpDaa6Vwg,7719
|
165
166
|
omlish/collections/persistent/treapmap.py,sha256=TxOM-ZRF5PK2xe5wRIhESNt7DGh9b_MeZfE7HLkCOs4,5804
|
166
167
|
omlish/collections/sorted/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
|
-
omlish/collections/sorted/skiplist.py,sha256=
|
168
|
+
omlish/collections/sorted/skiplist.py,sha256=tybcD8OslDBCc86Z1qKb4GRkbhMY26qorPzPIeqFmKk,6031
|
168
169
|
omlish/collections/sorted/sorted.py,sha256=euHJan3FqTYSCJGsVcYYRV-yhAAQ5_htnjymnNoVHRE,3319
|
169
170
|
omlish/concurrent/__init__.py,sha256=9p-s8MvBEYDqHIoYU3OYoe-Nni22QdkW7nhZGEukJTM,197
|
170
171
|
omlish/concurrent/executors.py,sha256=mF-rjJWzNFxwB1-_H7rHuwoImpl4FtNM6W3wcqM3NEE,1291
|
@@ -204,7 +205,7 @@ omlish/dataclasses/impl/as_.py,sha256=CD-t7hkC1EP2F_jvZKIA_cVoDuwZ-Ln_xC4fJumPYX
|
|
204
205
|
omlish/dataclasses/impl/copy.py,sha256=Tn8_n6Vohs-w4otbGdubBEvhd3TsSTaM3EfNGdS2LYo,591
|
205
206
|
omlish/dataclasses/impl/descriptors.py,sha256=jSYNkKdy2rKddGpQqRwNuhw-ggpcvp_SWHpLwIWPOzc,2474
|
206
207
|
omlish/dataclasses/impl/exceptions.py,sha256=-vqxZmfXVflymVuiM553XTlJProse5HEMktTpfdPCIY,1275
|
207
|
-
omlish/dataclasses/impl/fields.py,sha256=
|
208
|
+
omlish/dataclasses/impl/fields.py,sha256=jM2Rvu6DQOfRUrZBMOeJMda-CT5JKXQvJKzoIU_LFxc,6897
|
208
209
|
omlish/dataclasses/impl/frozen.py,sha256=x87DSM8FIMZ3c_BIUE8NooCkExFjPsabeqIueEP5qKs,2988
|
209
210
|
omlish/dataclasses/impl/hashing.py,sha256=0Gr6XIRkKy4pr-mdHblIlQCy3mBxycjMqJk3oZDw43s,3215
|
210
211
|
omlish/dataclasses/impl/init.py,sha256=drt_-697uw2xp0FGj9AYlMbiuSfYRNV3-8JxTPzkP_w,6415
|
@@ -223,7 +224,7 @@ omlish/dataclasses/impl/simple.py,sha256=tr1WkNuUZ3upyrLBea6RV5Jb_2YsBxisSrGPN_X
|
|
223
224
|
omlish/dataclasses/impl/slots.py,sha256=qXRLbtFWUs_2UV1fFUdv53_6fBLKJ_8McjNiP9YQlGM,5264
|
224
225
|
omlish/dataclasses/impl/utils.py,sha256=aER2iL3UAtgS1BdLuEvTr9Tr2wC28wk1kiOeO-jIymw,6138
|
225
226
|
omlish/diag/__init__.py,sha256=4S8v0myJM4Zld6_FV6cPe_nSv0aJb6kXftEit0HkiGE,1141
|
226
|
-
omlish/diag/asts.py,sha256=
|
227
|
+
omlish/diag/asts.py,sha256=MWh9XAG3m9L10FIJCyoNT2aU4Eft6tun_x9K0riq6Dk,3332
|
227
228
|
omlish/diag/debug.py,sha256=ClED7kKXeVMyKrjGIxcq14kXk9kvUJfytBQwK9y7c4Q,1637
|
228
229
|
omlish/diag/lslocks.py,sha256=fWI3SZwgEkhipVfSqvzVzREJRShcDYmlYByHBT0LToc,1744
|
229
230
|
omlish/diag/lsof.py,sha256=DnowqvKYah-WCuBHS3DAcZCvlsWJdM9kYNFq97UZDDA,9127
|
@@ -409,7 +410,7 @@ omlish/iterators/tools.py,sha256=Pi4ybXytUXVZ3xwK89xpPImQfYYId9p1vIFQvVqVLqA,255
|
|
409
410
|
omlish/iterators/unique.py,sha256=0jAX3kwzVfRNhe0Tmh7kVP_Q2WBIn8POo_O-rgFV0rQ,1390
|
410
411
|
omlish/lang/__init__.py,sha256=H-kPgztXCiOneAvYeC1YxN8nMQu_gYBY2hwy8-dxHvs,5064
|
411
412
|
omlish/lang/attrs.py,sha256=fofCKN0X8TMu1yGqHpLpNLih9r9HWl3D3Vn3b6O791w,3891
|
412
|
-
omlish/lang/clsdct.py,sha256=
|
413
|
+
omlish/lang/clsdct.py,sha256=HAGIvBSbCefzRjXriwYSBLO7QHKRv2UsE78jixOb-fA,1828
|
413
414
|
omlish/lang/collections.py,sha256=aGi0j6VzVe2nz4l357Y4RD5_XNl8OJbmM5qM6BclrrY,1895
|
414
415
|
omlish/lang/comparison.py,sha256=5vbzWWbqdzDmNKAGL19z6ZfUKe5Ci49e-Oegf9f4BsE,1346
|
415
416
|
omlish/lang/contextmanagers.py,sha256=UPH6daYwSP9cH5AfSVsJyEHk1UURMGhVPM5ZRhp_Hvw,7576
|
@@ -767,9 +768,9 @@ omlish/text/parts.py,sha256=Q9NvoyEGQKIWgiPD4D_Qc66cWAuyEKE033dT9m7c3Wk,6662
|
|
767
768
|
omlish/text/random.py,sha256=jNWpqiaKjKyTdMXC-pWAsSC10AAP-cmRRPVhm59ZWLk,194
|
768
769
|
omlish/text/go/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
769
770
|
omlish/text/go/quoting.py,sha256=N9EYdnFdEX_A8fOviH-1w4jwV3XOQ7VU2WsoUNubYVY,9137
|
770
|
-
omlish-0.0.0.
|
771
|
-
omlish-0.0.0.
|
772
|
-
omlish-0.0.0.
|
773
|
-
omlish-0.0.0.
|
774
|
-
omlish-0.0.0.
|
775
|
-
omlish-0.0.0.
|
771
|
+
omlish-0.0.0.dev261.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
772
|
+
omlish-0.0.0.dev261.dist-info/METADATA,sha256=O7gGUkhbgsi0XRUcwynTYxv1lgYqSKk6-UQI4Y9hCkQ,4198
|
773
|
+
omlish-0.0.0.dev261.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
774
|
+
omlish-0.0.0.dev261.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
775
|
+
omlish-0.0.0.dev261.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
776
|
+
omlish-0.0.0.dev261.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|