omlish 0.0.0.dev134__py3-none-any.whl → 0.0.0.dev137__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. omlish/.manifests.json +0 -12
  2. omlish/__about__.py +2 -2
  3. omlish/cached.py +2 -2
  4. omlish/collections/mappings.py +1 -1
  5. omlish/diag/_pycharm/runhack.py +3 -0
  6. omlish/formats/json/stream/lex.py +1 -1
  7. omlish/formats/json/stream/parse.py +1 -1
  8. omlish/{genmachine.py → funcs/genmachine.py} +4 -2
  9. omlish/{matchfns.py → funcs/match.py} +1 -1
  10. omlish/{fnpairs.py → funcs/pairs.py} +3 -3
  11. omlish/http/sessions.py +1 -1
  12. omlish/io/compress/__init__.py +0 -0
  13. omlish/io/compress/abc.py +104 -0
  14. omlish/io/compress/adapters.py +147 -0
  15. omlish/io/compress/bz2.py +41 -0
  16. omlish/io/compress/gzip.py +301 -0
  17. omlish/io/compress/lzma.py +31 -0
  18. omlish/io/compress/types.py +29 -0
  19. omlish/io/generators.py +50 -0
  20. omlish/lang/__init__.py +8 -1
  21. omlish/lang/generators.py +182 -0
  22. omlish/lang/iterables.py +28 -51
  23. omlish/lang/maybes.py +4 -4
  24. omlish/lite/fdio/corohttp.py +5 -1
  25. omlish/lite/marshal.py +9 -6
  26. omlish/marshal/base.py +1 -1
  27. omlish/marshal/factories.py +1 -1
  28. omlish/marshal/forbidden.py +1 -1
  29. omlish/marshal/iterables.py +1 -1
  30. omlish/marshal/mappings.py +1 -1
  31. omlish/marshal/maybes.py +1 -1
  32. omlish/marshal/standard.py +1 -1
  33. omlish/marshal/unions.py +1 -1
  34. omlish/secrets/pwhash.py +1 -1
  35. omlish/secrets/subprocesses.py +3 -1
  36. omlish/specs/jsonrpc/marshal.py +1 -1
  37. omlish/specs/openapi/marshal.py +1 -1
  38. {omlish-0.0.0.dev134.dist-info → omlish-0.0.0.dev137.dist-info}/METADATA +1 -1
  39. {omlish-0.0.0.dev134.dist-info → omlish-0.0.0.dev137.dist-info}/RECORD +49 -47
  40. omlish/formats/json/cli/__main__.py +0 -11
  41. omlish/formats/json/cli/cli.py +0 -298
  42. omlish/formats/json/cli/formats.py +0 -71
  43. omlish/formats/json/cli/io.py +0 -74
  44. omlish/formats/json/cli/parsing.py +0 -82
  45. omlish/formats/json/cli/processing.py +0 -48
  46. omlish/formats/json/cli/rendering.py +0 -92
  47. /omlish/collections/{_abc.py → abc.py} +0 -0
  48. /omlish/{formats/json/cli → funcs}/__init__.py +0 -0
  49. /omlish/{fnpipes.py → funcs/pipes.py} +0 -0
  50. /omlish/io/{_abc.py → abc.py} +0 -0
  51. /omlish/logs/{_abc.py → abc.py} +0 -0
  52. /omlish/sql/{_abc.py → abc.py} +0 -0
  53. {omlish-0.0.0.dev134.dist-info → omlish-0.0.0.dev137.dist-info}/LICENSE +0 -0
  54. {omlish-0.0.0.dev134.dist-info → omlish-0.0.0.dev137.dist-info}/WHEEL +0 -0
  55. {omlish-0.0.0.dev134.dist-info → omlish-0.0.0.dev137.dist-info}/entry_points.txt +0 -0
  56. {omlish-0.0.0.dev134.dist-info → omlish-0.0.0.dev137.dist-info}/top_level.txt +0 -0
omlish/lang/iterables.py CHANGED
@@ -4,7 +4,6 @@ import typing as ta
4
4
 
5
5
 
6
6
  T = ta.TypeVar('T')
7
- S = ta.TypeVar('S')
8
7
  R = ta.TypeVar('R')
9
8
 
10
9
 
@@ -15,6 +14,9 @@ BUILTIN_SCALAR_ITERABLE_TYPES: tuple[type, ...] = (
15
14
  )
16
15
 
17
16
 
17
+ ##
18
+
19
+
18
20
  def ilen(it: ta.Iterable) -> int:
19
21
  c = 0
20
22
  for _ in it:
@@ -44,6 +46,31 @@ def interleave(vs: ta.Iterable[T], d: T) -> ta.Iterable[T]:
44
46
  yield v
45
47
 
46
48
 
