omdev 0.0.0.dev283__py3-none-any.whl → 0.0.0.dev285__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.
omdev/.manifests.json CHANGED
@@ -11,30 +11,6 @@
11
11
  }
12
12
  }
13
13
  },
14
- {
15
- "module": ".attrdocs",
16
- "attr": "_CLI_MODULE",
17
- "file": "omdev/attrdocs.py",
18
- "line": 146,
19
- "value": {
20
- "$.cli.types.CliModule": {
21
- "cmd_name": "py/attrdocs",
22
- "mod_name": "omdev.attrdocs"
23
- }
24
- }
25
- },
26
- {
27
- "module": ".bracepy",
28
- "attr": "_CLI_MODULE",
29
- "file": "omdev/bracepy.py",
30
- "line": 94,
31
- "value": {
32
- "$.cli.types.CliModule": {
33
- "cmd_name": "bracepy",
34
- "mod_name": "omdev.bracepy"
35
- }
36
- }
37
- },
38
14
  {
39
15
  "module": ".cc.__main__",
40
16
  "attr": "_CLI_MODULE",
@@ -59,18 +35,6 @@
59
35
  }
60
36
  }
61
37
  },
62
- {
63
- "module": ".classdot",
64
- "attr": "_CLI_MODULE",
65
- "file": "omdev/classdot.py",
66
- "line": 65,
67
- "value": {
68
- "$.cli.types.CliModule": {
69
- "cmd_name": "py/classdot",
70
- "mod_name": "omdev.classdot"
71
- }
72
- }
73
- },
74
38
  {
75
39
  "module": ".cli.clicli",
76
40
  "attr": "_CLI_MODULE",
@@ -83,18 +47,6 @@
83
47
  }
84
48
  }
85
49
  },
86
- {
87
- "module": ".findimports",
88
- "attr": "_CLI_MODULE",
89
- "file": "omdev/findimports.py",
90
- "line": 87,
91
- "value": {
92
- "$.cli.types.CliModule": {
93
- "cmd_name": "py/findimports",
94
- "mod_name": "omdev.findimports"
95
- }
96
- }
97
- },
98
50
  {
99
51
  "module": ".imgur",
100
52
  "attr": "_FOO_CLI_MODULE",
@@ -168,50 +120,122 @@
168
120
  }
169
121
  },
170
122
  {
171
- "module": ".pyproject.__main__",
123
+ "module": ".py.attrdocs",
172
124
  "attr": "_CLI_MODULE",
173
- "file": "omdev/pyproject/__main__.py",
174
- "line": 4,
125
+ "file": "omdev/py/attrdocs.py",
126
+ "line": 146,
175
127
  "value": {
176
128
  "$.cli.types.CliModule": {
177
- "cmd_name": "pyproject",
178
- "mod_name": "omdev.pyproject.__main__"
129
+ "cmd_name": "py/attrdocs",
130
+ "mod_name": "omdev.py.attrdocs"
131
+ }
132
+ }
133
+ },
134
+ {
135
+ "module": ".py.bracepy",
136
+ "attr": "_CLI_MODULE",
137
+ "file": "omdev/py/bracepy.py",
138
+ "line": 94,
139
+ "value": {
140
+ "$.cli.types.CliModule": {
141
+ "cmd_name": "bracepy",
142
+ "mod_name": "omdev.py.bracepy"
143
+ }
144
+ }
145
+ },
146
+ {
147
+ "module": ".py.classdot",
148
+ "attr": "_CLI_MODULE",
149
+ "file": "omdev/py/classdot.py",
150
+ "line": 63,
151
+ "value": {
152
+ "$.cli.types.CliModule": {
153
+ "cmd_name": "py/classdot",
154
+ "mod_name": "omdev.py.classdot"
179
155
  }
180
156
  }
181
157
  },
