omlish 0.0.0.dev63__py3-none-any.whl → 0.0.0.dev64__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev63'
2
- __revision__ = '6de2b8280b36325b4e4b319adfe01b6a284bbdcc'
1
+ __version__ = '0.0.0.dev64'
2
+ __revision__ = '65b4d26bc20b482253b288f29eebe58b9ae531dd'
3
3
 
4
4
 
5
5
  #
@@ -92,7 +92,7 @@ class Project(ProjectBase):
92
92
  # 'psycopg ~= 3.2',
93
93
 
94
94
  'pymysql ~= 1.1',
95
- # 'mysql-connector-python ~= 9.0',
95
+ # 'mysql-connector-python ~= 9.1',
96
96
  # 'mysqlclient ~= 2.2',
97
97
 
98
98
  'aiomysql ~= 0.2',
@@ -14,6 +14,17 @@ V = ta.TypeVar('V')
14
14
  ##
15
15
 
16
16
 
17
+ class SimpleMetaDict(dict):
18
+ def update(self, m: ta.Mapping[K, V], **kwargs: V) -> None: # type: ignore
19
+ for k, v in m.items():
20
+ self[k] = v
21
+ for k, v in kwargs.items(): # type: ignore
22
+ self[k] = v
23
+
24
+
25
+ ##
26
+
27
+
17
28
  class _NamespaceMeta(abc.ABCMeta):
18
29
  def __new__(mcls, name, bases, namespace):
19
30
  if bases:
@@ -23,9 +34,14 @@ class _NamespaceMeta(abc.ABCMeta):
23
34
  return super().__new__(mcls, name, bases, namespace)
24
35
 
25
36
  def __iter__(cls) -> ta.Iterator[tuple[str, ta.Any]]:
26
- for a in dir(cls):
27
- if not a.startswith('_'):
28
- yield (a, getattr(cls, a))
37
+ seen: set[str] = set()
38
+ for bcls in reversed(cls.__mro__):
39
+ for a in bcls.__dict__:
40
+ if a in seen:
41
+ continue
42
+ seen.add(a)
43
+ if not a.startswith('_'):
44
+ yield (a, getattr(cls, a))
29
45
 
30
46
  def __getitem__(cls, n: str) -> ta.Any:
31
47
  return getattr(cls, n)
@@ -75,17 +91,6 @@ class Marker(NotInstantiable, metaclass=_MarkerMeta):
75
91
  ##
76
92
 
77
93
 
78
- class SimpleMetaDict(dict):
79
- def update(self, m: ta.Mapping[K, V], **kwargs: V) -> None: # type: ignore
80
- for k, v in m.items():
81
- self[k] = v
82
- for k, v in kwargs.items(): # type: ignore
83
- self[k] = v
84
-
85
-
86
- ##
87
-
88
-
89
94
  _SINGLETON_INSTANCE_ATTR = '__singleton_instance__'
90
95
  _SINGLETON_LOCK = threading.RLock()
91
96
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omlish
3
- Version: 0.0.0.dev63
3
+ Version: 0.0.0.dev64
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=jvyoQ7x8UJ9lpRgkh7eElwJ8qnzyG5aUGameT9Yk8GM,1419
2
- omlish/__about__.py,sha256=qlJrMz3s8VM_C0-4usZE5Jgx7f83IqPBmrc1ird0yoY,3420
2
+ omlish/__about__.py,sha256=GXVeIGR5dUduDtgf1PYJSdJKJyBBSxbzWMxY1GQOHN8,3420
3
3
  omlish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omlish/argparse.py,sha256=XLrLFCLNY1RfbiXIAELkzHK-vUPum_9dyylEdJi9Pog,7068
5
5
  omlish/c3.py,sha256=4vogWgwPb8TbNS2KkZxpoWbwjj7MuHG2lQG-hdtkvjI,8062
@@ -258,7 +258,7 @@ omlish/lang/typing.py,sha256=lJ2NGe4Pmb61I0Tx4A_rOqXNFTws1XHOzafg2knRUio,4155
258
258
  omlish/lang/classes/__init__.py,sha256=h9QXrvAKD17_pIog0uF-7BCqZbSpJZYxL7kzVzvljp0,583
259
259
  omlish/lang/classes/abstract.py,sha256=IRnjuLLNwpxvEJsp8fwoQdCIpw0MDAd0TiQfoDMgsn4,2306
260
260
  omlish/lang/classes/restrict.py,sha256=pSK7ZT_kpwqS6lWRrxwuEe-tt07F0-uZVazgGh-HDco,3921
261
- omlish/lang/classes/simple.py,sha256=roGxmtl5BAXl6_WAt89Hfd1Xmu-Cvnwo-YCZgs1Wq-s,3116
261
+ omlish/lang/classes/simple.py,sha256=XQ8b86WvQA0qtSYqlbMOJS7tHgE8sv9onda33uQmbkM,3294
262
262
  omlish/lang/classes/virtual.py,sha256=W-QJuKsDehOcrydwg6eMN0bFPTYbk3Tz84TSH3blb44,3367
263
263
  omlish/lifecycles/__init__.py,sha256=1FjYceXs-4fc-S-C9zFYmc2axHs4znnQHcJVHdY7a6E,578
264
264
  omlish/lifecycles/abstract.py,sha256=70CQyZy-c9a2o0ZJxPeUT7eYjWZTBrp2HpUBnrHdAOM,1109
@@ -408,9 +408,9 @@ omlish/text/delimit.py,sha256=ubPXcXQmtbOVrUsNh5gH1mDq5H-n1y2R4cPL5_DQf68,4928
408
408
  omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,3296
409
409
  omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
410
410
  omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
411
- omlish-0.0.0.dev63.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
412
- omlish-0.0.0.dev63.dist-info/METADATA,sha256=3QDOoC7dBsLktT4vePuK9dx8FjSwpxlZnE27yP_qQ8c,4167
413
- omlish-0.0.0.dev63.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
414
- omlish-0.0.0.dev63.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
415
- omlish-0.0.0.dev63.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
416
- omlish-0.0.0.dev63.dist-info/RECORD,,
411
+ omlish-0.0.0.dev64.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
412
+ omlish-0.0.0.dev64.dist-info/METADATA,sha256=fd-7ozSHicCgpU4SOmqEUW7WJAsroSMO531X7vxMDVo,4167
413
+ omlish-0.0.0.dev64.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
414
+ omlish-0.0.0.dev64.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
415
+ omlish-0.0.0.dev64.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
416
+ omlish-0.0.0.dev64.dist-info/RECORD,,