omlish 0.0.0.dev399__py3-none-any.whl → 0.0.0.dev400__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 CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev399'
2
- __revision__ = 'a8c0f1b2847879fa35db7e882438c69db3bd3b7c'
1
+ __version__ = '0.0.0.dev400'
2
+ __revision__ = '4e9cb702d1d048bb8211070b471983d3b4d7bb6d'
3
3
 
4
4
 
5
5
  #
@@ -1,165 +1,151 @@
1
1
  # ruff: noqa: I001
2
- import typing as _ta
3
-
4
2
  from .. import lang as _lang
5
3
 
6
4
 
7
- from .bimap import ( # noqa
8
- BiMap,
9
-
10
- make_bi_map,
11
- )
12
-
13
- from .coerce import ( # noqa
14
- abs_set,
15
- abs_set_of,
16
- abs_set_of_or_none,
17
- abs_set_or_none,
18
- frozenset_,
19
- frozenset_of,
20
- frozenset_of_or_none,
21
- frozenset_or_none,
22
- map, # noqa
23
- map_of,
24
- map_of_or_none,
25
- map_or_none,
26
- opt_abs_set,
27
- opt_abs_set_of,
28
- opt_frozenset,
29
- opt_frozenset_of,
30
- opt_map,
31
- opt_map_of,
32
- opt_seq,
33
- opt_seq_of,
34
- seq,
35
- seq_of,
36
- seq_of_or_none,
37
- seq_or_none,
38
- )
39
-
40
- from .frozen import ( # noqa
41
- Frozen,
42
- FrozenDict,
43
- FrozenList,
44
- frozendict,
45
- frozenlist,
46
- )
47
-
48
- from .hasheq import ( # noqa
49
- HashEq,
50
- HashEqMap,
51
- HashEq_,
52
- hash_eq,
53
- )
54
-
55
- from .identity import ( # noqa
56
- IdentityKeyDict,
57
- IdentitySet,
58
- IdentityWeakKeyDictionary,
59
- IdentityWeakSet,
60
- )
61
-
62
- if _ta.TYPE_CHECKING:
63
- from . import kv
64
- else:
65
- kv = _lang.proxy_import('.kv', __package__)
66
-
67
- from .mappings import ( # noqa
68
- MissingDict,
69
- TypeMap,
70
- DynamicTypeMap,
71
- guarded_map_update,
72
- multikey_dict,
73
- )
74
-
75
- from .multimaps import ( # noqa
76
- MultiMap,
77
-
78
- SequenceMultiMap,
79
- AbstractSetMultiMap,
80
-
81
- BiMultiMap,
82
- InverseBiMultiMap,
83
-
84
- SequenceBiMultiMap,
85
- AbstractSetBiMultiMap,
86
-
87
- TupleBiMultiMap,
88
- seq_bi_multi_map,
89
-
90
- FrozensetBiMultiMap,
91
- abs_set_bi_multi_map,
92
- )
93
-
94
- from .ordered import ( # noqa
95
- OrderedFrozenSet,
96
- OrderedSet,
97
- )
98
-
99
- from .persistent.persistent import ( # noqa
100
- PersistentMap,
101
- PersistentMapping,
102
- )
103
-
104
- if _ta.TYPE_CHECKING:
5
+ with _lang.auto_proxy_init(globals()):
6
+ ##
7
+
8
+ from .bimap import ( # noqa
9
+ BiMap,
10
+
11
+ make_bi_map,
12
+ )
13
+
14
+ from .coerce import ( # noqa
15
+ abs_set,
16
+ abs_set_of,
17
+ abs_set_of_or_none,
18
+ abs_set_or_none,
19
+ frozenset_,
20
+ frozenset_of,
21
+ frozenset_of_or_none,
22
+ frozenset_or_none,
23
+ map, # noqa
24
+ map_of,
25
+ map_of_or_none,
26
+ map_or_none,
27
+ opt_abs_set,
28
+ opt_abs_set_of,
29
+ opt_frozenset,
30
+ opt_frozenset_of,
31
+ opt_map,
32
+ opt_map_of,
33
+ opt_seq,
34
+ opt_seq_of,
35
+ seq,
36
+ seq_of,
37
+ seq_of_or_none,
38
+ seq_or_none,
39
+ )
40
+
41
+ from .frozen import ( # noqa
42
+ Frozen,
43
+ FrozenDict,
44
+ FrozenList,
45
+ frozendict,
46
+ frozenlist,
47
+ )
48
+
49
+ from .hasheq import ( # noqa
50
+ HashEq,
51
+ HashEqMap,
52
+ HashEq_,
53
+ hash_eq,
54
+ )
55
+
56
+ from .identity import ( # noqa
57
+ IdentityKeyDict,
58
+ IdentitySet,
59
+ IdentityWeakKeyDictionary,
60
+ IdentityWeakSet,
61
+ )
62
+
63
+ from . import kv # noqa
64
+
65
+ from .mappings import ( # noqa
66
+ MissingDict,
67
+ TypeMap,
68
+ DynamicTypeMap,
69
+ guarded_map_update,
70
+ multikey_dict,
71
+ )
72
+
73
+ from .multimaps import ( # noqa
74
+ MultiMap,
75
+
76
+ SequenceMultiMap,
77
+ AbstractSetMultiMap,
78
+
79
+ BiMultiMap,
80
+ InverseBiMultiMap,
81
+
82
+ SequenceBiMultiMap,
83
+ AbstractSetBiMultiMap,
84
+
85
+ TupleBiMultiMap,
86
+ seq_bi_multi_map,
87
+
88
+ FrozensetBiMultiMap,
89
+ abs_set_bi_multi_map,
90
+ )
91
+
92
+ from .ordered import ( # noqa
93
+ OrderedFrozenSet,
94
+ OrderedSet,
95
+ )
96
+
97
+ from .persistent.persistent import ( # noqa
98
+ PersistentMap,
99
+ PersistentMapping,
100
+ )
101
+
105
102
  from .persistent.treapmap import ( # noqa
106
103
  TreapDict,
107
104
  TreapMap,
108
105
  new_treap_dict,
109
106
  new_treap_map,
110
107
  )