182
158
  {
183
- "module": ".scripts.execrss",
159
+ "module": ".py.findimports",
184
160
  "attr": "_CLI_MODULE",
185
- "file": "omdev/scripts/execrss.py",
161
+ "file": "omdev/py/findimports.py",
162
+ "line": 87,
163
+ "value": {
164
+ "$.cli.types.CliModule": {
165
+ "cmd_name": "py/findimports",
166
+ "mod_name": "omdev.py.findimports"
167
+ }
168
+ }
169
+ },
170
+ {
171
+ "module": ".py.scripts.execrss",
172
+ "attr": "_CLI_MODULE",
173
+ "file": "omdev/py/scripts/execrss.py",
186
174
  "line": 11,
187
175
  "value": {
188
176
  "$.cli.types.CliModule": {
189
177
  "cmd_name": "py/execrss",
190
- "mod_name": "omdev.scripts.execrss"
178
+ "mod_name": "omdev.py.scripts.execrss"
191
179
  }
192
180
  }
193
181
  },
194
182
  {
195
- "module": ".scripts.exectime",
183
+ "module": ".py.scripts.exectime",
196
184
  "attr": "_CLI_MODULE",
197
- "file": "omdev/scripts/exectime.py",
185
+ "file": "omdev/py/scripts/exectime.py",
198
186
  "line": 66,
199
187
  "value": {
200
188
  "$.cli.types.CliModule": {
201
189
  "cmd_name": "py/exectime",
202
- "mod_name": "omdev.scripts.exectime"
190
+ "mod_name": "omdev.py.scripts.exectime"
203
191
  }
204
192
  }
205
193
  },
206
194
  {
207
- "module": ".scripts.importtrace",
195
+ "module": ".py.scripts.importtrace",
208
196
  "attr": "_CLI_MODULE",
209
- "file": "omdev/scripts/importtrace.py",
197
+ "file": "omdev/py/scripts/importtrace.py",
210
198
  "line": 477,
211
199
  "value": {
212
200
  "$.cli.types.CliModule": {
213
201
  "cmd_name": "py/importtrace",
214
- "mod_name": "omdev.scripts.importtrace"
202
+ "mod_name": "omdev.py.scripts.importtrace"
203
+ }
204
+ }
205
+ },
206
+ {
207
+ "module": ".py.tools.importscan",
208
+ "attr": "_CLI_MODULE",
209
+ "file": "omdev/py/tools/importscan.py",
210
+ "line": 178,
211
+ "value": {
212
+ "$.cli.types.CliModule": {
213
+ "cmd_name": "py/importscan",
214
+ "mod_name": "omdev.py.tools.importscan"
215
+ }
216
+ }
217
+ },
218
+ {
219
+ "module": ".py.tools.mkrelimp",
220
+ "attr": "_CLI_MODULE",
221
+ "file": "omdev/py/tools/mkrelimp.py",
222
+ "line": 146,
223
+ "value": {
224
+ "$.cli.types.CliModule": {
225
+ "cmd_name": "py/mkrelimp",
226
+ "mod_name": "omdev.py.tools.mkrelimp"
227
+ }
228
+ }
229
+ },
230
+ {
231
+ "module": ".pyproject.__main__",
232
+ "attr": "_CLI_MODULE",
233
+ "file": "omdev/pyproject/__main__.py",
234
+ "line": 4,
235
+ "value": {
236
+ "$.cli.types.CliModule": {
237
+ "cmd_name": "pyproject",
238
+ "mod_name": "omdev.pyproject.__main__"
215
239
  }
216
240
  }
217
241
  },
@@ -315,18 +339,6 @@
315
339
  }
316
340
  }
317
341
  },
318
- {
319
- "module": ".tools.importscan",
320
- "attr": "_CLI_MODULE",
321
- "file": "omdev/tools/importscan.py",
322
- "line": 178,
323
- "value": {
324
- "$.cli.types.CliModule": {
325
- "cmd_name": "py/importscan",
326
- "mod_name": "omdev.tools.importscan"
327
- }
328
- }
329
- },
330
342
  {
331
343
  "module": ".tools.intellij",
332
344
  "attr": "_CLI_MODULE",
@@ -383,18 +395,6 @@
383
395
  }
