omlish 0.0.0.dev405__py3-none-any.whl → 0.0.0.dev407__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.
Files changed (75) hide show
  1. omlish/.manifests.json +80 -80
  2. omlish/__about__.py +2 -2
  3. omlish/asyncs/anyio/sync.py +3 -0
  4. omlish/asyncs/bluelet/runner.py +1 -0
  5. omlish/asyncs/bluelet/sockets.py +2 -0
  6. omlish/asyncs/sync.py +1 -0
  7. omlish/bootstrap/__main__.py +3 -3
  8. omlish/bootstrap/base.py +2 -0
  9. omlish/bootstrap/harness.py +1 -0
  10. omlish/codecs/base.py +4 -4
  11. omlish/codecs/text.py +1 -0
  12. omlish/collections/frozen.py +1 -0
  13. omlish/collections/mappings.py +2 -0
  14. omlish/collections/ordered.py +1 -0
  15. omlish/collections/sorted/sorted.py +1 -0
  16. omlish/collections/trie.py +2 -2
  17. omlish/concurrent/executors.py +1 -0
  18. omlish/dataclasses/tools/modifiers.py +1 -0
  19. omlish/diag/procfs.py +3 -3
  20. omlish/diag/threads.py +1 -0
  21. omlish/formats/codecs.py +4 -4
  22. omlish/formats/dotenv.py +5 -0
  23. omlish/formats/props.py +1 -0
  24. omlish/formats/toml/writer.py +1 -0
  25. omlish/formats/yaml.py +1 -0
  26. omlish/funcs/pipes.py +3 -0
  27. omlish/graphs/trees.py +1 -0
  28. omlish/http/jwt.py +2 -0
  29. omlish/http/multipart.py +1 -0
  30. omlish/inject/impl/injector.py +1 -0
  31. omlish/io/buffers.py +2 -0
  32. omlish/io/compress/codecs.py +4 -4
  33. omlish/iterators/unique.py +1 -0
  34. omlish/lang/classes/restrict.py +1 -0
  35. omlish/lang/classes/simple.py +1 -0
  36. omlish/lang/contextmanagers.py +1 -0
  37. omlish/lang/descriptors.py +2 -0
  38. omlish/lang/objects.py +2 -0
  39. omlish/lang/resolving.py +1 -0
  40. omlish/lifecycles/contextmanagers.py +1 -0
  41. omlish/lite/cached.py +1 -0
  42. omlish/lite/inject.py +2 -0
  43. omlish/lite/secrets.py +1 -0
  44. omlish/logs/handlers.py +1 -0
  45. omlish/manifests/base.py +4 -4
  46. omlish/manifests/loading.py +111 -51
  47. omlish/manifests/static.py +2 -2
  48. omlish/manifests/types.py +2 -2
  49. omlish/marshal/factories.py +2 -0
  50. omlish/marshal/polymorphism/metadata.py +2 -0
  51. omlish/marshal/registries.py +1 -0
  52. omlish/multiprocessing/spawn.py +3 -0
  53. omlish/os/pidfiles/__main__.py +3 -3
  54. omlish/secrets/openssl.py +2 -0
  55. omlish/secrets/pwgen.py +3 -3
  56. omlish/secrets/secrets.py +5 -0
  57. omlish/specs/jmespath/__main__.py +3 -3
  58. omlish/specs/jmespath/errors.py +4 -0
  59. omlish/specs/jmespath/visitor.py +2 -0
  60. omlish/specs/jsonschema/keywords/base.py +1 -0
  61. omlish/sql/alchemy/apiadapter.py +1 -0
  62. omlish/sql/alchemy/asyncs.py +3 -0
  63. omlish/sql/alchemy/duckdb.py +2 -0
  64. omlish/sql/api/dbapi.py +2 -0
  65. omlish/sql/params.py +3 -0
  66. omlish/sql/queries/names.py +1 -0
  67. omlish/sync.py +3 -0
  68. omlish/testing/pytest/inject/harness.py +4 -2
  69. omlish/text/asdl.py +3 -0
  70. {omlish-0.0.0.dev405.dist-info → omlish-0.0.0.dev407.dist-info}/METADATA +1 -1
  71. {omlish-0.0.0.dev405.dist-info → omlish-0.0.0.dev407.dist-info}/RECORD +75 -75
  72. {omlish-0.0.0.dev405.dist-info → omlish-0.0.0.dev407.dist-info}/WHEEL +0 -0
  73. {omlish-0.0.0.dev405.dist-info → omlish-0.0.0.dev407.dist-info}/entry_points.txt +0 -0
  74. {omlish-0.0.0.dev405.dist-info → omlish-0.0.0.dev407.dist-info}/licenses/LICENSE +0 -0
  75. {omlish-0.0.0.dev405.dist-info → omlish-0.0.0.dev407.dist-info}/top_level.txt +0 -0