111
- else:
112
- _lang.proxy_init(globals(), '.persistent.treapmap', [
113
- 'TreapMap',
114
- 'new_treap_map',
115
- ])
116
108
 
117
- from .ranked import ( # noqa
118
- RankedSeq,
119
- RankedSetSeq,
120
- )
109
+ from .ranked import ( # noqa
110
+ RankedSeq,
111
+ RankedSetSeq,
112
+ )
121
113
 
122
- if _ta.TYPE_CHECKING:
123
114
  from .sorted.skiplist import ( # noqa
124
115
  SkipList,
125
116
  SkipListDict,
126
117
  )
127
- else:
128
- _lang.proxy_init(globals(), '.sorted.skiplist', [
129
- 'SkipList',
130
- 'SkipListDict',
131
- ])
132
-
133
- from .sorted.sorted import ( # noqa
134
- SortedCollection,
135
- SortedItems,
136
- SortedIter,
137
- SortedListDict,
138
- SortedMapping,
139
- SortedMutableMapping,
140
- )
141
-
142
- from .trie import ( # noqa
143
- Trie,
144
- )
145
-
146
- from .unmodifiable import ( # noqa
147
- Unmodifiable,
148
- UnmodifiableMapping,
149
- UnmodifiableSequence,
150
- UnmodifiableSet,
151
- )
152
-
153
- from .utils import ( # noqa
154
- PartitionResult,
155
- all_equal,
156
- all_not_equal,
157
- indexes,
158
- key_cmp,
159
- make_map,
160
- make_map_by,
161
- multi_map,
162
- multi_map_by,
163
- partition,
164
- unique,
165
- )
118
+
119
+ from .sorted.sorted import ( # noqa
120
+ SortedCollection,
121
+ SortedItems,
122
+ SortedIter,
123
+ SortedListDict,
124
+ SortedMapping,
125
+ SortedMutableMapping,
126
+ )
127
+
128
+ from .trie import ( # noqa
129
+ Trie,
130
+ )
131
+
132
+ from .unmodifiable import ( # noqa
133
+ Unmodifiable,
134
+ UnmodifiableMapping,
135
+ UnmodifiableSequence,
136
+ UnmodifiableSet,
137
+ )
138
+
139
+ from .utils import ( # noqa
140
+ PartitionResult,
141
+ all_equal,
142
+ all_not_equal,
143
+ indexes,
144
+ key_cmp,
145
+ make_map,
146
+ make_map_by,
147
+ multi_map,
148
+ multi_map_by,
149
+ partition,
150
+ unique,
151
+ )
omlish/configs/formats.py CHANGED
@@ -150,14 +150,18 @@ class YamlConfigLoader(ConfigLoader[YamlConfigData]):
150
150
  file_exts = ('yaml', 'yml')