49
+ @dc.dataclass(frozen=True)
50
+ class IterGen(ta.Generic[T]):
51
+ fn: ta.Callable[[], ta.Iterable[T]]
52
+
53
+ def __iter__(self):
54
+ return iter(self.fn())
55
+
56
+
57
+ itergen = IterGen
58
+
59
+
60
+ def renumerate(it: ta.Iterable[T]) -> ta.Iterable[tuple[T, int]]:
61
+ return ((e, i) for i, e in enumerate(it))
62
+
63
+
64
+ flatten = itertools.chain.from_iterable
65
+
66
+
67
+ def flatmap(fn: ta.Callable[[T], ta.Iterable[R]], it: ta.Iterable[T]) -> ta.Iterable[R]:
68
+ return flatten(map(fn, it))
69
+
70
+
71
+ ##
72
+
73
+
47
74
  Rangeable: ta.TypeAlias = ta.Union[ # noqa
48
75
  int,
49
76
  tuple[int],
@@ -68,53 +95,3 @@ def prodrange(*dims: Rangeable) -> ta.Iterable[ta.Sequence[int]]:
68
95
  if not dims:
69
96
  return []
70
97
  return itertools.product(*map(asrange, dims))
71
-
72
-
73
- @dc.dataclass(frozen=True)
74
- class itergen(ta.Generic[T]): # noqa
75
- fn: ta.Callable[[], ta.Iterable[T]]
76
-
77
- def __iter__(self):
78
- return iter(self.fn())
79
-
80
-
81
- def renumerate(it: ta.Iterable[T]) -> ta.Iterable[tuple[T, int]]:
82
- return ((e, i) for i, e in enumerate(it))
83
-
84
-
85
- flatten = itertools.chain.from_iterable
86
-
87
-
88
- def flatmap(fn: ta.Callable[[T], ta.Iterable[R]], it: ta.Iterable[T]) -> ta.Iterable[R]:
89
- return flatten(map(fn, it))
90
-
91
-
92
- class Generator(ta.Generator[T, S, R]):
93
- def __init__(self, gen: ta.Generator[T, S, R]) -> None:
94
- super().__init__()
95
- self.gen = gen
96
-
97
- value: R
98
-
99
- def __iter__(self):
100
- return self
101
-
102
- def __next__(self):
103
- return self.send(None)
104
-
105
- def send(self, v):
106
- try:
107
- return self.gen.send(v)
108
- except StopIteration as e:
109
- self.value = e.value
110
- raise
111
-
112
- def throw(self, *args):
113
- try:
114
- return self.gen.throw(*args)
115
- except StopIteration as e:
116
- self.value = e.value
117
- raise
118
-
119
- def close(self):
120
- self.gen.close()
omlish/lang/maybes.py CHANGED
@@ -50,11 +50,11 @@ class Maybe(abc.ABC, ta.Generic[T]):
50
50
  raise NotImplementedError
51
51
 
52
52
  @abc.abstractmethod
53
- def or_else(self, other: T) -> T:
53
+ def or_else(self, other: T | U) -> T | U:
54
54
  raise NotImplementedError
55
55
 
56
56
  @abc.abstractmethod
57
- def or_else_get(self, supplier: ta.Callable[[], T]) -> T:
57
+ def or_else_get(self, supplier: ta.Callable[[], U]) -> T | U:
58
58
  raise NotImplementedError
59
59
 
60
60
  @abc.abstractmethod
@@ -109,10 +109,10 @@ class _Maybe(Maybe[T], tuple):
109
109
  return value
110
110
  return _empty # noqa
111
111
 
112
- def or_else(self, other: T) -> T:
112
+ def or_else(self, other: T | U) -> T | U:
113
113
  return self.must() if self else other
114
114
 
115
- def or_else_get(self, supplier: ta.Callable[[], T]) -> T:
115
+ def or_else_get(self, supplier: ta.Callable[[], T | U]) -> T | U:
116
116
  return self.must() if self else supplier()
117
117
 
118
118
  def or_else_raise(self, exception_supplier: ta.Callable[[], Exception]) -> T:
@@ -1,3 +1,4 @@
1
+ # ruff: noqa: UP006 UP007
1
2
  import socket
2
3
  import typing as ta
3
4
 
@@ -22,6 +23,7 @@ class CoroHttpServerConnectionFdIoHandler(SocketFdIoHandler):
22
23
  *,
23
24
  read_size: int = 0x10000,
24
25
  write_size: int = 0x10000,
26
+ log_handler: ta.Optional[ta.Callable[[CoroHttpServer, CoroHttpServer.AnyLogIo], None]] = None,
25
27
  ) -> None:
26
28
  check_state(not sock.getblocking())
27
29
 
@@ -30,6 +32,7 @@ class CoroHttpServerConnectionFdIoHandler(SocketFdIoHandler):
30
32
  self._handler = handler
31
33
  self._read_size = read_size
32
34
  self._write_size = write_size
35
+ self._log_handler = log_handler
33
36
 
34
37
  self._read_buf = ReadableListBuffer()
35
38
  self._write_buf: IncrementalWriteBuffer | None = None
@@ -64,7 +67,8 @@ class CoroHttpServerConnectionFdIoHandler(SocketFdIoHandler):
64
67
  break
65
68
 
66
69
  if isinstance(o, CoroHttpServer.AnyLogIo):
67
- print(o)
70
+ if self._log_handler is not None:
71
+ self._log_handler(self._coro_srv, o)
68
72
  o = None
69
73
 
70
74
  elif isinstance(o, CoroHttpServer.ReadIo):
omlish/lite/marshal.py CHANGED
@@ -165,6 +165,13 @@ class PolymorphicObjMarshaler(ObjMarshaler):
165
165
  impls_by_ty: ta.Mapping[type, Impl]
166
166
  impls_by_tag: ta.Mapping[str, Impl]
167
167
 
168
+ @classmethod
169
+ def of(cls, impls: ta.Iterable[Impl]) -> 'PolymorphicObjMarshaler':
170
+ return cls(
171
+ {i.ty: i for i in impls},
172
+ {i.tag: i for i in impls},
173
+ )
174
+
168
175
  def marshal(self, o: ta.Any) -> ta.Any:
169
176
  impl = self.impls_by_ty[type(o)]
170
177
  return {impl.tag: impl.m.marshal(o)}
@@ -252,7 +259,7 @@ def _make_obj_marshaler(
252
259
  ) -> ObjMarshaler:
253
260
  if isinstance(ty, type):
254
261
  if abc.ABC in ty.__bases__:
255
- impls = [ # type: ignore
262
+ return PolymorphicObjMarshaler.of([ # type: ignore
256
263
  PolymorphicObjMarshaler.Impl(
257
264
  ity,
258
265
  ity.__qualname__,
@@ -260,11 +267,7 @@ def _make_obj_marshaler(
260
267
  )
261
268
  for ity in deep_subclasses(ty)
262
269
  if abc.ABC not in ity.__bases__
263
- ]
264
- return PolymorphicObjMarshaler(
265
- {i.ty: i for i in impls},
266
- {i.tag: i for i in impls},
267
- )
270
+ ])
268
271
 
269
272
  if issubclass(ty, enum.Enum):
270
273
  return EnumObjMarshaler(ty)
omlish/marshal/base.py CHANGED
@@ -89,8 +89,8 @@ from .. import check
89
89
  from .. import collections as col
90
90
  from .. import dataclasses as dc
91
91
  from .. import lang
92
- from .. import matchfns as mfs
93
92
  from .. import reflect as rfl
93
+ from ..funcs import match as mfs
94
94
  from .exceptions import UnhandledTypeError
95
95
  from .factories import RecursiveTypeFactory
96
96
  from .factories import TypeCacheFactory
@@ -3,8 +3,8 @@ import threading
3
3
  import typing as ta
4
4
 
5
5
  from .. import check
6
- from .. import matchfns as mfs
7
6
  from .. import reflect as rfl
7
+ from ..funcs import match as mfs
8
8
 
9
9
 
10
10
  R = ta.TypeVar('R')
@@ -1,8 +1,8 @@
1
1
  import dataclasses as dc
2
2
  import typing as ta
3
3
 
4
- from .. import matchfns as mfs
5
4
  from .. import reflect as rfl
5
+ from ..funcs import match as mfs
6
6
  from .base import MarshalContext
7
7
  from .base import Marshaler
8
8
  from .base import UnmarshalContext
@@ -8,8 +8,8 @@ import functools
8
8
  import typing as ta
9
9
 
10
10
  from .. import check
11
- from .. import matchfns as mfs
12
11
  from .. import reflect as rfl
12
+ from ..funcs import match as mfs
13
13
  from .base import MarshalContext
14
14
  from .base import Marshaler
15
15
  from .base import MarshalerFactoryMatchClass
@@ -3,8 +3,8 @@ import dataclasses as dc
3
3
  import typing as ta
4
4
 
5
5
  from .. import check
6
- from .. import matchfns as mfs
7
6
  from .. import reflect as rfl
7
+ from ..funcs import match as mfs
8
8
  from .base import MarshalContext
9
9
  from .base import Marshaler
10
10
  from .base import MarshalerFactoryMatchClass
omlish/marshal/maybes.py CHANGED
@@ -7,8 +7,8 @@ import typing as ta
7
7
 
8
8
  from .. import check
9
9
  from .. import lang
10
- from .. import matchfns as mfs
11
10
  from .. import reflect as rfl
11
+ from ..funcs import match as mfs
12
12
  from .base import MarshalContext
13
13
  from .base import Marshaler
14
14
  from .base import MarshalerFactoryMatchClass
@@ -1,4 +1,4 @@
1
- from .. import matchfns as mfs
1
+ from ..funcs import match as mfs
2
2
  from .any import ANY_MARSHALER_FACTORY
3
3
  from .any import ANY_UNMARSHALER_FACTORY
4
4
  from .base import MarshalerFactory
omlish/marshal/unions.py CHANGED
@@ -4,8 +4,8 @@ from .. import cached
4
4
  from .. import check
5
5
  from .. import dataclasses as dc
6
6
  from .. import lang
7
- from .. import matchfns as mfs
8
7
  from .. import reflect as rfl
8
+ from ..funcs import match as mfs
9
9
  from .base import MarshalContext
10
10
  from .base import Marshaler
11
11
  from .base import MarshalerFactory
omlish/secrets/pwhash.py CHANGED
@@ -28,7 +28,7 @@ import secrets
28
28
 
29
29
 
30
30
  SALT_CHARS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
31
- DEFAULT_PBKDF2_ITERATIONS = 600000
31
+ DEFAULT_PBKDF2_ITERATIONS = 600_000
32
32
 
33
33
 
34
34
  def gen_salt(length: int) -> str:
@@ -32,7 +32,9 @@ def pipe_fd_subprocess_file_input(buf: bytes) -> ta.Iterator[SubprocessFileInput
32
32
  try:
33
33
  if hasattr(fcntl, 'F_SETPIPE_SZ'):
34
34
  fcntl.fcntl(wfd, fcntl.F_SETPIPE_SZ, max(len(buf), 0x1000))
35
- os.write(wfd, buf)
35
+ n = os.write(wfd, buf)
36
+ if n != len(buf):
37
+ raise OSError(f'Failed to write data to pipe: {n=} {len(buf)=}')
36
38
  os.close(wfd)
37
39
  closed_wfd = True
38
40
  yield SubprocessFileInput(f'/dev/fd/{rfd}', [rfd])
@@ -4,8 +4,8 @@ from ... import check
4
4
  from ... import dataclasses as dc
5
5
  from ... import lang
6
6
  from ... import marshal as msh
7
- from ... import matchfns as mfs
8
7
  from ... import reflect as rfl
8
+ from ...funcs import match as mfs
9
9
  from .types import NotSpecified
10
10
 
11
11
 
@@ -4,8 +4,8 @@ from ... import check
4
4
  from ... import dataclasses as dc
5
5
  from ... import lang
6
6
  from ... import marshal as msh
7
- from ... import matchfns as mfs
8
7
  from ... import reflect as rfl
8
+ from ...funcs import match as mfs
9
9
  from .openapi import Reference
10
10
 
11
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omlish
3
- Version: 0.0.0.dev134
3
+ Version: 0.0.0.dev137
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -1,19 +1,15 @@
1
- omlish/.manifests.json,sha256=CxGnj-UiRPlZgmgWoovDWrOnqpSEmBy_kqA7cdfSA3w,1431
2
- omlish/__about__.py,sha256=VbiavsAPDxYSejJ3ZdJJNSJAID1MpR3SYmAYcFX-E2U,3379
1
+ omlish/.manifests.json,sha256=RX24SRc6DCEg77PUVnaXOKCWa5TF_c9RQJdGIf7gl9c,1135
2
+ omlish/__about__.py,sha256=keq7273S1vADjELx7wkIYWHvdZy7TM3pyrMqOHXwNYg,3379
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/argparse.py,sha256=cqKGAqcxuxv_s62z0gq29L9KAvg_3-_rFvXKjVpRJjo,8126
5
5
  omlish/c3.py,sha256=ubu7lHwss5V4UznbejAI0qXhXahrU01MysuHOZI9C4U,8116
6
- omlish/cached.py,sha256=vn3ZiKy0d3NW_kzoXCi_Fg_s5vUcH0LQ1idfKBcQhzk,489
6
+ omlish/cached.py,sha256=UI-XTFBwA6YXWJJJeBn-WkwBkfzDjLBBaZf4nIJA9y0,510
7
7
  omlish/check.py,sha256=Li5xmecEyWKMzlwWyd6xDHpq3F4lE6IFOPBWdylCnpU,10540
8
8
  omlish/datetimes.py,sha256=HajeM1kBvwlTa-uR1TTZHmZ3zTPnnUr1uGGQhiO1XQ0,2152
9
9
  omlish/defs.py,sha256=T3bq_7h_tO3nDB5RAFBn7DkdeQgqheXzkFColbOHZko,4890
10
10
  omlish/dynamic.py,sha256=35C_cCX_Vq2HrHzGk5T-zbrMvmUdiIiwDzDNixczoDo,6541
11
- omlish/fnpairs.py,sha256=3ZPV5DRTWSFA8_DYKL4iXT-E4483QdfUfshs-X_UVIs,10603
12
- omlish/fnpipes.py,sha256=E7Sz8Aj8ke_vCs5AMNwg1I36kRdHVGTnzxVQaDyn43U,2490
13
- omlish/genmachine.py,sha256=RlU-y_dt2nRdvoo7Z3HsUELlBn3KuyI4qUnqLVbChRI,2450
14
11
  omlish/iterators.py,sha256=GGLC7RIT86uXMjhIIIqnff_Iu5SI_b9rXYywYGFyzmo,7292
15
12
  omlish/libc.py,sha256=8r7Ejyhttk9ruCfBkxNTrlzir5WPbDE2vmY7VPlceMA,15362
16
- omlish/matchfns.py,sha256=I1IlQGfEyk_AcFSy6ulVS3utC-uwyZM2YfUXYHc9Bw0,6152
17
13
  omlish/multiprocessing.py,sha256=QZT4C7I-uThCAjaEY3xgUYb-5GagUlnE4etN01LDyU4,5186
18
14
  omlish/os.py,sha256=5nJ-a9JKSMoaZVZ1eOa5BAbfL7o7CF7ue_PyJwufnwY,1460
19
15
  omlish/runmodule.py,sha256=PWvuAaJ9wQQn6bx9ftEL3_d04DyotNn8dR_twm2pgw0,700
@@ -96,14 +92,14 @@ omlish/bootstrap/main.py,sha256=yZhOHDDlj4xB5a89dRdT8z58FsqqnpoBg1-tvY2CJe4,5903
96
92
  omlish/bootstrap/marshal.py,sha256=ZxdAeMNd2qXRZ1HUK89HmEhz8tqlS9OduW34QBscKw0,516
97
93
  omlish/bootstrap/sys.py,sha256=iLHUNIuIPv-k-Mc6aHj5sSET78olCVt7t0HquFDO4iQ,8762
98
94
  omlish/collections/__init__.py,sha256=zeUvcAz073ekko37QKya6sElTMfKTuF1bKrdbMtaRpI,2142
99
- omlish/collections/_abc.py,sha256=sP7BpTVhx6s6C59mTFeosBi4rHOWC6tbFBYbxdZmvh0,2365
95
+ omlish/collections/abc.py,sha256=sP7BpTVhx6s6C59mTFeosBi4rHOWC6tbFBYbxdZmvh0,2365
100
96
  omlish/collections/coerce.py,sha256=o11AMrUiyoadd8WkdqeKPIpXf2xd0LyylzNCyJivCLU,7036
101
97
  omlish/collections/exceptions.py,sha256=shcS-NCnEUudF8qC_SmO2TQyjivKlS4TDjaz_faqQ0c,44
102
98
  omlish/collections/frozen.py,sha256=DGxemj_pVID85tSBm-Wns_x4ov0wOEIT6X5bVgJtmkA,4152
103
99
  omlish/collections/hasheq.py,sha256=XcOCE6f2lXizDCOXxSX6vJv-rLcpDo2OWCYIKGSWuic,3697
104
100
  omlish/collections/identity.py,sha256=jhEpC8tnfh3Sg-MJff1Fp9eMydt150wits_UeVdctUk,2723
105
101
  omlish/collections/indexed.py,sha256=tFQsIWH4k9QqsF5VB7DsIVNsRThiQNx-ooRF36X_PnU,2203
106
- omlish/collections/mappings.py,sha256=eEifLZez-BWunTuj6974bGxBFfNRODZpu6Oa7_2ME94,3190
102
+ omlish/collections/mappings.py,sha256=laXV4WU1VZPGwaJQsJCQsmL3BVeUfELljTZ6a5sfg0s,3206
107
103
  omlish/collections/ordered.py,sha256=RzEC3fHvrDeJQSWThVDNYQKke263Vje1II5YwtDwT1Q,2335
108
104
  omlish/collections/persistent.py,sha256=KG471s0bhhReQrjlmX0xaN9HeAIcrtT264ddZCxsExo,875
109
105
  omlish/collections/skiplist.py,sha256=xjuKZtSScp1VnOi9lpf7I090vGp1DnjA5ELjFhMeGps,5987
@@ -160,7 +156,7 @@ omlish/diag/pycharm.py,sha256=7-r_F-whXt8v-0dehxAX-MeMFPM3iZXX9IfeL0GfUtk,4643
160
156
  omlish/diag/pydevd.py,sha256=UN55ZjkWLCVyHxE2CNRRYamuvSKfzWsn0D5oczRTXO4,7536
161
157
  omlish/diag/threads.py,sha256=1-x02VCDZ407gfbtXm1pWK-ubqhqfePm9PMqkHCVoqk,3642
162
158
  omlish/diag/_pycharm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
- omlish/diag/_pycharm/runhack.py,sha256=kuRgiMYYsM0wkHwJfbN2ao79OFxmfjV1vkGaEspLKRA,35080
159
+ omlish/diag/_pycharm/runhack.py,sha256=JFz4GVN4AXndJo38iwnK5X_vH2MS6wyO8YmVZss5YRE,35157
164
160
  omlish/diag/replserver/__init__.py,sha256=uLo6V2aQ29v9z3IMELlPDSlG3_2iOT4-_X8VniF-EgE,235
165
161
  omlish/diag/replserver/__main__.py,sha256=LmU41lQ58bm1h4Mx7S8zhE_uEBSC6kPcp9mn5JRpulA,32
166
162
  omlish/diag/replserver/console.py,sha256=XzBDVhYlr8FY6ym4OwoaIHuFOHnGK3dTYlMDIOMUUlA,7410
@@ -196,19 +192,16 @@ omlish/formats/json/backends/jiter.py,sha256=8qv_XWGpcupPtVm6Z_egHio_iY1Kk8eqkvX
196
192
  omlish/formats/json/backends/orjson.py,sha256=wR8pMGFtkhZGHcNVk7vNYUnv8lUapdK89p6QpETIs9w,3778
197
193
  omlish/formats/json/backends/std.py,sha256=PM00Kh9ZR2XzollHMEvdo35Eml1N-zFfRW-LOCV5ftM,3085
198
194
  omlish/formats/json/backends/ujson.py,sha256=BNJCU4kluGHdqTUKLJEuHhE2m2TmqR7HEN289S0Eokg,2278
199
- omlish/formats/json/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
- omlish/formats/json/cli/__main__.py,sha256=1wxxKZVkj_u7HCcewwMIbGuZj_Wph95yrUbm474Op9M,188
201
- omlish/formats/json/cli/cli.py,sha256=dRtkX9cqXmff0RnYXAyXX324zbi2z0cg2Efp_5BOx0k,9575
202
- omlish/formats/json/cli/formats.py,sha256=FUZ0ptn3n0ljei2_o0t5UtmZkMB3_5p1pE-hgDD3-ak,1721
203
- omlish/formats/json/cli/io.py,sha256=IoJ5asjS_gUan5TcrGgS0KpJaiSE5YQgEGljFMCcDto,1427
204
- omlish/formats/json/cli/parsing.py,sha256=GfD6Om9FDaTJ662qROKSftSdp95tbw22Ids_vkMJV7U,2100
205
- omlish/formats/json/cli/processing.py,sha256=UXHA_5El1qSDjPlJBBfREzHA_T2GNmP6nD1X99GNqOM,1214
206
- omlish/formats/json/cli/rendering.py,sha256=cmnGAUqY0vKlMYHMBydIBgbs23Isdobf1F8cRk8o9f0,2182
207
195
  omlish/formats/json/stream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
196
  omlish/formats/json/stream/build.py,sha256=MSxgreWSfI5CzNAdgQrArZ0yWqDsaHl-shI_jmjLDms,2505
209
- omlish/formats/json/stream/lex.py,sha256=_JYoWFRpo3_dQmT7xXCWGFNoBT4M8m97G9oGzwPZeo4,6483
210
- omlish/formats/json/stream/parse.py,sha256=WkbW7tvcdrTSluKhw70nPvjsq943eryVcjx8FSz78tM,5198
197
+ omlish/formats/json/stream/lex.py,sha256=_JYBFnAyHsw_3hu8I0rvZqSSkRCU1BvQzgO81KfqRBg,6489
198
+ omlish/formats/json/stream/parse.py,sha256=s21PgiuNTcqc_i9QS1ggmEp8Qwp_hOqtosr5d0zpg_o,5204
211
199
  omlish/formats/json/stream/render.py,sha256=NtmDsN92xZi5dkgSSuMeMXMAiJblmjz1arB4Ft7vBhc,3715
200
+ omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
+ omlish/funcs/genmachine.py,sha256=XEHy8SFgHCDYSAqlRm-7wlYQX2h6UWehR2_uMw9EOXU,2509
202
+ omlish/funcs/match.py,sha256=gMLZn1enNiFvQaWrQubY300M1BrmdKWzeePihBS7Ywc,6153
203
+ omlish/funcs/pairs.py,sha256=OzAwnALkRJXVpD47UvBZHKzQfHtFNry_EgjTcC7vgLU,10606
204
+ omlish/funcs/pipes.py,sha256=E7Sz8Aj8ke_vCs5AMNwg1I36kRdHVGTnzxVQaDyn43U,2490
212
205
  omlish/graphs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
206
  omlish/graphs/dags.py,sha256=zp55lYgUdRCxmADwiGDHeehMJczZFA_tzdWqy77icOk,3047
214
207
  omlish/graphs/domination.py,sha256=oCGoWzWTxLwow0LDyGjjEf2AjFiOiDz4WaBtczwSbsQ,7576
@@ -229,7 +222,7 @@ omlish/http/headers.py,sha256=ZMmjrEiYjzo0YTGyK0YsvjdwUazktGqzVVYorY4fd44,5081
229
222
  omlish/http/json.py,sha256=9XwAsl4966Mxrv-1ytyCqhcE6lbBJw-0_tFZzGszgHE,7440
230
223
  omlish/http/jwt.py,sha256=6Rigk1WrJ059DY4jDIKnxjnChWb7aFdermj2AI2DSvk,4346
231
224
  omlish/http/multipart.py,sha256=R9ycpHsXRcmh0uoc43aYb7BdWL-8kSQHe7J-M81aQZM,2240
232
- omlish/http/sessions.py,sha256=VZ_WS5uiQG5y7i3u8oKuQMqf8dPKUOjFm_qk_0OvI8c,4793
225
+ omlish/http/sessions.py,sha256=WVRTy2KjehwQiYTPn7r44gZ4Pqg8sDC_9-wiYON0344,4796
233
226
  omlish/http/sse.py,sha256=MDs9RvxQXoQliImcc6qK1ERajEYM7Q1l8xmr-9ceNBc,2315
234
227
  omlish/http/wsgi.py,sha256=czZsVUX-l2YTlMrUjKN49wRoP4rVpS0qpeBn4O5BoMY,948
235
228
  omlish/inject/__init__.py,sha256=n0RC9UDGsBQQ39cST39-XJqJPq2M0tnnh9yJubW9azo,1891
@@ -263,10 +256,18 @@ omlish/inject/impl/providers.py,sha256=QnwhsujJFIHC0JTgd2Wlo1kP53i3CWTrj1nKU2DNx
263
256
  omlish/inject/impl/proxy.py,sha256=1ko0VaKqzu9UG8bIldp9xtUrAVUOFTKWKTjOCqIGr4s,1636
264
257
  omlish/inject/impl/scopes.py,sha256=hKnzNieB-fJSFEXDP_QG1mCfIKoVFIfFlf9LiIt5tk4,5920
265
258
  omlish/io/__init__.py,sha256=aaIEsXTSfytW-oEkUWczdUJ_ifFY7ihIpyidIbfjkwY,56
266
- omlish/io/_abc.py,sha256=Cxs8KB1B_69rxpUYxI-MTsilAmNooJJn3w07DKqYKkE,1255
259
+ omlish/io/abc.py,sha256=Cxs8KB1B_69rxpUYxI-MTsilAmNooJJn3w07DKqYKkE,1255
260
+ omlish/io/generators.py,sha256=ZlAp_t0ZD_aKztlio1i_hezmpIFFjaiXtrnY6-2QsPs,1123
267
261
  omlish/io/pyio.py,sha256=YB3g6yg64MzcFwbzKBo4adnbsbZ3FZMlOZfjNtWmYoc,95316
268
262
  omlish/io/trampoline.py,sha256=oUKTQg1F5xQS1431Kt7MbK-NZpX509ubcXU-s86xJr8,7171
269
- omlish/lang/__init__.py,sha256=f7FZLBp3n_edtP5EBK2NoEOi01MIgVs51Z-MbmLsLR8,3760
263
+ omlish/io/compress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
+ omlish/io/compress/abc.py,sha256=R9ebpSjJK4VAimV3OevPJB-jSDTGB_xi2FKNZKbTdYE,3054
265
+ omlish/io/compress/adapters.py,sha256=wS7cA_quham3C23j3_H6sf2EQ4gI0vURTQdPhapiiFE,6088
266
+ omlish/io/compress/bz2.py,sha256=XxpAKdQ5pdWfa23a0F6ZspU_GxHhyJVVPjv2SCyw4hM,1006
267
+ omlish/io/compress/gzip.py,sha256=TUjbE5cjiHXd2ZMsRgXBlSW3mCF7xMt_NvIRTYddBCQ,11054
268
+ omlish/io/compress/lzma.py,sha256=rM6FXWeD6s-K-Sfxn04AaFILS-v4rliWKlPnAl_RrJw,803
269
+ omlish/io/compress/types.py,sha256=IuCyxFX8v12fGqCq2ofCCRM5ZM-4zngHeeBW_PWqYbM,557
270
+ omlish/lang/__init__.py,sha256=U6-WtzQL48e9wqWHmxuA1X2PoGlx6Di2HSAi13gTwjw,3866
270
271
  omlish/lang/cached.py,sha256=92TvRZQ6sWlm7dNn4hgl7aWKbX0J1XUEo3DRjBpgVQk,7834
271
272
  omlish/lang/clsdct.py,sha256=AjtIWLlx2E6D5rC97zQ3Lwq2SOMkbg08pdO_AxpzEHI,1744
272
273
  omlish/lang/cmp.py,sha256=5vbzWWbqdzDmNKAGL19z6ZfUKe5Ci49e-Oegf9f4BsE,1346
@@ -275,9 +276,10 @@ omlish/lang/datetimes.py,sha256=ehI_DhQRM-bDxAavnp470XcekbbXc4Gdw9y1KpHDJT0,223
275
276
  omlish/lang/descriptors.py,sha256=RRBbkMgTzg82fFFE4D0muqobpM-ZZaOta6yB1lpX3s8,6617
276
277
  omlish/lang/exceptions.py,sha256=qJBo3NU1mOWWm-NhQUHCY5feYXR3arZVyEHinLsmRH4,47
277
278
  omlish/lang/functions.py,sha256=kkPfcdocg-OmyN7skIqrFxNvqAv89Zc_kXKYAN8vw8g,3895
279
+ omlish/lang/generators.py,sha256=AShh0x-9Z9qolAYEOZJgYJcxQuyA3HKq0c9tLwNcFs4,3766
278
280
  omlish/lang/imports.py,sha256=TXLbj2F53LsmozlM05bQhvow9kEgWJOi9qYKsnm2D18,9258
279
- omlish/lang/iterables.py,sha256=xRwktm6i2RHSb_ELfAXdjITIfE69qDyMEzgeZqvQXiU,2386
280
- omlish/lang/maybes.py,sha256=es84ECP0D9exVT9WF7MNlKKuCev-T56oUx92oTABkfU,3389
281
+ omlish/lang/iterables.py,sha256=1bc-Vn-b34T6Gy3li2tMNYpUvuwCC7fjg7dpjXkTfWY,1746
282
+ omlish/lang/maybes.py,sha256=1RN7chX_x2XvgUwryZRz0W7hAX-be3eEFcFub5vvf6M,3417
281
283
  omlish/lang/objects.py,sha256=LOC3JvX1g5hPxJ7Sv2TK9kNkAo9c8J-Jw2NmClR_rkA,4576
282
284
  omlish/lang/resolving.py,sha256=OuN2mDTPNyBUbcrswtvFKtj4xgH4H4WglgqSKv3MTy0,1606
283
285
  omlish/lang/resources.py,sha256=yywDWhh0tsgw24l7mHYv49ll4oZS8Kc8MSCa8f4UbbI,2280
@@ -308,7 +310,7 @@ omlish/lite/io.py,sha256=3ECgUXdRnXyS6pGTSoVr6oB4moI38EpWxTq08zaTM-U,5339
308
310
  omlish/lite/journald.py,sha256=f5Y2Q6-6O3iK_7MoGiwZwoQEOcP7LfkxxQNUR9tMjJM,3882
309
311
  omlish/lite/json.py,sha256=7-02Ny4fq-6YAu5ynvqoijhuYXWpLmfCI19GUeZnb1c,740
310
312
  omlish/lite/logs.py,sha256=1pcGu0ekhVCcLUckLSP16VccnAoprjtl5Vkdfm7y1Wg,6184
311
- omlish/lite/marshal.py,sha256=SyYMsJ-TaGO9FX7LykBB0WtqsqetX9eLBotPiz3M_xg,9478
313
+ omlish/lite/marshal.py,sha256=rAOAuJ4uGtcODxYR0YjhO6UGaFOdDuRXJcgTXdytBAw,9559
312
314
  omlish/lite/maybes.py,sha256=7OlHJ8Q2r4wQ-aRbZSlJY7x0e8gDvufFdlohGEIJ3P4,833
313
315
  omlish/lite/pidfile.py,sha256=PRSDOAXmNkNwxh-Vwif0Nrs8RAmWroiNhLKIbdjwzBc,1723
314
316
  omlish/lite/reflect.py,sha256=ad_ya_zZJOQB8HoNjs9yc66R54zgflwJVPJqiBXMzqA,1681
@@ -320,7 +322,7 @@ omlish/lite/strings.py,sha256=QURcE4-1pKVW8eT_5VCJpXaHDWR2dW2pYOChTJnZDiQ,1504
320
322
  omlish/lite/subprocesses.py,sha256=_YwUpvfaC2pV5TMC9-Ivuw1Ao-YxteD3a1NQwGERft4,3380
321
323
  omlish/lite/typing.py,sha256=U3-JaEnkDSYxK4tsu_MzUn3RP6qALBe5FXQXpD-licE,1090
322
324
  omlish/lite/fdio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
323
- omlish/lite/fdio/corohttp.py,sha256=5kzuM1cssA2D7rfknHFxylpjBNfA5tQSPkIRY2Ilapo,3825
325
+ omlish/lite/fdio/corohttp.py,sha256=VuS4IaAluMPgtl9iQnMnKQsEMlqruN6B1BKkTV0WWKk,4080
324
326
  omlish/lite/fdio/handlers.py,sha256=ukUiwF8-UCr4mzTTfOaTipC0k3k7THiHnohVdYfH69o,1341
325
327
  omlish/lite/fdio/kqueue.py,sha256=lIWvvRpRyak0dmzE6FPtCdS02HGo0EEI0D1g8cWyLYk,3832
326
328
  omlish/lite/fdio/manager.py,sha256=-gMVzk4B1YTZS-d2TdM12woUme37pcNVUxNTiLe91lA,1250
@@ -331,7 +333,7 @@ omlish/lite/http/handlers.py,sha256=Yu0P3nqz-frklwCM2PbiWvoJNE-NqeTFLBvpNpqcdtA,
331
333
  omlish/lite/http/parsing.py,sha256=jLdbBTQQhKU701j3_Ixl77nQE3rZld2qbJNAFhuW_cc,13977
332
334
  omlish/lite/http/versions.py,sha256=M6WhZeeyun-3jL_NCViNONOfLCiApuFOfe5XNJwzSvw,394
333
335
  omlish/logs/__init__.py,sha256=FbOyAW-lGH8gyBlSVArwljdYAU6RnwZLI5LwAfuNnrk,438
334
- omlish/logs/_abc.py,sha256=rWySJcr1vatu-AR1EYtODRhi-TjFaixqUzXeWg1c0GA,8006
336
+ omlish/logs/abc.py,sha256=rWySJcr1vatu-AR1EYtODRhi-TjFaixqUzXeWg1c0GA,8006
335
337
  omlish/logs/configs.py,sha256=EE0jlNaXJbGnM7V-y4xS5VwyTBSTzFzc0BYaVjg0JmA,1283
336
338
  omlish/logs/formatters.py,sha256=q79nMnR2mRIStPyGrydQHpYTXgC5HHptt8lH3W2Wwbs,671
337
339
  omlish/logs/handlers.py,sha256=UpzUf3kWBBzWOnrtljoZsLjISw3Ix-ePz3Nsmp6lRgE,255
@@ -339,19 +341,19 @@ omlish/logs/noisy.py,sha256=Ubc-eTH6ZbGYsLfUUi69JAotwuUwzb-SJBeGo_0dIZI,348
339
341
  omlish/logs/utils.py,sha256=MgGovbP0zUrZ3FGD3qYNQWn-l0jy0Y0bStcQvv5BOmQ,391
340
342
  omlish/marshal/__init__.py,sha256=iVA7n31L08Bdub6HKPvYOXVvDhk2CMA6rPeKDL_u1to,2298
341
343
  omlish/marshal/any.py,sha256=e82OyYK3Emm1P1ClnsnxP7fIWC2iNVyW0H5nK4mLmWM,779
342
- omlish/marshal/base.py,sha256=7ZpJOMPlvtslhDdRlNZCC5MiUGu7Qfoq_S_miD0lmQY,6738
344
+ omlish/marshal/base.py,sha256=HEzfby-PgGzIhiRpBkFrkw5-hKacRSC5W_jwLjT8aYw,6740
343
345
  omlish/marshal/base64.py,sha256=F-3ogJdcFCtWINRgJgWT0rErqgx6f4qahhcg8OrkqhE,1089
344
346
  omlish/marshal/dataclasses.py,sha256=G6Uh8t4vvNBAx2BhzH8ksj8Hq_bo6npFphQhyF298VU,6892
345
347
  omlish/marshal/datetimes.py,sha256=0ffg8cEvx9SMKIXZGD9b7MqpLfmgw0uKKdn6YTfoqok,3714
346
348
  omlish/marshal/enums.py,sha256=CMAbx6RI2EcQoo7SoD-5q2l-3DFKreWMiOxs6mFpl_4,1472
347
349
  omlish/marshal/exceptions.py,sha256=jwQWn4LcPnadT2KRI_1JJCOSkwWh0yHnYK9BmSkNN4U,302
348
- omlish/marshal/factories.py,sha256=UV2Svjok-lTWsRqKGh-CeuAhvlohw9uJe7ZLyoKMvTM,2968
349
- omlish/marshal/forbidden.py,sha256=BNshzm4lN5O8sUZ1YvxrSYq3WPklq9NMQCRZ7RC3DLM,865
350
+ omlish/marshal/factories.py,sha256=Q926jSVjaQLEmStnHLhm_c_vqEysN1LnDCwAsFLIzXw,2970
351
+ omlish/marshal/forbidden.py,sha256=NDe828hqCQw-AgxcEm8MiDZNxWoBwf3o7sTyvQsSsQ0,867
350
352
  omlish/marshal/global_.py,sha256=K76wB1-pdg4VWgiqR7wyxRNYr-voJApexYW2nV-R4DM,1127
351
353
  omlish/marshal/helpers.py,sha256=-SOgYJmrURILHpPK6Wu3cCvhj8RJrqfJxuKhh9UMs7o,1102
352
- omlish/marshal/iterables.py,sha256=sPkbWJa6gSbAxsVojLDqF4BZA_xURmlXkHM4yJ1Jh2s,2630
353
- omlish/marshal/mappings.py,sha256=s2cFSLyo0PM1eoQ2-SONtFSOldk5ARsBj55-icvWZ5o,2787
354
- omlish/marshal/maybes.py,sha256=mgK3QsWHkXgRqo076KxYKH6elRxzJ_QDTodv93mgHR0,2198
354
+ omlish/marshal/iterables.py,sha256=H9FoCB5RlJW0SVSi3SBD6sxOXN9XRTOUkHRwCYSqRb8,2632
355
+ omlish/marshal/mappings.py,sha256=XcNOaV708ZHeuIrWiFHC6F1O6U9NyyTKUurvXwIryJo,2789
356
+ omlish/marshal/maybes.py,sha256=i-gOQJ-7tdt6sOazAeyCh4N71SK3jWv-BKlkx-fZm-s,2200
355
357
  omlish/marshal/namedtuples.py,sha256=H0icxcE5FrqgfI9dRc8LlXJy430g_yuILTCVD0Zvfd0,2799
356
358
  omlish/marshal/naming.py,sha256=lIklR_Od4x1ghltAgOzqcKhHs-leeSv2YmFhCHO7GIs,613
357
359
  omlish/marshal/newtypes.py,sha256=fRpXLoCpoiaqcvl7v92I1_Qt7udn4vsPc1P3UfcBu-8,841
@@ -362,8 +364,8 @@ omlish/marshal/optionals.py,sha256=r0XB5rqfasvgZJNrKYd6Unq2U4nHt3JURi26j0dYHlw,1
362
364
  omlish/marshal/polymorphism.py,sha256=2SxrfneA9QdhNdxieEGFnHDHpUo3ftETA9dMbCbmbWY,6511
363
365
  omlish/marshal/primitives.py,sha256=f_6m24Cb-FDGsZpYSas11nLt3xCCEUXugw3Hv4-aNhg,1291
364
366
  omlish/marshal/registries.py,sha256=FvC6qXHCizNB2QmU_N3orxW7iqfGYkiUXYYdTRWS6HA,2353
365
- omlish/marshal/standard.py,sha256=jarT6qEzwIAnZiJ24__AnNWVOJPV9z7LY_fvLvlwEWM,3319
366
- omlish/marshal/unions.py,sha256=Ghd1robwbCXqd5ssmgjIBf1nQ_A0RlIoL49VQQrSRyo,4355
367
+ omlish/marshal/standard.py,sha256=UMET8wkxf__ApIDuVcoCKsjNWwZejbICLeXhhmn56Nk,3321
368
+ omlish/marshal/unions.py,sha256=tT4W-mxuPi7s_kdl25_AUltsurYPO_0mQl2CiVmNonY,4357
367
369
  omlish/marshal/utils.py,sha256=puKJpwPpuDlMOIrKMcLTRLJyMiL6n_Xs-p59AuDEymA,543
368
370
  omlish/marshal/uuids.py,sha256=H4B7UX_EPNmP2tC8bubcKrPLTS4aQu98huvbXQ3Zv2g,910
369
371
  omlish/marshal/values.py,sha256=ssHiWdg_L6M17kAn8GiGdPW7UeQOm3RDikWkvwblf5I,263
@@ -381,9 +383,9 @@ omlish/secrets/crypto.py,sha256=6CsLy0UEqCrBK8Xx_3-iFF6SKtu2GlEqUQ8-MliY3tk,3709
381
383
  omlish/secrets/marshal.py,sha256=U9uSRTWzZmumfNZeh_dROwVdGrARsp155TylRbjilP8,2048
382
384
  omlish/secrets/openssl.py,sha256=wxA_wIlxtuOUy71ABxAJgavh-UI_taOfm-A0dVlmSwM,6219
383
385
  omlish/secrets/pwgen.py,sha256=v-5ztnOTHTAWXLGR-3H6HkMj2nPIZBMbo5xWR3q0rDY,1707
384
- omlish/secrets/pwhash.py,sha256=3r-vEK6Gp6aq4L5Csnd06QnrjO9xfzHJP-g_7I9W_ao,4101
386
+ omlish/secrets/pwhash.py,sha256=Goktn-swmC6PXqfRBnDrH_Lr42vjckT712UyErPjzkw,4102
385
387
  omlish/secrets/secrets.py,sha256=cnDGBoPknVxsCN04_gqcJT_7Ebk3iO3VPkRZ2oMjkMw,7868
386
- omlish/secrets/subprocesses.py,sha256=EcnKlHHtnUMHGrBWXDfu8tv28wlgZx4P4GOiuPW9Vo8,1105
388
+ omlish/secrets/subprocesses.py,sha256=ffjfbgPbEE_Pwb_87vG4yYR2CGZy3I31mHNCo_0JtHw,1212
387
389
  omlish/specs/__init__.py,sha256=zZwF8yXTEkSstYtORkDhVLK-_hWU8WOJCuBpognb_NY,118
388
390
  omlish/specs/jmespath/LICENSE,sha256=IH-ZZlZkS8XMkf_ubNVD1aYHQ2l_wd0tmHtXrCcYpRU,1113
389
391
  omlish/specs/jmespath/__init__.py,sha256=9tsrquw1kXe1KAhTP3WeL0GlGBiTguQVxsC-lUYTWP4,2087
@@ -398,7 +400,7 @@ omlish/specs/jmespath/scope.py,sha256=UyDsl9rv_c8DCjJBuVIA2ESu1jrgYvuwEKiaJDQKnT
398
400
  omlish/specs/jmespath/visitor.py,sha256=yneRMO4qf3k2Mdcm2cPC0ozRgOaudzlxRVRGatztJzs,16569
399
401
  omlish/specs/jsonrpc/__init__.py,sha256=E0EogYSKmbj1D-V57tBgPDTyVuD8HosHqVg0Vh1CVwM,416
400
402
  omlish/specs/jsonrpc/errors.py,sha256=-Zgmlo6bV6J8w5f8h9axQgLquIFBHDgIwcpufEH5NsE,707
401
- omlish/specs/jsonrpc/marshal.py,sha256=iXZNR7n0vfL_yiPFFYN-ZyGlzknNXExs2qC1HFChGPU,1913
403
+ omlish/specs/jsonrpc/marshal.py,sha256=hM1rPZddoha_87qcQtBWkyaZshCXlPoHPJg6J_nBi9k,1915
402
404
  omlish/specs/jsonrpc/types.py,sha256=g19j2_FCVJDXFqAkQ5U4LICkL4Z7vEBMU0t_aOEqio4,2159
403
405
  omlish/specs/jsonschema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
404
406
  omlish/specs/jsonschema/types.py,sha256=qoxExgKfrI-UZXdk3qcVZIEyp1WckFbb85_eGInEoAY,467
@@ -423,10 +425,10 @@ omlish/specs/jsonschema/schemas/draft202012/vocabularies/meta-data.json,sha256=j
423
425
  omlish/specs/jsonschema/schemas/draft202012/vocabularies/unevaluated.json,sha256=Lb-8tzmUtnCwl2SSre4f_7RsIWgnhNL1pMpWH54tDLQ,506
424
426
  omlish/specs/jsonschema/schemas/draft202012/vocabularies/validation.json,sha256=cBCjHlQfMtK-ch4t40jfdcmzaHaj7TBId_wKvaHTelg,2834
425
427
  omlish/specs/openapi/__init__.py,sha256=zilQhafjvteRDF_TUIRgF293dBC6g-TJChmUb6T9VBQ,77
426
- omlish/specs/openapi/marshal.py,sha256=ob_qUbT9-de86KhPjFccl_NP0liQcXK7Ao-b5Hn0VQA,2133
428
+ omlish/specs/openapi/marshal.py,sha256=Z-E2Knm04C81N8AA8cibCVSl2ImhSpHZVc7yAhmPx88,2135
427
429
  omlish/specs/openapi/openapi.py,sha256=y4h04jeB7ORJSVrcy7apaBdpwLjIyscv1Ub5SderH2c,12682
428
430
  omlish/sql/__init__.py,sha256=TpZLsEJKJzvJ0eMzuV8hwOJJbkxBCV1RZPUMLAVB6io,173
429
- omlish/sql/_abc.py,sha256=kiOitW_ZhTXrJanJ582wD7o9K69v6HXqDPkxuHEAxrc,1606
431
+ omlish/sql/abc.py,sha256=kiOitW_ZhTXrJanJ582wD7o9K69v6HXqDPkxuHEAxrc,1606
430
432
  omlish/sql/dbapi.py,sha256=5ghJH-HexsmDlYdWlhf00nCGQX2IC98_gxIxMkucOas,3195
431
433
  omlish/sql/dbs.py,sha256=lpdFmm2vTwLoBiVYGj9yPsVcTEYYNCxlYZZpjfChzkY,1870
432
434
  omlish/sql/params.py,sha256=Z4VPet6GhNqD1T_MXSWSHkdy3cpUEhST-OplC4B_fYI,4433
@@ -487,9 +489,9 @@ omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,329
487
489
  omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
488
490
  omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
489
491
  omlish/text/random.py,sha256=jNWpqiaKjKyTdMXC-pWAsSC10AAP-cmRRPVhm59ZWLk,194
490
- omlish-0.0.0.dev134.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
491
- omlish-0.0.0.dev134.dist-info/METADATA,sha256=L5wBl_EJCZwTtSLR1mK6J0GJ7kpHLt3w5U9UbbIWl3I,4173
492
- omlish-0.0.0.dev134.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
493
- omlish-0.0.0.dev134.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
494
- omlish-0.0.0.dev134.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
495
- omlish-0.0.0.dev134.dist-info/RECORD,,
492
+ omlish-0.0.0.dev137.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
493
+ omlish-0.0.0.dev137.dist-info/METADATA,sha256=iU_JPwXqYl0APiFu32-g6dTXny6kbXZWslNaWevwHEs,4173
494
+ omlish-0.0.0.dev137.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
495
+ omlish-0.0.0.dev137.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
496
+ omlish-0.0.0.dev137.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
497
+ omlish-0.0.0.dev137.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- # @omlish-manifest
2
- _CLI_MODULE = {'$omdev.cli.types.CliModule': {
3
- 'cmd_name': 'json',
4
- 'mod_name': __name__,
5
- }}
6
-
7
-
8
- if __name__ == '__main__':
9
- from .cli import _main
10
-
11
- _main()