omlish/.manifests.json CHANGED
@@ -5,9 +5,9 @@
5
5
  "file": "omlish/bootstrap/__main__.py",
6
6
  "line": 1,
7
7
  "value": {
8
- "$omdev.cli.types.CliModule": {
9
- "cmd_name": "bootstrap",
10
- "mod_name": "omlish.bootstrap.__main__"
8
+ "!omdev.cli.types.CliModule": {
9
+ "name": "bootstrap",
10
+ "module": "omlish.bootstrap.__main__"
11
11
  }
12
12
  }
13
13
  },
@@ -17,9 +17,9 @@
17
17
  "file": "omlish/diag/procfs.py",
18
18
  "line": 361,
19
19
  "value": {
20
- "$omdev.cli.types.CliModule": {
21
- "cmd_name": "procfs",
22
- "mod_name": "omlish.diag.procfs"
20
+ "!omdev.cli.types.CliModule": {
21
+ "name": "procfs",
22
+ "module": "omlish.diag.procfs"
23
23
  }
24
24
  }
25
25
  },
@@ -29,9 +29,9 @@
29
29
  "file": "omlish/formats/cbor.py",
30
30
  "line": 30,
31
31
  "value": {
32
- "$.codecs.base.LazyLoadedCodec": {
33
- "mod_name": "omlish.formats.cbor",
34
- "attr_name": "CBOR_CODEC",
32
+ "!.codecs.base.LazyLoadedCodec": {
33
+ "module": "omlish.formats.cbor",
34
+ "attr": "CBOR_CODEC",
35
35
  "name": "cbor",
36
36
  "aliases": null
37
37
  }
@@ -43,9 +43,9 @@
43
43
  "file": "omlish/formats/cloudpickle.py",
44
44
  "line": 30,
45
45
  "value": {
46
- "$.codecs.base.LazyLoadedCodec": {
47
- "mod_name": "omlish.formats.cloudpickle",
48
- "attr_name": "CLOUDPICKLE_CODEC",
46
+ "!.codecs.base.LazyLoadedCodec": {
47
+ "module": "omlish.formats.cloudpickle",
48
+ "attr": "CLOUDPICKLE_CODEC",
49
49
  "name": "cloudpickle",
50
50
  "aliases": null
51
51
  }
@@ -57,9 +57,9 @@
57
57
  "file": "omlish/formats/edn/codec.py",
58
58
  "line": 25,
59
59
  "value": {
60
- "$.codecs.base.LazyLoadedCodec": {
61
- "mod_name": "omlish.formats.edn.codec",
62
- "attr_name": "EDN_CODEC",
60
+ "!.codecs.base.LazyLoadedCodec": {
61
+ "module": "omlish.formats.edn.codec",
62
+ "attr": "EDN_CODEC",
63
63
  "name": "edn",
64
64
  "aliases": null
65
65
  }
@@ -71,9 +71,9 @@
71
71
  "file": "omlish/formats/ini/codec.py",
72
72
  "line": 25,
73
73
  "value": {
74
- "$.codecs.base.LazyLoadedCodec": {
75
- "mod_name": "omlish.formats.ini.codec",
76
- "attr_name": "INI_CODEC",
74
+ "!.codecs.base.LazyLoadedCodec": {
75
+ "module": "omlish.formats.ini.codec",
76
+ "attr": "INI_CODEC",
77
77
  "name": "ini",
78
78
  "aliases": null
79
79
  }
@@ -85,9 +85,9 @@
85
85
  "file": "omlish/formats/json/codecs.py",
86
86
  "line": 14,
87
87
  "value": {
88
- "$.codecs.base.LazyLoadedCodec": {
89
- "mod_name": "omlish.formats.json.codecs",
90
- "attr_name": "JSON_CODEC",
88
+ "!.codecs.base.LazyLoadedCodec": {
89
+ "module": "omlish.formats.json.codecs",
90
+ "attr": "JSON_CODEC",
91
91
  "name": "json",
92
92
  "aliases": null
93
93
  }
@@ -99,9 +99,9 @@
99
99
  "file": "omlish/formats/json/codecs.py",
100
100
  "line": 21,
101
101
  "value": {
102
- "$.codecs.base.LazyLoadedCodec": {
103
- "mod_name": "omlish.formats.json.codecs",
104
- "attr_name": "JSON_COMPACT_CODEC",
102
+ "!.codecs.base.LazyLoadedCodec": {
103
+ "module": "omlish.formats.json.codecs",
104
+ "attr": "JSON_COMPACT_CODEC",
105
105
  "name": "json-compact",
106
106
  "aliases": null
107
107
  }
@@ -113,9 +113,9 @@
113
113
  "file": "omlish/formats/json/codecs.py",
114
114
  "line": 28,
115
115
  "value": {
116
- "$.codecs.base.LazyLoadedCodec": {
117
- "mod_name": "omlish.formats.json.codecs",
118
- "attr_name": "JSON_PRETTY_CODEC",
116
+ "!.codecs.base.LazyLoadedCodec": {
117
+ "module": "omlish.formats.json.codecs",
118
+ "attr": "JSON_PRETTY_CODEC",
119
119
  "name": "json-pretty",
120
120
  "aliases": null
121
121
  }
@@ -127,9 +127,9 @@
127
127
  "file": "omlish/formats/json5/codec.py",
128
128
  "line": 73,
129
129
  "value": {
130
- "$.codecs.base.LazyLoadedCodec": {
131
- "mod_name": "omlish.formats.json5.codec",
132
- "attr_name": "JSON5_CODEC",
130
+ "!.codecs.base.LazyLoadedCodec": {
131
+ "module": "omlish.formats.json5.codec",
132
+ "attr": "JSON5_CODEC",
133
133
  "name": "json5",
134
134
  "aliases": null
135
135
  }
@@ -141,9 +141,9 @@
141
141
  "file": "omlish/formats/pickle.py",
142
142
  "line": 30,
143
143
  "value": {
144
- "$.codecs.base.LazyLoadedCodec": {
145
- "mod_name": "omlish.formats.pickle",
146
- "attr_name": "PICKLE_CODEC",
144
+ "!.codecs.base.LazyLoadedCodec": {
145
+ "module": "omlish.formats.pickle",
146
+ "attr": "PICKLE_CODEC",
147
147
  "name": "pickle",
148
148
  "aliases": null
149
149
  }
@@ -155,9 +155,9 @@
155
155
  "file": "omlish/formats/repr.py",
156
156
  "line": 24,
157
157
  "value": {
158
- "$.codecs.base.LazyLoadedCodec": {
159
- "mod_name": "omlish.formats.repr",
160
- "attr_name": "REPR_CODEC",
158
+ "!.codecs.base.LazyLoadedCodec": {
159
+ "module": "omlish.formats.repr",
160
+ "attr": "REPR_CODEC",
161
161
  "name": "repr",
162
162
  "aliases": null
163
163
  }
@@ -169,9 +169,9 @@
169
169
  "file": "omlish/formats/toml/codec.py",
170
170
  "line": 16,
171
171
  "value": {
172
- "$.codecs.base.LazyLoadedCodec": {
173
- "mod_name": "omlish.formats.toml.codec",
174
- "attr_name": "TOML_CODEC",
172
+ "!.codecs.base.LazyLoadedCodec": {
173
+ "module": "omlish.formats.toml.codec",
174
+ "attr": "TOML_CODEC",
175
175
  "name": "toml",
176
176
  "aliases": null
177
177
  }
@@ -181,11 +181,11 @@
181
181
  "module": ".formats.yaml",
182
182
  "attr": "_YAML_LAZY_CODEC",
183
183
  "file": "omlish/formats/yaml.py",
184
- "line": 255,
184
+ "line": 256,
185
185
  "value": {
186
- "$.codecs.base.LazyLoadedCodec": {
187
- "mod_name": "omlish.formats.yaml",
188
- "attr_name": "YAML_CODEC",
186
+ "!.codecs.base.LazyLoadedCodec": {
187
+ "module": "omlish.formats.yaml",
188
+ "attr": "YAML_CODEC",
189
189
  "name": "yaml",
190
190
  "aliases": [
191
191
  "yml"
@@ -197,11 +197,11 @@
197
197
  "module": ".formats.yaml",
198
198
  "attr": "_YAML_UNSAFE_LAZY_CODEC",
199
199
  "file": "omlish/formats/yaml.py",
200
- "line": 262,
200
+ "line": 263,
201
201
  "value": {
202
- "$.codecs.base.LazyLoadedCodec": {
203
- "mod_name": "omlish.formats.yaml",
204
- "attr_name": "YAML_UNSAFE_CODEC",
202
+ "!.codecs.base.LazyLoadedCodec": {
203
+ "module": "omlish.formats.yaml",
204
+ "attr": "YAML_UNSAFE_CODEC",
205
205
  "name": "yaml-unsafe",
206
206
  "aliases": null
207
207
  }
@@ -213,9 +213,9 @@
213
213
  "file": "omlish/io/compress/brotli.py",
214
214
  "line": 46,
215
215
  "value": {
216
- "$.codecs.base.LazyLoadedCodec": {
217
- "mod_name": "omlish.io.compress.brotli",
218
- "attr_name": "BROTLI_CODEC",
216
+ "!.codecs.base.LazyLoadedCodec": {
217
+ "module": "omlish.io.compress.brotli",
218
+ "attr": "BROTLI_CODEC",
219
219
  "name": "brotli",
220
220
  "aliases": null
221
221
  }
@@ -227,9 +227,9 @@
227
227
  "file": "omlish/io/compress/bz2.py",
228
228
  "line": 60,
229
229
  "value": {
230
- "$.codecs.base.LazyLoadedCodec": {
231
- "mod_name": "omlish.io.compress.bz2",
232
- "attr_name": "BZ2_CODEC",
230
+ "!.codecs.base.LazyLoadedCodec": {
231
+ "module": "omlish.io.compress.bz2",
232
+ "attr": "BZ2_CODEC",
233
233
  "name": "bz2",
234
234
  "aliases": null
235
235
  }
@@ -241,9 +241,9 @@
241
241
  "file": "omlish/io/compress/gzip.py",
242
242
  "line": 349,
243
243
  "value": {
244
- "$.codecs.base.LazyLoadedCodec": {
245
- "mod_name": "omlish.io.compress.gzip",
246
- "attr_name": "GZIP_CODEC",
244
+ "!.codecs.base.LazyLoadedCodec": {
245
+ "module": "omlish.io.compress.gzip",
246
+ "attr": "GZIP_CODEC",
247
247
  "name": "gzip",
248
248
  "aliases": [
249
249
  "gz"
@@ -257,9 +257,9 @@
257
257
  "file": "omlish/io/compress/lz4.py",
258
258
  "line": 90,
259
259
  "value": {
260
- "$.codecs.base.LazyLoadedCodec": {
261
- "mod_name": "omlish.io.compress.lz4",
262
- "attr_name": "LZ4_CODEC",
260
+ "!.codecs.base.LazyLoadedCodec": {
261
+ "module": "omlish.io.compress.lz4",
262
+ "attr": "LZ4_CODEC",
263
263
  "name": "lz4",
264
264
  "aliases": null
265
265
  }
@@ -271,9 +271,9 @@
271
271
  "file": "omlish/io/compress/lzma.py",
272
272
  "line": 80,
273
273
  "value": {
274
- "$.codecs.base.LazyLoadedCodec": {
275
- "mod_name": "omlish.io.compress.lzma",
276
- "attr_name": "LZMA_CODEC",
274
+ "!.codecs.base.LazyLoadedCodec": {
275
+ "module": "omlish.io.compress.lzma",
276
+ "attr": "LZMA_CODEC",
277
277
  "name": "lzma",
278
278
  "aliases": null
279
279
  }
@@ -285,9 +285,9 @@
285
285
  "file": "omlish/io/compress/snappy.py",
286
286
  "line": 33,
287
287
  "value": {
288
- "$.codecs.base.LazyLoadedCodec": {
289
- "mod_name": "omlish.io.compress.snappy",
290
- "attr_name": "SNAPPY_CODEC",
288
+ "!.codecs.base.LazyLoadedCodec": {
289
+ "module": "omlish.io.compress.snappy",
290
+ "attr": "SNAPPY_CODEC",
291
291
  "name": "snappy",
292
292
  "aliases": null
293
293
  }
@@ -299,9 +299,9 @@
299
299
  "file": "omlish/io/compress/zlib.py",
300
300
  "line": 73,
301
301
  "value": {
302
- "$.codecs.base.LazyLoadedCodec": {
303
- "mod_name": "omlish.io.compress.zlib",
304
- "attr_name": "ZLIB_CODEC",
302
+ "!.codecs.base.LazyLoadedCodec": {
303
+ "module": "omlish.io.compress.zlib",
304
+ "attr": "ZLIB_CODEC",
305
305
  "name": "zlib",
306
306
  "aliases": null
307
307
  }
@@ -313,9 +313,9 @@
313
313
  "file": "omlish/io/compress/zstd.py",
314
314
  "line": 51,
315
315
  "value": {
316
- "$.codecs.base.LazyLoadedCodec": {
317
- "mod_name": "omlish.io.compress.zstd",
318
- "attr_name": "ZSTD_CODEC",
316
+ "!.codecs.base.LazyLoadedCodec": {
317
+ "module": "omlish.io.compress.zstd",
318
+ "attr": "ZSTD_CODEC",
319
319
  "name": "zstd",
320
320
  "aliases": null
321
321
  }
@@ -327,9 +327,9 @@
327
327
  "file": "omlish/os/pidfiles/__main__.py",
328
328
  "line": 1,
329
329
  "value": {
330
- "$omdev.cli.types.CliModule": {
331
- "cmd_name": "pidfiles",
332
- "mod_name": "omlish.os.pidfiles.__main__"
330
+ "!omdev.cli.types.CliModule": {
331
+ "name": "pidfiles",
332
+ "module": "omlish.os.pidfiles.__main__"
333
333
  }
334
334
  }
335
335
  },
@@ -339,9 +339,9 @@
339
339
  "file": "omlish/secrets/pwgen.py",
340
340
  "line": 78,
341
341
  "value": {
342
- "$omdev.cli.types.CliModule": {
343
- "cmd_name": "pwgen",
344
- "mod_name": "omlish.secrets.pwgen"
342
+ "!omdev.cli.types.CliModule": {
343
+ "name": "pwgen",
344
+ "module": "omlish.secrets.pwgen"
345
345
  }
346
346
  }
347
347
  },
@@ -351,12 +351,12 @@
351
351
  "file": "omlish/specs/jmespath/__main__.py",
352
352
  "line": 1,
353
353
  "value": {
354
- "$omdev.cli.types.CliModule": {
355
- "cmd_name": [
354
+ "!omdev.cli.types.CliModule": {
355
+ "name": [
356
356
  "jmespath",
357
357
  "jp"
358
358
  ],
359
- "mod_name": "omlish.specs.jmespath.__main__"
359
+ "module": "omlish.specs.jmespath.__main__"
360
360
  }
361
361
  }
362
362
  }
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev405'
2
- __revision__ = '2845f7bb7c8df0a75acb7e7dece1fc712a54aa05'
1
+ __version__ = '0.0.0.dev407'
2
+ __revision__ = '069daca807ba62f298b1fef1de82247d29c345c0'
3
3
 
4
4
 
5
5
  #
@@ -14,6 +14,7 @@ T = ta.TypeVar('T')
14
14
  class Once:
15
15
  def __init__(self) -> None:
16
16
  super().__init__()
17
+
17
18
  self._done = False
18
19
  self._lock = anyio.Lock()
19
20
 
@@ -36,6 +37,7 @@ class Once:
36
37
  class Lazy(ta.Generic[T]):
37
38
  def __init__(self) -> None:
38
39
  super().__init__()
40
+
39
41
  self._once = Once()
40
42
  self._v: lang.Maybe[T] = lang.empty()
41
43
 
@@ -55,6 +57,7 @@ class Lazy(ta.Generic[T]):
55
57
  class LazyFn(ta.Generic[T]):
56
58
  def __init__(self, fn: ta.Callable[[], ta.Awaitable[T]]) -> None:
57
59
  super().__init__()
60
+
58
61
  self._fn = fn
59
62
  self._once = Once()
60
63
  self._v: lang.Maybe[T] = lang.empty()
@@ -62,6 +62,7 @@ from .events import WaitableBlueletEvent
62
62
  class BlueletCoroException(Exception): # noqa
63
63
  def __init__(self, coro: BlueletCoro, exc_info: BlueletExcInfo) -> None:
64
64
  super().__init__()
65
+
65
66
  self.coro = coro
66
67
  self.exc_info = exc_info
67
68
 
@@ -33,6 +33,7 @@ class BlueletListener:
33
33
  """Create a listening socket on the given hostname and port."""
34
34
 
35
35
  super().__init__()
36
+
36
37
  self._closed = False
37
38
  self.host = host
38
39
  self.port = port
@@ -64,6 +65,7 @@ class BlueletConnection:
64
65
 
65
66
  def __init__(self, sock: socket.socket, addr: ta.Tuple[str, int]) -> None:
66
67
  super().__init__()
68
+
67
69
  self.sock = sock
68
70
  self.addr = addr
69
71
  self._buf = bytearray()
omlish/asyncs/sync.py CHANGED
@@ -60,6 +60,7 @@ async def async_list(fn: ta.Callable[..., ta.AsyncIterator[T]], *args, **kwargs)
60
60
  class SyncableIterable(ta.Generic[T]):
61
61
  def __init__(self, obj) -> None:
62
62
  super().__init__()
63
+
63
64
  self._obj = obj
64
65
 
65
66
  def __iter__(self) -> ta.Iterator[T]:
@@ -1,7 +1,7 @@
1
1
  # @omlish-manifest
2
- _CLI_MODULE = {'$omdev.cli.types.CliModule': {
3
- 'cmd_name': 'bootstrap',
4
- 'mod_name': __name__,
2
+ _CLI_MODULE = {'!omdev.cli.types.CliModule': {
3
+ 'name': 'bootstrap',
4
+ 'module': __name__,
5
5
  }}
6
6
 
7
7
 
omlish/bootstrap/base.py CHANGED
@@ -18,10 +18,12 @@ class Bootstrap(abc.ABC, lang.PackageSealed, ta.Generic[BootstrapConfigT]):
18
18
 
19
19
  def __init__(self, config: BootstrapConfigT) -> None:
20
20
  super().__init__()
21
+
21
22
  self._config = config
22
23
 
23
24
  def __init_subclass__(cls, **kwargs: ta.Any) -> None:
24
25
  super().__init_subclass__(**kwargs)
26
+
25
27
  if not cls.__name__.endswith('Bootstrap'):
26
28
  raise NameError(cls)
27
29
  if abc.ABC not in cls.__bases__ and not issubclass(cls.__dict__['Config'], Bootstrap.Config):
@@ -51,6 +51,7 @@ BOOTSTRAP_TYPES_BY_CONFIG_TYPE: ta.Mapping[ta.Type[Bootstrap.Config], ta.Type[Bo
51
51
  class BootstrapHarness:
52
52
  def __init__(self, lst: ta.Sequence[Bootstrap]) -> None:
53
53
  super().__init__()
54
+
54
55
  self._lst = lst
55
56
 
56
57
  @contextlib.contextmanager
omlish/codecs/base.py CHANGED
@@ -95,13 +95,13 @@ class LazyLoadedCodec(ModAttrManifest):
95
95
  @classmethod
96
96
  def new(
97
97
  cls,
98
- mod_name: str,
99
- attr_name: str,
98
+ module: str,
99
+ attr: str,
100
100
  codec: Codec,
101
101
  ) -> 'LazyLoadedCodec':
102
102
  return cls(
103
- mod_name=mod_name,
104
- attr_name=attr_name,
103
+ module=module,
104
+ attr=attr,
105
105
  name=codec.name,
106
106
  aliases=codec.aliases,
107
107
  )
omlish/codecs/text.py CHANGED
@@ -69,6 +69,7 @@ class TextEncodingComboCodec(ComboCodec[str, bytes]):
69
69
  options: TextEncodingOptions = TextEncodingOptions(),
70
70
  ) -> None:
71
71
  super().__init__()
72
+
72
73
  self._info = check.isinstance(info, codecs.CodecInfo)
73
74
  self._opts = check.isinstance(options, TextEncodingOptions)
74
75
 
@@ -26,6 +26,7 @@ class FrozenDict(ta.Mapping[K, V], Frozen):
26
26
 
27
27
  def __init__(self, *args, **kwargs):
28
28
  super().__init__()
29
+
29
30
  self._hash = None
30
31
  if len(args) > 1:
31
32
  raise TypeError(args)
@@ -130,7 +130,9 @@ class MissingDict(dict[K, V]):
130
130
  def __init__(self, missing_fn: ta.Callable[[K], V]) -> None:
131
131
  if not callable(missing_fn):
132
132
  raise TypeError(missing_fn)
133
+
133
134
  super().__init__()
135
+
134
136
  self._missing_fn = missing_fn
135
137
 
136
138
  def __missing__(self, key):
@@ -10,6 +10,7 @@ T = ta.TypeVar('T')
10
10
  class OrderedSet(ta.MutableSet[T]):
11
11
  def __init__(self, iterable: ta.Iterable[T] | None = None) -> None:
12
12
  super().__init__()
13
+
13
14
  self._dct: dict[T, ta.Any] = {}
14
15
  if iterable is not None:
15
16
  self |= iterable # type: ignore # noqa
@@ -121,6 +121,7 @@ class SortedListDict(SortedMutableMapping[K, V]):
121
121
 
122
122
  def __init__(self, impl: SortedCollection, *args, **kwargs) -> None:
123
123
  super().__init__()
124
+
124
125
  self._impl = impl
125
126
  for k, v in lang.yield_dict_init(*args, **kwargs):
126
127
  self[k] = v
@@ -144,7 +144,7 @@ class Trie(ta.MutableMapping[ta.Sequence[K], V], ta.Generic[K, V]):
144
144
  stack.append((c, ic(c._children))) # noqa
145
145
  yield (key if share_key else tuple(key), c)
146
146
 
147
- def iter_items(self, **kwargs: ta.Any) -> ta.Iterator[tuple[ta.Sequence[K], V]]:
147
+ def iteritems(self, **kwargs: ta.Any) -> ta.Iterator[tuple[ta.Sequence[K], V]]:
148
148
  for k, node in self.iter_nodes(**kwargs):
149
149
  try:
150
150
  yield (k, node._value) # noqa
@@ -152,5 +152,5 @@ class Trie(ta.MutableMapping[ta.Sequence[K], V], ta.Generic[K, V]):
152
152
  pass
153
153
 
154
154
  def __iter__(self) -> ta.Iterator[ta.Sequence[K]]:
155
- for k, _ in self.iter_items():
155
+ for k, _ in self.iteritems():
156
156
  yield k
@@ -13,6 +13,7 @@ P = ta.ParamSpec('P')
13
13
  class ImmediateExecutor(cf.Executor):
14
14
  def __init__(self, *, immediate_exceptions: bool = False) -> None:
15
15
  super().__init__()
16
+
16
17
  self._immediate_exceptions = immediate_exceptions
17
18
 
18
19
  def submit(
@@ -20,6 +20,7 @@ T = ta.TypeVar('T')
20
20
  class field_modifier: # noqa
21
21
  def __init__(self, fn: ta.Callable[[dc.Field], dc.Field]) -> None:
22
22
  super().__init__()
23
+
23
24
  self.fn = fn
24
25
 
25
26
  def __ror__(self, other: T) -> T:
omlish/diag/procfs.py CHANGED
@@ -359,9 +359,9 @@ def _main() -> None:
359
359
 
360
360
 
361
361
  # @omlish-manifest
362
- _CLI_MODULE = {'$omdev.cli.types.CliModule': {
363
- 'cmd_name': 'procfs',
364
- 'mod_name': __name__,
362
+ _CLI_MODULE = {'!omdev.cli.types.CliModule': {
363
+ 'name': 'procfs',
364
+ 'module': __name__,
365
365
  }}
366
366
 
367
367
 
omlish/diag/threads.py CHANGED
@@ -52,6 +52,7 @@ class StoppableThread:
52
52
  **kwargs: ta.Any,
53
53
  ) -> None:
54
54
  super().__init__()
55
+
55
56
  self._fn = fn
56
57
  self._interval_s = interval_s
57
58
  self._tick_immediately = tick_immediately
omlish/formats/codecs.py CHANGED
@@ -85,12 +85,12 @@ def make_str_object_codec(
85
85
 
86
86
 
87
87
  def make_object_lazy_loaded_codec(
88
- mod_name: str,
89
- attr_name: str,
88
+ module: str,
89
+ attr: str,
90
90
  codec: ObjectCodec,
91
91
  ) -> codecs.LazyLoadedCodec:
92
92
  return codecs.LazyLoadedCodec.new(
93
- mod_name,
94
- attr_name,
93
+ module,
94
+ attr,
95
95
  codec,
96
96
  )
omlish/formats/dotenv.py CHANGED
@@ -66,6 +66,7 @@ class DotenvAtom(metaclass=abc.ABCMeta):
66
66
  class DotenvLiteral(DotenvAtom):
67
67
  def __init__(self, value: str) -> None:
68
68
  super().__init__()
69
+
69
70
  self.value = value
70
71
 
71
72
  def __repr__(self) -> str:
@@ -86,6 +87,7 @@ class DotenvLiteral(DotenvAtom):
86
87
  class DotenvVariable(DotenvAtom):
87
88
  def __init__(self, name: str, default: ta.Optional[str]) -> None:
88
89
  super().__init__()
90
+
89
91
  self.name = name
90
92
  self.default = default
91
93
 
@@ -164,6 +166,7 @@ class DotenvBinding(ta.NamedTuple):
164
166
  class _DotenvPosition:
165
167
  def __init__(self, chars: int, line: int) -> None:
166
168
  super().__init__()
169
+
167
170
  self.chars = chars
168
171
  self.line = line
169
172
 
@@ -187,6 +190,7 @@ class DotenvError(Exception):
187
190
  class _DotenvReader:
188
191
  def __init__(self, stream: ta.IO[str]) -> None:
189
192
  super().__init__()
193
+
190
194
  self.string = stream.read()
191
195
  self.position = _DotenvPosition.start()
192
196
  self.mark = _DotenvPosition.start()
@@ -334,6 +338,7 @@ class Dotenv:
334
338
  log: ta.Optional[logging.Logger] = None,
335
339
  ) -> None:
336
340
  super().__init__()
341
+
337
342
  self.path: ta.Union[str, 'os.PathLike[str]', None] = path
338
343
  self.stream: ta.Optional[ta.IO[str]] = stream
339
344
  self._dict: ta.Optional[ta.Dict[str, ta.Optional[str]]] = None
omlish/formats/props.py CHANGED
@@ -129,6 +129,7 @@ class PropertyError(Exception):
129
129
  class ParseError(PropertyError):
130
130
  def __init__(self, message: str, line_number: int, file_obj: ta.Any = None) -> None:
131
131
  super().__init__()
132
+
132
133
  self.message = message
133
134
  self.line_number = line_number
134
135
  self.file_obj = file_obj
@@ -15,6 +15,7 @@ class TomlWriter:
15
15
 
16
16
  def __init__(self, out: ta.TextIO) -> None:
17
17
  super().__init__()
18
+
18
19
  self._out = out
19
20
 
20
21
  self._indent = 0
omlish/formats/yaml.py CHANGED
@@ -134,6 +134,7 @@ class NodeWrappingConstructorMixin:
134
134
  class _cached_class_property: # noqa
135
135
  def __init__(self, fn):
136
136
  super().__init__()
137
+
137
138
  self._fn = fn
138
139
  self._attr = None
139
140