384
396
  }
385
397
  },
386
- {
387
- "module": ".tools.mkrelimp",
388
- "attr": "_CLI_MODULE",
389
- "file": "omdev/tools/mkrelimp.py",
390
- "line": 146,
391
- "value": {
392
- "$.cli.types.CliModule": {
393
- "cmd_name": "py/mkrelimp",
394
- "mod_name": "omdev.tools.mkrelimp"
395
- }
396
- }
397
- },
398
398
  {
399
399
  "module": ".tools.notebook",
400
400
  "attr": "_CLI_MODULE",
omdev/__about__.py CHANGED
@@ -24,7 +24,7 @@ class Project(ProjectBase):
24
24
  'doc': [
25
25
  'docutils ~= 0.21',
26
26
 
27
- 'markdown-it-py ~= 3.7',
27
+ 'markdown-it-py ~= 3.0',
28
28
  # 'mdit-py-plugins ~= 0.4',
29
29
  ],
30
30
 
@@ -33,7 +33,7 @@ class Project(ProjectBase):
33
33
  ],
34
34
 
35
35
  'prof': [
36
- 'gprof2dot ~= 2024.6',
36
+ 'gprof2dot ~= 2025.4',
37
37
  ],
38
38
 
39
39
  'ptk': [
@@ -43,10 +43,6 @@ class Project(ProjectBase):
43
43
  'qr': [
44
44
  'segno ~= 1.6',
45
45
  ],
46
-
47
- 'wheel': [
48
- 'wheel ~= 0.45',
49
- ],
50
46
  }
51
47
 