151
151
 
152
152
  def load_str(self, s: str) -> YamlConfigData:
153
- return YamlConfigData(__import__('yaml').safe_load(s))
153
+ import yaml # noqa
154
+
155
+ return YamlConfigData(yaml.safe_load(s))
154
156
 
155
157
 
156
158
  class YamlConfigRenderer(ConfigRenderer[YamlConfigData]):
157
159
  data_cls = YamlConfigData
158
160
 
159
161
  def render(self, d: YamlConfigData) -> str:
160
- return __import__('yaml').safe_dump(d.obj)
162
+ import yaml # noqa
163
+
164
+ return yaml.safe_dump(d.obj)
161
165
 
162
166
 
163
167
  ##
omlish/diag/lsof.py CHANGED
@@ -243,20 +243,21 @@ class LsofCommand(SubprocessRunnable[ta.List[LsofItem]]):
243
243
 
244
244
  if __name__ == '__main__':
245
245
  def _main() -> None:
246
- argparse = __import__('argparse')
246
+ import argparse # noqa
247
+ import importlib # noqa
248
+ import json # noqa
249
+
247
250
  parser = argparse.ArgumentParser()
248
251
  parser.add_argument('--pid', '-p', type=int)
249
252
  parser.add_argument('file', nargs='?')
250
253
  args = parser.parse_args()
251
254
 
252
- importlib = __import__('importlib')
253
255
  subprocesses = importlib.import_module('..subprocesses.sync', package=__package__).subprocesses
254
256
  items = LsofCommand(
255
257
  pid=args.pid,
256
258
  file=args.file,
257
259
  ).run(subprocesses)
258
260
 
259
- json = __import__('json')
260
261
  marshal_obj = importlib.import_module('..lite.marshal', package=__package__).marshal_obj
261
262
  print(json.dumps(marshal_obj(items), indent=2))
262
263
 
omlish/funcs/builders.py CHANGED
@@ -70,7 +70,8 @@ class DebugFnBuilder(FnBuilder):
70
70
  if self._given_src_dir is not None:
71
71
  return self._given_src_dir
72
72
  else:
73
- return __import__('tempfile').mkdtemp(prefix=f'_{self.__class__.__name__}_{os.getpid()}__') # noqa
73
+ import tempfile # noqa
74
+ return tempfile.mkdtemp(prefix=f'_{self.__class__.__name__}_{os.getpid()}__') # noqa
74
75
 
75
76
  @cached_nullary
76
77
  def _install_sys_path(self) -> None:
@@ -69,6 +69,9 @@ class _ProxyInit:
69
69
  self._imps_by_attr[attr] = self._Import(package, imp_attr)
70
70
  self._lazy_globals.set_fn(attr, functools.partial(self.get, attr))
71
71
 
72
+ def _import_module(self, name: str) -> ta.Any:
73
+ return importlib.import_module(name, package=self._name_package.package)
74
+
72
75
  def get(self, attr: str) -> ta.Any:
73
76
  try:
74
77
  imp = self._imps_by_attr[attr]
@@ -78,13 +81,14 @@ class _ProxyInit:
78
81
  val: ta.Any
79
82
 
80
83
  if imp.attr is None:
81
- val = importlib.import_module(imp.pkg, package=self._name_package.package)
84
+ val = self._import_module(imp.pkg)
82
85
 
83
86
  else:
84
87
  try:
85
88
  mod = self._mods_by_pkgs[imp.pkg]
86
89
  except KeyError:
87
- mod = importlib.import_module(imp.pkg, package=self._name_package.package)
90
+ mod = self._import_module(imp.pkg)
91
+ self._mods_by_pkgs[imp.pkg] = mod
88
92
 
89
93
  val = getattr(mod, imp.attr)
90
94
 
@@ -1,3 +1,8 @@
1
+ """
2
+ TODO:
3
+ - overhaul this - use pkgutil.walk_packages unless called needs non-importing (which this currently doesn't do anyway),
4
+ and support namespace packages if they do.
5
+ """
1
6
  import contextlib
2
7
  import sys
3
8
  import typing as ta
@@ -18,8 +23,9 @@ def yield_importable(
18
23
  recursive: bool = False,
19
24
  filter: ta.Callable[[str], bool] | None = None, # noqa
20
25
  include_special: bool = False,
26
+ raise_on_failure: bool = False,
21
27
  ) -> ta.Iterator[str]:
22
- from importlib import resources
28
+ import importlib.resources
23
29
 
24
30
  def rec(cur):
25
31
  if cur.split('.')[-1] == '__pycache__':
@@ -28,17 +34,13 @@ def yield_importable(
28
34
  try:
29
35
  module = sys.modules[cur]
30
36
  except KeyError:
31
- try:
32
- __import__(cur)
33
- except ImportError:
34
- return
35
- module = sys.modules[cur]
37
+ module = importlib.import_module(cur)
36
38
 
37
39
  # FIXME: pyox
38
40
  if getattr(module, '__file__', None) is None:
39
41
  return
40
42
 
41
- for file in resources.files(cur).iterdir():
43
+ for file in importlib.resources.files(cur).iterdir():
42
44
  if file.is_file() and file.name.endswith('.py'):
43
45
  if not (include_special or file.name not in SPECIAL_IMPORTABLE):
44
46
  continue
@@ -51,11 +53,17 @@ def yield_importable(
51
53
 
52
54
  elif recursive and file.is_dir():
53
55
  name = cur + '.' + file.name
56
+
54
57
  if filter is not None and not filter(name):
55
58
  continue
56
- with contextlib.suppress(ImportError, NotImplementedError):
59
+
60
+ if raise_on_failure:
57
61
  yield from rec(name)
58
62
 
63
+ else:
64
+ with contextlib.suppress(ImportError, NotImplementedError):
65
+ yield from rec(name)
66
+
59
67
  yield from rec(package_root)
60
68
 
61
69
 
@@ -67,12 +75,14 @@ def yield_import_all(
67
75
  recursive: bool = False,
68
76
  filter: ta.Callable[[str], bool] | None = None, # noqa
69
77
  include_special: bool = False,
78
+ raise_on_failure: bool = False,
70
79
  ) -> ta.Iterator[str]:
71
80
  for import_path in yield_importable(
72
81
  package_root,
73
82
  recursive=recursive,
74
83
  filter=filter,
75
84
  include_special=include_special,
85
+ raise_on_failure=raise_on_failure,
76
86
  ):
77
87
  __import__(import_path, globals=globals, locals=locals)
78
88
  yield import_path
omlish/lite/imports.py CHANGED
@@ -28,7 +28,7 @@ def import_module_attr(dotted_path: str) -> ta.Any:
28
28
 
29
29
 
30
30
  def import_attr(dotted_path: str) -> ta.Any:
31
- importlib = __import__('importlib')
31
+ import importlib # noqa
32
32
  parts = dotted_path.split('.')
33
33
  mod: ta.Any = None
34
34
  mod_pos = 0
omlish/lite/reprs.py CHANGED
@@ -75,7 +75,8 @@ class AttrRepr:
75
75
  except AttributeError:
76
76
  pass
77
77
 
78
- reprlib = __import__('reprlib')
78
+ import reprlib # noqa
79
+
79
80
  cls._reprlib_ = reprlib
80
81
  return reprlib
81
82
 
omlish/manifests/base.py CHANGED
@@ -16,7 +16,8 @@ class ModAttrManifest:
16
16
  attr_name: str
17
17
 
18
18
  def load(self) -> ta.Any:
19
- importlib = __import__('importlib')
19
+ import importlib # noqa
20
+
20
21
  mod = importlib.import_module(self.mod_name)
21
22
  return getattr(mod, self.attr_name)
22
23
 
@@ -232,7 +232,7 @@ class ManifestLoader:
232
232
 
233
233
  def discover_pkgs(self) -> ta.Sequence[str]:
234
234
  # This is a fat dep so do it late.
235
- importlib_metadata = __import__('importlib.metadata').metadata
235
+ from importlib import metadata as importlib_metadata # noqa
236
236
 
237
237
  return [
238
238
  ep.value
@@ -245,7 +245,8 @@ class LslocksPidfdPidfilePinner(PidfilePinner):
245
245
 
246
246
  if __name__ == '__main__':
247
247
  def _main() -> None:
248
- argparse = __import__('argparse')
248
+ import argparse # noqa
249
+
249
250
  parser = argparse.ArgumentParser()
250
251
  parser.add_argument('file')
251
252
  args = parser.parse_args()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev399
3
+ Version: 0.0.0.dev400
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=aT8yZ-Zh-9wfHl5Ym5ouiWC1i0cy7Q7RlhzavB6VLPI,8587
2
- omlish/__about__.py,sha256=fsEaOnDS-IEelnR6gQvtXqr8_KRBvYJ0sk9zeUjWmkI,3576
2
+ omlish/__about__.py,sha256=_QVlo8CQjNk-OHJAjF73aaQcYeg4EcZVNzbbBB0SVoU,3576
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -76,7 +76,7 @@ omlish/codecs/funcs.py,sha256=or0Jogczuzk7csDTRl-HURMEjl8LXXqxxXYK45xcM5w,855
76
76
  omlish/codecs/registry.py,sha256=PIf7XdwVX7Q85-MnyURtX9SKAYolK_r7wls9Z-qAsnA,3911
77
77
  omlish/codecs/standard.py,sha256=eiZ4u9ep0XrA4Z_D1zJI0vmWyuN8HLrX4Se_r_Cq_ZM,60
78
78
  omlish/codecs/text.py,sha256=uHhV8jBgH0iZgcrV0nl4-0a_9ofln4iFH4OXoVm2CW4,5709
79
- omlish/collections/__init__.py,sha256=bNcBs7Z-IbvfzG37uF44Ao4cQFZkTl1IcmTYpjajh3M,2675
79
+ omlish/collections/__init__.py,sha256=oKrHZOcvB0a6onUsbsHGJ7d-sPVbYXBZ4Nt3uYR8OtQ,2805
80
80
  omlish/collections/abc.py,sha256=p9zhL5oNV5WPyWmMn34fWfkuxPQAjOtL7WQA-Xsyhwk,2628
81
81
  omlish/collections/bimap.py,sha256=3szDCscPJlFRtkpyVQNWneg4s50mr6Rd0jdTzVEIcnE,1661
82
82
  omlish/collections/coerce.py,sha256=tAls15v_7p5bUN33R7Zbko87KW5toWHl9fRialCqyNY,7030
@@ -115,7 +115,7 @@ omlish/concurrent/threadlets.py,sha256=JfirbTDJgy9Ouokz_VmHeAAPS7cih8qMUJrN-owwX
115
115
  omlish/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
116
  omlish/configs/all.py,sha256=xTfR7NySnlIeqhk0GlUOncPnWZ97cLhCtRDlN_Ny8og,1107
117
117
  omlish/configs/classes.py,sha256=sWBL1K90Ix5E-N_A6Uz7s-djpkS2rKEzOLFYB8pHk9k,1173
118
- omlish/configs/formats.py,sha256=DlaI_0mxrYmPl9pUWZFQ6xvqXz997uQOGtt9EKt6V9o,5307
118
+ omlish/configs/formats.py,sha256=TenrNVqsgY5mwWJv3XBTaLTCbLxdKZEkH1U_9M1sNd8,5337
119
119
  omlish/configs/nginx.py,sha256=b4fMI8dIZBUgOjmveRINrmmwSt8DO3y7nfvd-__YxDo,2062
120
120
  omlish/configs/shadow.py,sha256=rc-loE5ex2GFwvdQJXqJsnSQa-MNF6Mizh4FlirSYUo,2234
121
121
  omlish/configs/types.py,sha256=vANNURlIos3fR3fgcL2EMW5t6RevzSHU-BnVZgwIDOM,110
@@ -210,7 +210,7 @@ omlish/diag/__init__.py,sha256=c1q8vuapGH1YiYdU300FIJXMI1MOcnLNBZXr-zc8BXk,1181
210
210
  omlish/diag/asts.py,sha256=MWh9XAG3m9L10FIJCyoNT2aU4Eft6tun_x9K0riq6Dk,3332
211
211
  omlish/diag/debug.py,sha256=ClED7kKXeVMyKrjGIxcq14kXk9kvUJfytBQwK9y7c4Q,1637
212
212
  omlish/diag/lslocks.py,sha256=VuA4MNNqXTcnHWsJvulGM6pNJRKmlXFXUZTfXpY0V6g,1750
213
- omlish/diag/lsof.py,sha256=A0u3aSh7-QBxV7ilR-Bp7IEy6-kFg0wjLfsVn4bVJfQ,9133
213
+ omlish/diag/lsof.py,sha256=5N5aZQ7UqEBgV-hj3_a8QcvALOeLlVb8otqF2hvucxY,9107
214
214
  omlish/diag/procfs.py,sha256=KaGTAA2Gj8eEEp7MjClRe4aimwzd-HDABThFzvq2cBQ,9684
215
215
  omlish/diag/procstats.py,sha256=EJEe2Zc58ykBoTfqMXro7H52aQa_pd6uC2hsIPFceso,825
216
216
  omlish/diag/ps.py,sha256=MEpMU6fbkh0bSWrOHh_okOa0JDTUSUQUVSYBdh1TGvE,1672
@@ -308,7 +308,7 @@ omlish/formats/toml/codec.py,sha256=5HFGWEPd9IFxPlRMRheX8FEDlRIzLe1moHEOj2_PFKU,
308
308
  omlish/formats/toml/parser.py,sha256=O2M0penQV3t8NAsq_conJjvTsXI8iivUFuBg2a5J3dU,30643
309
309
  omlish/formats/toml/writer.py,sha256=kLLQNEA_Kzd3ue7UXPQ_torOKoaLT82W16Bt99sID-w,3231
310
310
  omlish/funcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
- omlish/funcs/builders.py,sha256=mJkgvJxM98x5pbMQzRY95tRUsbAfy_ivHtt4fDKfzsM,3984
311
+ omlish/funcs/builders.py,sha256=Av41RkDFbsVGzQ7cWzevCG-UqZhLCBSDT8DhyWKq1rQ,4006
312
312
  omlish/funcs/genmachine.py,sha256=D9dChaliNBIjYE6lJP5ctcVQUCffNBhceyaaLvBJ7ns,2578
313
313
  omlish/funcs/match.py,sha256=EPeKojvecnJuDEWaXEYuef0Sx1J6Y0uTL01h4Z8ldxc,6199
314
314
  omlish/funcs/pairs.py,sha256=m570hXCaW6tCJq2QITJ_CKFFzXDDOogKvskX7N7oICs,3904
@@ -465,9 +465,9 @@ omlish/lang/classes/virtual.py,sha256=z0MYQD9Q5MkX8DzF325wDB4J9XoYbsB09jZ1omC62T
465
465
  omlish/lang/imports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
466
466
  omlish/lang/imports/conditional.py,sha256=qxHYlE_xuwPJb6F9K8upagHxuYL0APPLWRVo5079Ipg,1007
467
467
  omlish/lang/imports/lazy.py,sha256=gDv7ffrGsPEAHZ9a1Myt7Uf-4vqWErhCd1DaS7SQL0c,1464
468
- omlish/lang/imports/proxyinit.py,sha256=fe9lVhBQ605OaJ8rEuF680yIqh4QFCUoioTEfesDYQc,12533
468
+ omlish/lang/imports/proxyinit.py,sha256=prcQSZYdXSvZLsWZClNSOhIJVHNMuO8nD9NTtG-fFv4,12636
469
469
  omlish/lang/imports/resolution.py,sha256=DeRarn35Fryg5JhVhy8wbiC9lvr58AnllI9B_reswUE,2085
470
- omlish/lang/imports/traversal.py,sha256=lp1wPisPK-Op0i1dA3xmcQZeBUhYZxThIxoV6Ei0bgw,2523
470
+ omlish/lang/imports/traversal.py,sha256=LLic4zfhsSBzKF33_0qABBcjxfajc57mYRkeuj_Zuns,2855
471
471
  omlish/lifecycles/__init__.py,sha256=1FjYceXs-4fc-S-C9zFYmc2axHs4znnQHcJVHdY7a6E,578
472
472
  omlish/lifecycles/abstract.py,sha256=c9UY7oxzYZ_neh5DPE4yv5HfuDv7B4Mj_9Zo-B8KDSs,1114
473
473
  omlish/lifecycles/base.py,sha256=DeUxARnOufWfBvhZQbonl1RVJgbrSeK5QNM6dWEuOwA,1398
@@ -483,7 +483,7 @@ omlish/lite/check.py,sha256=ytCkwZoKfOlJqylL-AGm8C2WfsWJd2q3kFbnZCzX3_M,13844
483
483
  omlish/lite/configs.py,sha256=4-1uVxo-aNV7vMKa7PVNhM610eejG1WepB42-Dw2xQI,914
484
484
  omlish/lite/contextmanagers.py,sha256=jpMxp5xwooRQJxsQ6J2ll4AJP9O7a5_YrLCGgwUFfD0,5703
485
485
  omlish/lite/dataclasses.py,sha256=aRSCZz1jN_UI-CWJhN0SJeKxa-79vXNUZ6YOMgG31SE,3610
486
- omlish/lite/imports.py,sha256=JDYRFxu-ofHEBfd5VV3b27oKOLhtTpuzte1_Nt7yLgw,1352
486
+ omlish/lite/imports.py,sha256=GyEDKL-WuHtdOKIL-cc8aFd0-bHwZFDEjAB52ItabX0,1341
487
487
  omlish/lite/inject.py,sha256=xvmLmtD3_2INnkurJQv76_Rkh9usbApEQrXJ4cvuVAk,29019
488
488
  omlish/lite/json.py,sha256=m0Ce9eqUZG23-H7-oOp8n1sf4fzno5vtK4AK_4Vc-Mg,706
489
489
  omlish/lite/logs.py,sha256=CWFG0NKGhqNeEgryF5atN2gkPYbUdTINEw_s1phbINM,51
@@ -492,7 +492,7 @@ omlish/lite/maybes.py,sha256=0p_fzb6yiOjEpvMKaQ53Q6CH1VPW1or7v7Lt1JIKcgM,4359
492
492
  omlish/lite/maysyncs.py,sha256=MT3zF5kQ5rNlWU7db9Q_uXSM8K2C8LK85PIgdBsJyGE,7251
493
493
  omlish/lite/pycharm.py,sha256=FRHGcCDo42UzZXqNwW_DkhI-6kb_CmJKPiQ8F6mYkLA,1174
494
494
  omlish/lite/reflect.py,sha256=pzOY2PPuHH0omdtglkN6DheXDrGopdL3PtTJnejyLFU,2189
495
- omlish/lite/reprs.py,sha256=Tiqf_ciD8FfS0ury7FcJ5G21yY342fW0vPacYlb8EO4,2014
495
+ omlish/lite/reprs.py,sha256=2Bc7ukhKvYNTKmxPIuv9glZIph13C37y_W4fg9pBnu8,2006
496
496
  omlish/lite/resources.py,sha256=YNSmX1Ohck1aoWRs55a-o5ChVbFJIQhtbqE-XwF55Oc,326
497
497
  omlish/lite/runtime.py,sha256=J59skBq9kwo1H2s36jAk-k87eKPUtua6CmuXh-3dgmE,464
498
498
  omlish/lite/secrets.py,sha256=YE9XOkGFEEMfNn-IzjIAulgEiuwS148o1wMZ3XmQDTY,827
@@ -517,9 +517,9 @@ omlish/logs/standard.py,sha256=w0jS824YDvlzrGgAxKiPk9RoZ5V1b0ADiFsBEpKLuLY,3152
517
517
  omlish/logs/timing.py,sha256=qsQ3DB6swts1pxrFlmLWQzhH-3nzDrq1MUu7PxjjUyU,1519
518
518
  omlish/logs/utils.py,sha256=OkFWf1exmWImmT7BaSiIC7c0Fk9tAis-PRqo8H4ny3c,398
519
519
  omlish/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
520
- omlish/manifests/base.py,sha256=YBK6jxMgY5G3hK0ZBlbU-tghzifkGhwRTyWa5XqOmno,939
520
+ omlish/manifests/base.py,sha256=Z5afzBJgI0tyTS8mPbYY4pYvoZu_xtdhRBOtZ3IIwzA,929
521
521
  omlish/manifests/globals.py,sha256=LZm4ueBjlC023uxL8zvivSyzMgx5O8kSbo9oNfhF_DE,206
522
- omlish/manifests/loading.py,sha256=S-yEGsnBEu670ya6Bc09QqbRtA5rBp5rA4D3zuJUl9M,8070
522
+ omlish/manifests/loading.py,sha256=iIX4XmQRlaqNMasSPStu3hcB_9t1y6iAFQ-Rydu9rcY,8068
523
523
  omlish/manifests/static.py,sha256=7YwOVh_Ek9_aTrWsWNO8kWS10_j4K7yv3TpXZSHsvDY,501
524
524
  omlish/manifests/types.py,sha256=5hQuY-WZ9VMqHZXr-9Dayg380JsnX2vJzXyw6vC6UDs,317
525
525
  omlish/marshal/.dataclasses.json,sha256=wXWUy_IR8AolAa2RQnqn_mo2QnmVcvUJmayIykdVl0I,22
@@ -600,7 +600,7 @@ omlish/os/pidfiles/__main__.py,sha256=AF8TwjK4xgHVnoLAP9dIWgKvT0vGhHJlfDW0tKZ7tx
600
600
  omlish/os/pidfiles/cli.py,sha256=dAKukx4mrarH8t7KZM4n_XSfTk3ycShGAFqRrirK5dw,2079
601
601
  omlish/os/pidfiles/manager.py,sha256=oOnL90ttOG5ba_k9XPJ18reP7M5S-_30ln4OAfYV5W8,2357
602
602
  omlish/os/pidfiles/pidfile.py,sha256=KlqrW7I-lYVDNJspFHE89i_A0HTTteT5B99b7vpTfNs,4400
603
- omlish/os/pidfiles/pinning.py,sha256=L1MZp7UiBg3uzeDgvt8ScWJHwuIHXZGhgl47hTiiMjY,6636
603
+ omlish/os/pidfiles/pinning.py,sha256=u81LRe3-6Xd6K_dsVbbEPVdsUvY7zy3Xv7413-5NBLQ,6627
604
604
  omlish/reflect/__init__.py,sha256=9pzXLXXNMHkLhhI79iUr-o0SMOtR6HMUmAEUplZkIdE,853
605
605
  omlish/reflect/inspect.py,sha256=WCo2YpBYauKw6k758FLlZ_H4Q05rgVPs96fEv9w6zHQ,1538
606
606
  omlish/reflect/ops.py,sha256=F77OTaw0Uw020cJCWX_Q4kL3wvxlJ8jV8wz7BctGL_k,2619
@@ -908,9 +908,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
908
908
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
909
909
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
910
910
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
911
- omlish-0.0.0.dev399.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
912
- omlish-0.0.0.dev399.dist-info/METADATA,sha256=Kezuj4MTMgqRhNq1Y3YMIosDiWl5vpGH3FlTb0FV60g,18825
913
- omlish-0.0.0.dev399.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
914
- omlish-0.0.0.dev399.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
915
- omlish-0.0.0.dev399.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
916
- omlish-0.0.0.dev399.dist-info/RECORD,,
911
+ omlish-0.0.0.dev400.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
912
+ omlish-0.0.0.dev400.dist-info/METADATA,sha256=plSr7XXGzb3LCmxU49UqfaZzRfgAlM003BveHzqlP8M,18825
913
+ omlish-0.0.0.dev400.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
914
+ omlish-0.0.0.dev400.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
915
+ omlish-0.0.0.dev400.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
916
+ omlish-0.0.0.dev400.dist-info/RECORD,,