omlish 0.0.0.dev99__py3-none-any.whl → 0.0.0.dev100__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/bridge.py +11 -2
- omlish/collections/hasheq.py +6 -1
- omlish/sql/queries/rendering.py +1 -1
- {omlish-0.0.0.dev99.dist-info → omlish-0.0.0.dev100.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev99.dist-info → omlish-0.0.0.dev100.dist-info}/RECORD +10 -10
- {omlish-0.0.0.dev99.dist-info → omlish-0.0.0.dev100.dist-info}/LICENSE +0 -0
- {omlish-0.0.0.dev99.dist-info → omlish-0.0.0.dev100.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev99.dist-info → omlish-0.0.0.dev100.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev99.dist-info → omlish-0.0.0.dev100.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/asyncs/bridge.py
CHANGED
@@ -8,10 +8,19 @@ KEEP THE SPACE SHUTTLE FLYING.
|
|
8
8
|
|
9
9
|
TODO:
|
10
10
|
- reuse greenlet if nested somehow?
|
11
|
+
- test cancel
|
11
12
|
|
12
13
|
See:
|
13
|
-
- https://
|
14
|
-
|
14
|
+
- https://github.com/sqlalchemy/sqlalchemy/blob/21ea01eebe0350ad1185c7288dca61f363ebd2fe/lib/sqlalchemy/util/concurrency.py
|
15
|
+
- ( https://gist.github.com/snaury/202bf4f22c41ca34e56297bae5f33fef )
|
16
|
+
- Baked into sqlalchemy and hard-bound to asyncio.
|
17
|
+
- https://github.com/oremanj/greenback/blob/ca69b023a9b7b58b715f3b1d78fc116e788a2c9f/greenback/_impl.py
|
18
|
+
- ( https://gist.github.com/oremanj/f18ef3e55b9487c2e93eee42232583f2 )
|
19
|
+
- Similar to this, but does horrible things with ctypes and is hard-bound to greenlet.
|
20
|
+
- https://github.com/fastapi/asyncer/blob/2a4b8ef2540ec687af13d3f361c4ed0cf0cb624d/asyncer/_main.py
|
21
|
+
- https://github.com/django/asgiref/blob/05ae3eee3fae4005ae4cfb0bb22d281725fabade/asgiref/sync.py
|
22
|
+
- Both are much heavier weight and hard-bound to threads.
|
23
|
+
""" # noqa
|
15
24
|
import functools # noqa
|
16
25
|
import itertools
|
17
26
|
import sys # noqa
|
omlish/collections/hasheq.py
CHANGED
@@ -60,7 +60,7 @@ class hash_eq(HashEq[K], lang.NotInstantiable, lang.Final): # noqa
|
|
60
60
|
raise TypeError
|
61
61
|
|
62
62
|
|
63
|
-
class HashEqMap(ta.
|
63
|
+
class HashEqMap(ta.MutableMapping[K, V]):
|
64
64
|
class _Node(ta.NamedTuple, ta.Generic[K2, V2]):
|
65
65
|
k: K2
|
66
66
|
v: V2
|
@@ -70,6 +70,7 @@ class HashEqMap(ta.Mapping[K, V]):
|
|
70
70
|
super().__init__()
|
71
71
|
|
72
72
|
self._hash_eq = hash_eq
|
73
|
+
|
73
74
|
self._dct: dict[int, list[HashEqMap._Node[K, V]]] = {}
|
74
75
|
self._len = 0
|
75
76
|
|
@@ -79,6 +80,10 @@ class HashEqMap(ta.Mapping[K, V]):
|
|
79
80
|
def __len__(self) -> int:
|
80
81
|
return self._len
|
81
82
|
|
83
|
+
def clear(self) -> None:
|
84
|
+
self._dct.clear()
|
85
|
+
self._len = 0
|
86
|
+
|
82
87
|
def __contains__(self, k: K) -> bool: # type: ignore[override]
|
83
88
|
h = self._hash_eq.hash(k)
|
84
89
|
try:
|
omlish/sql/queries/rendering.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=hTFp9tvE72BxKloIq1s1SS0LRQlIsvMtO69Sbc47rKg,1704
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=yVqFrqrMN4BTjvYSB13be3wGA95pIC84Yq_0m2yFPyA,3352
|
3
3
|
omlish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
omlish/argparse.py,sha256=Dc73G8lyoQBLvXhMYUbzQUh4SJu_OTvKUXjSUxq_ang,7499
|
5
5
|
omlish/c3.py,sha256=4vogWgwPb8TbNS2KkZxpoWbwjj7MuHG2lQG-hdtkvjI,8062
|
@@ -82,7 +82,7 @@ omlish/asyncs/__init__.py,sha256=uUz9ziKh4_QrgmdhKFMgq6j7mFbiZd3LiogguDCQsGI,587
|
|
82
82
|
omlish/asyncs/anyio.py,sha256=gfpx-D8QGmUfhnQxHEaHXcAP8zSMQjcGw4COFTGNnHI,8021
|
83
83
|
omlish/asyncs/asyncio.py,sha256=JfM59QgB3asgEbrps0zoVbNjWD4kL2XdsEkRMEIoFos,971
|
84
84
|
omlish/asyncs/asyncs.py,sha256=Tf7ZodTGepkM7HAuFcDNh9lLzzrMw6rELWvopGmFkh4,2035
|
85
|
-
omlish/asyncs/bridge.py,sha256=
|
85
|
+
omlish/asyncs/bridge.py,sha256=GJOjXVwZJvpq2q9rCwRI2u7Tg-KLUx-SY92b873-M4c,9738
|
86
86
|
omlish/asyncs/flavors.py,sha256=1mNxGNRVmjUHzA13K5ht8vdJv4CLEmzYTQ6BZXr1520,4866
|
87
87
|
omlish/asyncs/trio.py,sha256=fmZ5b_lKdVV8NQ3euCUutWgnkqTFzSnOjvJSA_jvmrE,367
|
88
88
|
omlish/asyncs/trio_asyncio.py,sha256=oqdOHy0slj9PjVxaDf3gJkq9AAgg7wYZbB469jOftVw,1327
|
@@ -100,7 +100,7 @@ omlish/collections/_io_abc.py,sha256=Cxs8KB1B_69rxpUYxI-MTsilAmNooJJn3w07DKqYKkE
|
|
100
100
|
omlish/collections/coerce.py,sha256=o11AMrUiyoadd8WkdqeKPIpXf2xd0LyylzNCyJivCLU,7036
|
101
101
|
omlish/collections/exceptions.py,sha256=shcS-NCnEUudF8qC_SmO2TQyjivKlS4TDjaz_faqQ0c,44
|
102
102
|
omlish/collections/frozen.py,sha256=DGxemj_pVID85tSBm-Wns_x4ov0wOEIT6X5bVgJtmkA,4152
|
103
|
-
omlish/collections/hasheq.py,sha256=
|
103
|
+
omlish/collections/hasheq.py,sha256=Q3tmo0f-vVlNNICNvxCfqgOPwVJymKSahdlG1w6TtTU,3899
|
104
104
|
omlish/collections/identity.py,sha256=jhEpC8tnfh3Sg-MJff1Fp9eMydt150wits_UeVdctUk,2723
|
105
105
|
omlish/collections/indexed.py,sha256=tFQsIWH4k9QqsF5VB7DsIVNsRThiQNx-ooRF36X_PnU,2203
|
106
106
|
omlish/collections/mappings.py,sha256=eEifLZez-BWunTuj6974bGxBFfNRODZpu6Oa7_2ME94,3190
|
@@ -421,7 +421,7 @@ omlish/sql/queries/multi.py,sha256=7x6x-4jnPzxA6ZasBjnjFuhHFpWt5rGCua3UvuTMIJ0,8
|
|
421
421
|
omlish/sql/queries/names.py,sha256=YiIyS6ehYMYrdLlUxMawV_Xf2zdi7RwVO9Qsxr_W4_4,772
|
422
422
|
omlish/sql/queries/ops.py,sha256=B7IDfjr2DW5LJhWoNaY1WW90BJhe5ZtmxIELhWXbW-0,129
|
423
423
|
omlish/sql/queries/relations.py,sha256=-d3n-dN17c3TPMZmzSplhWawllUzdq12XPDAuzoeMEQ,838
|
424
|
-
omlish/sql/queries/rendering.py,sha256=
|
424
|
+
omlish/sql/queries/rendering.py,sha256=DUmdsQqChCBxCSXSL0dDUz0H5joTL_qayhdErsWz6dQ,5945
|
425
425
|
omlish/sql/queries/selects.py,sha256=8dqm4KyrJvOsW3KHSO7qLEfPlZa7sJDp8puuGxrfvoA,1369
|
426
426
|
omlish/sql/queries/stmts.py,sha256=pBqwD7dRlqMu6uh6vR3xaWOEgbZCcFWbOQ9ryYd17T4,441
|
427
427
|
omlish/sql/queries/unary.py,sha256=MEYBDZn_H0bexmUrJeONOv5-gIpYowUaXOsEHeQM4ks,1144
|
@@ -458,9 +458,9 @@ omlish/text/delimit.py,sha256=ubPXcXQmtbOVrUsNh5gH1mDq5H-n1y2R4cPL5_DQf68,4928
|
|
458
458
|
omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,3296
|
459
459
|
omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
|
460
460
|
omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
|
461
|
-
omlish-0.0.0.
|
462
|
-
omlish-0.0.0.
|
463
|
-
omlish-0.0.0.
|
464
|
-
omlish-0.0.0.
|
465
|
-
omlish-0.0.0.
|
466
|
-
omlish-0.0.0.
|
461
|
+
omlish-0.0.0.dev100.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
462
|
+
omlish-0.0.0.dev100.dist-info/METADATA,sha256=TdLGZ5Orn-POreEB-DwNEVxZtZLSzc-J_wm9QxN6WVM,4000
|
463
|
+
omlish-0.0.0.dev100.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
464
|
+
omlish-0.0.0.dev100.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
465
|
+
omlish-0.0.0.dev100.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
466
|
+
omlish-0.0.0.dev100.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|