52
48
  entry_points = {
@@ -90,7 +90,7 @@ class Object(lang.Abstract):
90
90
 
91
91
 
92
92
  @dc.dataclass(frozen=True)
93
- @dc.extra_params(cache_hash=True)
93
+ @dc.extra_class_params(cache_hash=True)
94
94
  class CacheKey(lang.Abstract, ta.Generic[NameT]):
95
95
  name: NameT
96
96
 
omdev/precheck/scripts.py CHANGED
@@ -3,8 +3,8 @@ import os
3
3
  import stat
4
4
  import typing as ta
5
5
 
6
- from .. import findimports
7
6
  from .. import magic
7
+ from ..py import findimports
8
8
  from .base import Precheck
9
9
  from .base import PrecheckContext
10
10
 
omdev/py/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ """
2
+ Python source-related utilities.
3
+ """
@@ -7,7 +7,7 @@ import typing as ta
7
7
  from omlish import check
8
8
  from omlish import lang
9
9
 
10
- from .tokens import all as tks
10
+ from ..tokens import all as tks
11
11
 
12
12
 
13
13
  ##
@@ -7,8 +7,6 @@ import typing as ta
7
7
 
8
8
  from omlish.graphs import dot
9
9
 
10
- from .cli import CliModule
11
-
12
10
 
13
11
  ##
14
12
 
@@ -63,7 +61,10 @@ def _main() -> None:
63
61
 
64
62
 
65
63
  # @omlish-manifest
66
- _CLI_MODULE = CliModule('py/classdot', __name__)
64
+ _CLI_MODULE = {'$omdev.cli.types.CliModule': {
65
+ 'cmd_name': 'py/classdot',
66
+ 'mod_name': __name__,
67
+ }}
67
68
 
68
69
 
69
70
  if __name__ == '__main__':
File without changes
File without changes
@@ -26,7 +26,7 @@ from omlish import check
26
26
  from omlish import concurrent as cu
27
27
  from omlish import lang
28
28
 
29
- from ..cli import CliModule
29
+ from ...cli import CliModule
30
30
 
31
31
 
32
32
  ##
@@ -6,8 +6,8 @@ import typing as ta
6
6
 
7
7
  from omlish.logs import all as logs
8
8
 
9
- from ..cli import CliModule
10
- from ..tokens import all as tks
9
+ from ...cli import CliModule
10
+ from ...tokens import all as tks
11
11
 
12
12
 
13
13
  T = ta.TypeVar('T')
omdev/scripts/ci.py CHANGED
@@ -50,6 +50,7 @@ import json
50
50
  import logging
51
51
  import os
52
52
  import os.path
53
+ import re
53
54
  import selectors
54
55
  import shlex
55
56
  import shutil
@@ -5572,19 +5573,77 @@ class StringMangler:
5572
5573
  check.not_in(self.escape, self.escaped)
5573
5574
  check.arg(len(set(self.escaped)) == len(self.escaped))
5574
5575
 
5576
+ #
5577
+
5578
+ @cached_nullary
5579
+ def replaced(self) -> ta.Tuple[str, ...]:
5580
+ return (self.escape, *self.escaped)
5581
+
5582
+ @cached_nullary
5583
+ def replaced_set(self) -> ta.FrozenSet[str]:
5584
+ return frozenset(self.replaced())
5585
+
5586
+ @cached_nullary
5587
+ def replaced_indexes(self) -> ta.Mapping[str, int]:
5588
+ return {s: i for i, s in enumerate(self.replaced())}
5589
+
5590
+ @cached_nullary
5591
+ def replaced_pat(self) -> re.Pattern:
5592
+ return re.compile('|'.join(re.escape(k) for k in self.replaced()))
5593
+
5594
+ #
5595
+
5596
+ @cached_nullary
5597
+ def replacement_pad(self) -> int:
5598
+ return len('%x' % (len(self.replaced()),)) # noqa
5599
+
5575
5600
  @cached_nullary
5576
5601
  def replacements(self) -> ta.Sequence[ta.Tuple[str, str]]:
5577
- return [(l, self.escape + str(i)) for i, l in enumerate([self.escape, *self.escaped])]
5602
+ fmt = f'%0{self.replacement_pad()}x'
5603
+ return [
5604
+ (l, self.escape + fmt % (i,))
5605
+ for i, l in enumerate(self.replaced())
5606
+ ]
5607
+
5608
+ @cached_nullary
5609
+ def replacements_dict(self) -> ta.Mapping[str, str]:
5610
+ return dict(self.replacements())
5611
+
5612
+ @cached_nullary
5613
+ def inverse_replacements_dict(self) -> ta.Mapping[str, str]:
5614
+ return {v: k for k, v in self.replacements()}
5615
+
5616
+ @cached_nullary
5617
+ def replacements_pat(self) -> re.Pattern:
5618
+ return re.compile(''.join([re.escape(self.escape), '.' * self.replacement_pad()]))
5619
+
5620
+ #
5621
+
5622
+ # def mangle(self, s: str) -> str:
5623
+ # ecs = sorted(
5624
+ # frozenset(s) & self.replaced_set(),
5625
+ # key=self.replaced_indexes().__getitem__,
5626
+ # )
5627
+ # rd = self.replacements_dict()
5628
+ # for l in ecs:
5629
+ # r = rd[l]
5630
+ # s = s.replace(l, r)
5631
+ # return s
5578
5632
 
5579
5633
  def mangle(self, s: str) -> str:
5580
- for l, r in self.replacements():
5581
- s = s.replace(l, r)
5582
- return s
5634
+ rd = self.replacements_dict()
5635
+ return self.replaced_pat().sub(lambda m: rd[m.group(0)], s)
5636
+
5637
+ #
5638
+
5639
+ # def unmangle(self, s: str) -> str:
5640
+ # for l, r in reversed(self.replacements()):
5641
+ # s = s.replace(r, l)
5642
+ # return s
5583
5643
 
5584
5644
  def unmangle(self, s: str) -> str:
5585
- for l, r in reversed(self.replacements()):
5586
- s = s.replace(r, l)
5587
- return s
5645
+ ird = self.inverse_replacements_dict()
5646
+ return self.replacements_pat().sub(lambda m: ird[m.group(0)], s)
5588
5647
 
5589
5648
 
5590
5649
  ########################################
omdev/tokens/utils.py CHANGED
@@ -28,6 +28,8 @@ def ignore_ws(
28
28
  *,
29
29
  keep: ta.Container[str] = (),
30
30
  ) -> ta.Iterable[Token]:
31
+ if isinstance(keep, str):
32
+ raise TypeError(keep)
31
33
  return (
32
34
  t
33
35
  for t in toks
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev283
3
+ Version: 0.0.0.dev285
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,18 +12,17 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev283
15
+ Requires-Dist: omlish==0.0.0.dev285
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
19
19
  Requires-Dist: pcpp~=1.30; extra == "all"
20
20
  Requires-Dist: docutils~=0.21; extra == "all"
21
- Requires-Dist: markdown-it-py~=3.7; extra == "all"
21
+ Requires-Dist: markdown-it-py~=3.0; extra == "all"
22
22
  Requires-Dist: mypy~=1.15; extra == "all"
23
- Requires-Dist: gprof2dot~=2024.6; extra == "all"
23
+ Requires-Dist: gprof2dot~=2025.4; extra == "all"
24
24
  Requires-Dist: prompt-toolkit~=3.0; extra == "all"
25
25
  Requires-Dist: segno~=1.6; extra == "all"
26
- Requires-Dist: wheel~=0.45; extra == "all"
27
26
  Provides-Extra: black
28
27
  Requires-Dist: black~=25.1; extra == "black"
29
28
  Provides-Extra: c
@@ -31,15 +30,13 @@ Requires-Dist: pycparser~=2.22; extra == "c"
31
30
  Requires-Dist: pcpp~=1.30; extra == "c"
32
31
  Provides-Extra: doc
33
32
  Requires-Dist: docutils~=0.21; extra == "doc"
34
- Requires-Dist: markdown-it-py~=3.7; extra == "doc"
33
+ Requires-Dist: markdown-it-py~=3.0; extra == "doc"
35
34
  Provides-Extra: mypy
36
35
  Requires-Dist: mypy~=1.15; extra == "mypy"
37
36
  Provides-Extra: prof
38
- Requires-Dist: gprof2dot~=2024.6; extra == "prof"
37
+ Requires-Dist: gprof2dot~=2025.4; extra == "prof"
39
38
  Provides-Extra: ptk
40
39
  Requires-Dist: prompt-toolkit~=3.0; extra == "ptk"
41
40
  Provides-Extra: qr
42
41
  Requires-Dist: segno~=1.6; extra == "qr"
43
- Provides-Extra: wheel
44
- Requires-Dist: wheel~=0.45; extra == "wheel"
45
42
  Dynamic: license-file
@@ -1,11 +1,7 @@
1
- omdev/.manifests.json,sha256=gpOkgx7EEYTrLPBJ-QnaUrW0fpWe9Lj6T3Wsye9wHgg,10325
2
- omdev/__about__.py,sha256=TeZN9riO-ekcaVodONcH5Es3OsQwWS7lu_dQHdzY_t4,1231
1
+ omdev/.manifests.json,sha256=7l1mn-QsFPcRMz9DHpN9yS8F27pYW6tsyDOAS2cREWU,10406
2
+ omdev/__about__.py,sha256=OgO_8azOzKriF2qPeDWRLcRe9p1XW5kYdJCq5vewff0,1171
3
3
  omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- omdev/attrdocs.py,sha256=XGY87xd9FZJqzGI8V9g4sSeQMWYu7oHD_klzC8YwZhk,4528
5
- omdev/bracepy.py,sha256=PPPoTMj4FJ5Lk3GGPEEWBGU7Kl1eCJBApSJnRvRj2Ms,2753
6
- omdev/classdot.py,sha256=Gmw4pFEFSnm6HBz65dI5-J8hNH1BSYgH_vsMcYKzbB4,1636
7
4
  omdev/cmake.py,sha256=9rfSvFHPmKDj9ngvfDB2vK8O-xO_ZwUm7hMKLWA-yOw,4578
8
- omdev/findimports.py,sha256=CDorwWr9hdIGnV-gvYQykdiz9hEsu8JrEZAF5sD_89w,2402
9
5
  omdev/imgur.py,sha256=TkjK_M4nDarEmbP-FhVkt_VzSY2jHkZnKGnhnZ1zJAs,3010
10
6
  omdev/pip.py,sha256=PqzAWDO_CbiZvXzJAZcCkFqWynUDls1jIgBWlrswQyA,2012
11
7
  omdev/tagstrings.py,sha256=zIP7nzcsZf5te0lphu6k36ND_cOvNFRg00neoTcoCs8,5484
@@ -31,7 +27,7 @@ omdev/cache/compute/currents.py,sha256=D1Ls5Sd7FX2aPO5wpyEwTSmkz50sxkwCs37Amb0ur
31
27
  omdev/cache/compute/fns.py,sha256=_1xU7qw1O57OsTp17RFjFTBO1M2t54RL-CGdl-0cTBk,4175
32
28
  omdev/cache/compute/resolvers.py,sha256=9dq0mt__emp8CdNDWPVUr_dCkTOn7ar6nw0F2QH6XpQ,566
33
29
  omdev/cache/compute/storage.py,sha256=woCUqHg8ZrwLEejRG3zu1L5ZXxGNNXveh3E8FnlEkjc,941
34
- omdev/cache/compute/types.py,sha256=NpCTTJHDmpERjrbO6dh9TEzHuP6-vOuoX3ym9sA0ukc,2639
30
+ omdev/cache/compute/types.py,sha256=dW6S1g_-MklWf8JDPXFMamuOZinjKFOlonfMyWg4L3o,2645
35
31
  omdev/cache/data/__init__.py,sha256=SQXtugLceRif463rcoklpQ33pxYLgEIm0xiI6NvOI6M,301
36
32
  omdev/cache/data/actions.py,sha256=Mv7eXeZuohCjQLpmLyvqvGjjBacXIvTYzIRMVpEh-zM,1037
37
33
  omdev/cache/data/cache.py,sha256=aZJotj9kpVHBK7O0UdqMdeV7PtCqf9Rd8tqIwgWtQlQ,7664
@@ -193,10 +189,23 @@ omdev/precheck/git.py,sha256=APC5Ln7x0zDrQiGPRWPsBcVJK3vWhbU-brqR5M63JQA,849
193
189
  omdev/precheck/lite.py,sha256=WFi7Ox2XD_L-jx8rdjXucoGMi5AiEFkDGYWhCW8ZH6g,4692
194
190
  omdev/precheck/main.py,sha256=XkwQnC_4YH-0P9YYkVxKUHAAj0o6iXiCu6S-oU_WaQk,2948
195
191
  omdev/precheck/manifests.py,sha256=ulwuYeZ0vnRsj8uTUbQGifoBNwI82MAsJuffs3rVIak,760
196
- omdev/precheck/scripts.py,sha256=Xw9kkQzlDd_2V9av9qlaNpNZG9jZdy3TTo7x60MeR2I,1273
192
+ omdev/precheck/scripts.py,sha256=Sm-HLJZVX2bjl1iGAW7mbtEbpGI-WIAlRDK1OSk40oM,1275
197
193
  omdev/ptk/__init__.py,sha256=Km0B3IYeljiFfSo7uywH55EU7mo1fZOrbUs8tN735rI,4957
198
194
  omdev/ptk/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
195
  omdev/ptk/apps/ncdu.py,sha256=dOkEJoc2Wjv1u_Uge7Vpei_LvXldoPP5833Eia355tc,4548
196
+ omdev/py/__init__.py,sha256=u7tLEfRTnPVtWPmKK_ZIvnFkZwTe1q44UQ53cvsix3k,41
197
+ omdev/py/attrdocs.py,sha256=AiPVoGP3919cNK3a4tDxXEtnLMf6QG967xxCla1LwS4,4529
198
+ omdev/py/bracepy.py,sha256=PPPoTMj4FJ5Lk3GGPEEWBGU7Kl1eCJBApSJnRvRj2Ms,2753
199
+ omdev/py/classdot.py,sha256=CAHL39nhQWnELVe1L6HIOyLha2h3pf4f1vKyLZTHhkM,1666
200
+ omdev/py/findimports.py,sha256=CDorwWr9hdIGnV-gvYQykdiz9hEsu8JrEZAF5sD_89w,2402
201
+ omdev/py/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
+ omdev/py/scripts/bumpversion.py,sha256=2NnfRsJiZNTg-LubIwXCm2vklG7-kIR8_xFUEZNxtiY,1119
203
+ omdev/py/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
204
+ omdev/py/scripts/exectime.py,sha256=S2O4MgtzTsFOY2IUJxsrnOIame9tEFc6aOlKP-F1JSg,1541
205
+ omdev/py/scripts/importtrace.py,sha256=NjRilVNBugswrNflIhPCPHRTd-vIijqSZ8C7J8lariI,14038
206
+ omdev/py/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
+ omdev/py/tools/importscan.py,sha256=4dCH0coX0OqNwesteKaTE8GxuSfLhgXYQlzNUXLiSNY,4640
208
+ omdev/py/tools/mkrelimp.py,sha256=L6TksQixUc_DQGXKFMOKnYJ-JixeP3ldgkDqHeEs2Ww,4044
200
209
  omdev/pyproject/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
201
210
  omdev/pyproject/__main__.py,sha256=gn3Rl1aYPYdiTtEqa9ifi0t-e4ZwPY0vhJ4UXvYdJDY,165
202
211
  omdev/pyproject/cexts.py,sha256=x13piOOnNrYbA17qZLDVuR0p1sqhgEwpk4FtImX-klM,4281
@@ -210,11 +219,7 @@ omdev/pyproject/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
210
219
  omdev/pyproject/resources/docker-dev.sh,sha256=DHkz5D18jok_oDolfg2mqrvGRWFoCe9GQo04dR1czcc,838
211
220
  omdev/pyproject/resources/python.sh,sha256=rFaN4SiJ9hdLDXXsDTwugI6zsw6EPkgYMmtacZeTbvw,749
212
221
  omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
213
- omdev/scripts/bumpversion.py,sha256=2NnfRsJiZNTg-LubIwXCm2vklG7-kIR8_xFUEZNxtiY,1119
214
- omdev/scripts/ci.py,sha256=Z2Tufq5f072q7BQzvcqBpwLkvhBaqagA7lEbeazLXMg,333891
215
- omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
216
- omdev/scripts/exectime.py,sha256=S2O4MgtzTsFOY2IUJxsrnOIame9tEFc6aOlKP-F1JSg,1541
217
- omdev/scripts/importtrace.py,sha256=NjRilVNBugswrNflIhPCPHRTd-vIijqSZ8C7J8lariI,14038
222
+ omdev/scripts/ci.py,sha256=DJC8KuvR5wUr5ffVUlN6PbJYldsnVbowZuIViNCHyTM,335543
218
223
  omdev/scripts/interp.py,sha256=HPJQlV2PEdVCcDto3MI9SWS-LmngPGJ05jbGXMCsx3g,151611
219
224
  omdev/scripts/pyproject.py,sha256=dcWEUuHsE8_zIJ26s8MMlPlFgJzlE49kVhh2sQLDlKQ,260661
220
225
  omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
@@ -222,17 +227,15 @@ omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
222
227
  omdev/tokens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
228
  omdev/tokens/all.py,sha256=YT7d-jrEssJBCTC8ljVcQT7BPrCW_r1JCmE8OFzbgFg,709
224
229
  omdev/tokens/tokenizert.py,sha256=-KM5ajybESWCMtqxSm_5ktyu8s-p1MdTgYA4ungyrkM,7840
225
- omdev/tokens/utils.py,sha256=HN3nZhaZ0Fc7PxuUWLIMIm-l7jTh3R83-1dULkX9i2g,1698
230
+ omdev/tokens/utils.py,sha256=vF2c8vHwe1zfSXNeU0q1CaA_66oZl0YdkqBKzNhFsAM,1758
226
231
  omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
227
232
  omdev/tools/cloc.py,sha256=jYlMHBae9oGKN4VKeBGuqjiQNcM2be7KIoTF0oNwx_I,5205
228
233
  omdev/tools/diff.py,sha256=_ThKWXFE-bG5SPDYNs8GqstEUPzL_PTWb03nJN0laLg,515
229
234
  omdev/tools/doc.py,sha256=mUV7yNJ6EN-E0TAWad3rGwGtw2w5R9b0zP-JwkSNIyU,2570
230
235
  omdev/tools/docker.py,sha256=Ekn8q0vo5KZPnz5Fz2P_NDeZkN3c2bdnMvh0SOLWNps,7184
231
- omdev/tools/importscan.py,sha256=nhJIhtjDY6eFVlReP7fegvv6L5ZjN-Z2VeyhsBonev4,4639
232
236
  omdev/tools/intellij.py,sha256=yy6Uw2hcYyEWLZESAupKvd3U6omirYMbjnbw7UllhV4,5834
233
237
  omdev/tools/linehisto.py,sha256=0ZNm34EuiZBE9Q2YC6KNLNNydNT8QPSOwvYzXiU9S2Q,8881
234
238
  omdev/tools/mkenv.py,sha256=G2tu5bmiyKFyZuqtUoM7Z-6AI6CI86F2LwoIozoWOvo,2300
235
- omdev/tools/mkrelimp.py,sha256=p_35JBGDec0gvD6AHQ279iHcjU39E7Si6LcEDCMrJpo,4042
236
239
  omdev/tools/notebook.py,sha256=q1YMGwM1skHv-dPbtT_cM7UOGFNiMEAxjr6rr6rbobk,3494
237
240
  omdev/tools/pip.py,sha256=eBD41hp-V3thGfhUBM3Erxl4CSG-5LG6Szo1sA76P2k,3459
238
241
  omdev/tools/prof.py,sha256=hQakAsViJD4gLJpLLZnTkOqmTDAwM48Nx5q-O_aFlYM,1467
@@ -255,9 +258,9 @@ omdev/tools/json/rendering.py,sha256=tMcjOW5edfozcMSTxxvF7WVTsbYLoe9bCKFh50qyaGw
255
258
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
259
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
257
260
  omdev/tools/pawk/pawk.py,sha256=zsEkfQX0jF5bn712uqPAyBSdJt2dno1LH2oeSMNfXQI,11424
258
- omdev-0.0.0.dev283.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
259
- omdev-0.0.0.dev283.dist-info/METADATA,sha256=deF-r5kF_saAx6QkRAyDHWoQQlItNcTo9ejJRCZRkyc,1588
260
- omdev-0.0.0.dev283.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
261
- omdev-0.0.0.dev283.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
262
- omdev-0.0.0.dev283.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
263
- omdev-0.0.0.dev283.dist-info/RECORD,,
261
+ omdev-0.0.0.dev285.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
262
+ omdev-0.0.0.dev285.dist-info/METADATA,sha256=TPHgNws3LV9TLfydsnLjaiPHDNOK0OOcRKGjC8U8FHw,1478
263
+ omdev-0.0.0.dev285.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
264
+ omdev-0.0.0.dev285.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
265
+ omdev-0.0.0.dev285.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
266
+ omdev-0.0.0.dev285.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes