omdev 0.0.0.dev407__py3-none-any.whl → 0.0.0.dev409__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/amalg/__main__.py CHANGED
@@ -6,6 +6,6 @@ _CLI_MODULE = CliModule('amalg', __name__)
6
6
 
7
7
 
8
8
  if __name__ == '__main__':
9
- from .main import _main # noqa
9
+ from .cli.main import _main # noqa
10
10
 
11
11
  _main()
File without changes
@@ -34,8 +34,8 @@ import typing as ta
34
34
  from omlish import check
35
35
  from omlish.logs import all as logs
36
36
 
37
- from .gen import SCAN_COMMENT
38
- from .gen import AmalgGenerator
37
+ from ..gen.gen import SCAN_COMMENT
38
+ from ..gen.gen import AmalgGenerator
39
39
 
40
40
 
41
41
  log = logging.getLogger(__name__)
File without changes
@@ -8,8 +8,8 @@ from omlish import lang
8
8
  from omlish.algorithm import all as alg
9
9
  from omlish.lite.runtime import LITE_REQUIRED_PYTHON_VERSION
10
10
 
11
- from ..git.magic import GIT_DIFF_OMIT_MAGIC
12
- from ..tokens import all as tks
11
+ from ...git.magic import GIT_DIFF_OMIT_MAGIC
12
+ from ...tokens import all as tks
13
13
  from .srcfiles import SrcFile
14
14
  from .srcfiles import make_src_file
15
15
  from .strip import strip_main_lines
@@ -4,7 +4,7 @@ import typing as ta
4
4
 
5
5
  from omlish import check
6
6
 
7
- from ..tokens import all as tks
7
+ from ...tokens import all as tks
8
8
 
9
9
 
10
10
  ##
@@ -2,7 +2,7 @@ import ast
2
2
 
3
3
  from omlish import check
4
4
 
5
- from ..tokens import all as tks
5
+ from ...tokens import all as tks
6
6
 
7
7
 
8
8
  ##
@@ -4,7 +4,7 @@ import itertools
4
4
  import os.path
5
5
  import typing as ta
6
6
 
7
- from ..tokens import all as tks
7
+ from ...tokens import all as tks
8
8
 
9
9
 
10
10
  ##
@@ -4,7 +4,7 @@ import typing as ta
4
4
  from omlish import collections as col
5
5
  from omlish import lang
6
6
 
7
- from ..tokens import all as tks
7
+ from ...tokens import all as tks
8
8
  from .imports import Import
9
9
  from .imports import make_import
10
10
  from .manifests import comment_out_manifest_comment
@@ -1,8 +1,8 @@
1
1
  import re
2
2
  import typing as ta
3
3
 
4
- from .. import magic
5
- from ..tokens import all as tks
4
+ from ... import magic
5
+ from ...tokens import all as tks
6
6
 
7
7
 
8
8
  ##
@@ -1,6 +1,6 @@
1
1
  import typing as ta
2
2
 
3
- from ..tokens import all as tks
3
+ from ...tokens import all as tks
4
4
 
5
5
 
6
6
  Tokens: ta.TypeAlias = tks.Tokens
@@ -2,7 +2,7 @@ import dataclasses as dc
2
2
 
3
3
  from omlish import check
4
4
 
5
- from ..tokens import all as tks
5
+ from ...tokens import all as tks
6
6
 
7
7
 
8
8
  ##
omdev/amalg/sources.py ADDED
@@ -0,0 +1,51 @@
1
+ # ruff: noqa: UP045
2
+ # @omlish-lite
3
+ import typing as ta
4
+
5
+ from omlish.lite.cached import cached_nullary
6
+
7
+
8
+ ##
9
+
10
+
11
+ class AmalgSources:
12
+ def __init__(
13
+ self,
14
+ *,
15
+ name: ta.Optional[str] = None,
16
+ package: ta.Optional[str] = None,
17
+ ) -> None:
18
+ super().__init__()
19
+
20
+ self._name = name or __name__
21
+ self._package = package or __package__
22
+
23
+ @cached_nullary
24
+ def get_mod(self) -> ta.Any:
25
+ import sys # noqa
26
+ return sys.modules[self._name]
27
+
28
+ @cached_nullary
29
+ def get_src(self) -> str:
30
+ import inspect # noqa
31
+ return inspect.getsource(self.get_mod())
32
+
33
+ @classmethod
34
+ def is_src_amalg(cls, src: str) -> bool:
35
+ for l in src.splitlines(): # noqa
36
+ if l.startswith('# @omlish-amalg-output '):
37
+ return True
38
+ return False
39
+
40
+ @cached_nullary
41
+ def is_amalg(self) -> bool:
42
+ return self.is_src_amalg(self.get_src())
43
+
44
+ # TODO: read `@omlish-amalg ../scripts/manage.py`, given self._name/self._package, convert to resources path to read
45
+ # @cached_nullary
46
+ # def get_amalg_src(self) -> str:
47
+ # if _is_self_amalg():
48
+ # return _get_self_src()
49
+ #
50
+ # import importlib.resources # noqa
51
+ # return importlib.resources.files(__package__.split('.')[0] + '.scripts').joinpath('manage.py').read_text()
omdev/cli/main.py CHANGED
@@ -182,7 +182,7 @@ def _build_arg_parser() -> argparse.ArgumentParser:
182
182
  return parser
183
183
 
184
184
 
185
- def _build_cmd_set(args: ta.Any) -> CliCmdSet:
185
+ def _initialize_global_manifests(args: ta.Any) -> None:
186
186
  ldr_cfg = GlobalManifestLoader.default_config()
187
187
 
188
188
  ldr_cfg |= ManifestLoader.config_from_entry_point(globals())
@@ -195,8 +195,8 @@ def _build_cmd_set(args: ta.Any) -> CliCmdSet:
195
195
 
196
196
  GlobalManifestLoader.initialize(ldr_cfg)
197
197
 
198
- #
199
198
 
199
+ def _build_cmd_set() -> CliCmdSet:
200
200
  lst: list[CliCmd] = []
201
201
 
202
202
  for mv in GlobalManifestLoader.load_values_of(CliModule):
@@ -247,7 +247,9 @@ def _main() -> ta.Any:
247
247
  args = parser.parse_args()
248
248
 
249
249
  def inner():
250
- cmds = _build_cmd_set(args)
250
+ _initialize_global_manifests(args)
251
+
252
+ cmds = _build_cmd_set()
251
253
  sel = _select_cmd(args, cmds)
252
254
 
253
255
  if isinstance(sel, int):
omdev/intellij/ides.py CHANGED
@@ -24,6 +24,7 @@ class Ide(enum.Enum):
24
24
 
25
25
 
26
26
  _INFER_FILE_NAME_SETS_BY_IDE: ta.Mapping[Ide, ta.AbstractSet[str]] = {
27
+
27
28
  Ide.PYCHARM: frozenset([
28
29
  'setup.py',
29
30
  'setup.cfg',
@@ -36,6 +37,7 @@ _INFER_FILE_NAME_SETS_BY_IDE: ta.Mapping[Ide, ta.AbstractSet[str]] = {
36
37
  'asgi.py',
37
38
  'manage.py',
38
39
  ]),
40
+
39
41
  Ide.IDEA: frozenset([
40
42
  'pom.xml',
41
43
  'mvnw',
@@ -45,21 +47,27 @@ _INFER_FILE_NAME_SETS_BY_IDE: ta.Mapping[Ide, ta.AbstractSet[str]] = {
45
47
  'module-info.java',
46
48
  '.java-version',
47
49
  ]),
50
+
48
51
  Ide.CLION: frozenset([
49
52
  'CMakeLists.txt',
53
+ 'Cargo.toml',
54
+ 'config.h.in',
50
55
  'configure.ac',
51
56
  'configure.in',
52
- 'config.h.in',
57
+ 'rust-toolchain.toml',
53
58
  'vcpkg.json',
54
59
  ]),
60
+
55
61
  Ide.WEBSTORM: frozenset([
56
62
  'package.json',
57
63
  'package-lock.json',
58
64
  ]),
65
+
59
66
  Ide.GOLAND: frozenset([
60
67
  'go.mod',
61
68
  'go.sum',
62
69
  ]),
70
+
63
71
  }
64
72
 
65
73
 
@@ -148,7 +148,7 @@ def _main() -> None:
148
148
  f'dct = _run(**{run_kw!r})',
149
149
  f'import json',
150
150
  f'with open({out_file!r}, "w") as f:', # noqa
151
- f' print(f.write(json.dumps(dct)))',
151
+ f' f.write(json.dumps(dct))',
152
152
  ])
153
153
 
154
154
  subprocess.check_call([exe, '-c', payload])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev407
3
+ Version: 0.0.0.dev409
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev407
17
+ Requires-Dist: omlish==0.0.0.dev409
18
18
  Provides-Extra: all
19
19
  Requires-Dist: black~=25.1; extra == "all"
20
20
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -6,16 +6,19 @@ omdev/imgur.py,sha256=oG4jZH2EAk1my0JzoPNes-4LCtF2_aU08vmKbGzmuxo,3129
6
6
  omdev/pip.py,sha256=PqzAWDO_CbiZvXzJAZcCkFqWynUDls1jIgBWlrswQyA,2012
7
7
  omdev/tagstrings.py,sha256=cBmAc9-TtOBupvGQ9G4T1jjjtzijx4ihQCBu6FezzV0,5490
8
8
  omdev/amalg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- omdev/amalg/__main__.py,sha256=1sZH8SLAueWxMxK9ngvndUW3L_rw7f-s_jK3ZP1yAH8,170
10
- omdev/amalg/gen.py,sha256=LFkob-UhqnOnnwuUeMkPuGUjQRMhw-jGYVePIPMRQZ4,6192
11
- omdev/amalg/imports.py,sha256=me-I_FOD5874NVebZGt_wlc9kxEpuZV-XGuifbNkgNk,2073
12
- omdev/amalg/main.py,sha256=CNkpAMVXlBoaCmgs68rKSUlL8Xh4AuNdZjSFZPeao_4,4313
13
- omdev/amalg/manifests.py,sha256=CGwh-DiOU4ZKv0p_uUvdpBl2H72g468kvBHtguOHGMA,902
14
- omdev/amalg/resources.py,sha256=aIqVd1tbGCv4vIt6gbzqnB0L3PsQsAeqVaZJ_J7QSz8,2692
15
- omdev/amalg/srcfiles.py,sha256=TKSYSfv78Wb8bcsQS3V76dV_H_MICPwzv06Ar09ew9U,3079
16
- omdev/amalg/strip.py,sha256=dWQQ5WbtcebLi_PGjPzVYey2mJOnrRES8rkoUS8L52w,1444
17
- omdev/amalg/types.py,sha256=BXXJI0VctKTsZv_wXiyMMq3-xShxZ1ak0wxXUK8n9_g,89
18
- omdev/amalg/typing.py,sha256=GZX0O7J6lgxOX0mZV3T9M8IkVJpyohKj2vHF4UaUpHk,2300
9
+ omdev/amalg/__main__.py,sha256=nGxQ4PLd2u7zf6dH4TDWZg6yrVe3FxIVn9sGT5w8O-o,174
10
+ omdev/amalg/sources.py,sha256=wxPxPFnxRhPSRhQoWn9bpTYopXW-tanJQLvVQkf2K_A,1379
11
+ omdev/amalg/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ omdev/amalg/cli/main.py,sha256=U1PQ8JfdzQ1l4m-TS9YECTcTLltuQSxB6oIomVemg6w,4323
13
+ omdev/amalg/gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ omdev/amalg/gen/gen.py,sha256=95iQT0At_NsMf4IEg702ZOmmyEdhCZJGcSCFypm1BTk,6194
15
+ omdev/amalg/gen/imports.py,sha256=Bv3xNgej1Nsuv5R_y-9wd9b8cPtWljZsxjMh9bolJWc,2074
16
+ omdev/amalg/gen/manifests.py,sha256=SN4wvPZ8iNTcQIdpSZ6d64cL32pSlT_ak_GwctTPn_Y,903
17
+ omdev/amalg/gen/resources.py,sha256=wxqrudGbHzru2KWu-a_4LDmOf7tRRCd8NM0BXx_ZU9I,2693
18
+ omdev/amalg/gen/srcfiles.py,sha256=UUAW2XtzaMv6-ACr364gyAxa-W3bAawRIwTiXE3-ndQ,3080
19
+ omdev/amalg/gen/strip.py,sha256=GW76ZWJNdwH8dxLDG7gVHFi_CnS958fWvSfroD0HCaw,1446
20
+ omdev/amalg/gen/types.py,sha256=DvxUmEenqCeXycRHi4brxAkSjztq800qT1XlT94bXAY,90
21
+ omdev/amalg/gen/typing.py,sha256=VWw4_iZXqM_29ElSVUlLTO6-KLUCQPdieQDvG_q1YsI,2301
19
22
  omdev/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
23
  omdev/cache/compute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
24
  omdev/cache/compute/cache.py,sha256=7cJmxiHwbnitMZaLZEZVjEq0v1JJN7HKBK-BH_EtVY4,3628
@@ -113,7 +116,7 @@ omdev/cli/__main__.py,sha256=mOJpgc07o0r5luQ1DlX4tk2PqZkgmbwPbdzJ3KmtjgQ,138
113
116
  omdev/cli/_pathhack.py,sha256=ABWxtuMY29WBOPqC-4LAZK9S9PwGY3zn5aK6HavFPh0,2125
114
117
  omdev/cli/clicli.py,sha256=TZnQYHyyh97B6N_pVYYduYgt03s8Yp5mrJ7wblXWSWY,6308
115
118
  omdev/cli/install.py,sha256=oB34AOwu07sqEztW_z5mgorAFoP_Tw556XiTPj2WSM0,4904
116
- omdev/cli/main.py,sha256=ZbRst-axMDzlFvFptMrSpdbBjjo2JN6PWBYZNBIzz2k,6869
119
+ omdev/cli/main.py,sha256=JIyQjaoVkXpkanNYpJbQnauzvpMtzn9-nXGKu57dVls,6947
117
120
  omdev/cli/managers.py,sha256=BV98_n30Jj63OJrFgRoVZRfICxMLXEZKoEn4rMj9LV4,1160
118
121
  omdev/cli/types.py,sha256=SDv6aefBAvFmATZ-dlp9rvBBETC-2bSJfFvf87JxSNg,482
119
122
  omdev/clipboard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -146,7 +149,7 @@ omdev/home/secrets.py,sha256=Bq9Pak4lzsogw5GvOeQ4zs3Yatmn7glGH0q-b0Sf6h8,2003
146
149
  omdev/home/shadow.py,sha256=6mGDJV70IExa-nzd7mOUW4R3OZIXO0fBwmOUU9T9f4M,295
147
150
  omdev/intellij/__init__.py,sha256=OkihYdld_LTk_gTcyzOWc9Nze_drjsIYMYpbA5DG6m4,132
148
151
  omdev/intellij/cli.py,sha256=Sds9Xj_OHgbm76j70frhwrZEzlVi-1Rd93g0ypIe6t4,2038
149
- omdev/intellij/ides.py,sha256=uYSbVDPOlhKeImRCPV6HdcrO2JtACBPUpElbecTz7uM,1580
152
+ omdev/intellij/ides.py,sha256=5YSJZ0Sbe6UPExn6atOlZd7j3WK1hptHh4RDxSh6CkI,1639
150
153
  omdev/intellij/open.py,sha256=3HlbJsGkwZ28UBi1P7dVJMRDMLbJyOGQs9QMQqgYVus,2679
151
154
  omdev/interp/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
152
155
  omdev/interp/__main__.py,sha256=GMCqeGYltgt5dlJzHxY9gqisa8cRkrPfmZYuZnjg4WI,162
@@ -252,7 +255,7 @@ omdev/py/docstrings/parser.py,sha256=umJEgQBkSXLwWIKZrBbFCfNrz847vpTNDqTTEwlvHpA
252
255
  omdev/py/docstrings/rest.py,sha256=c2xPYg_W01W9eYY_KLKX69E4qu4jpkgUshi5K5EyVv8,5221
253
256
  omdev/py/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
254
257
  omdev/py/scripts/bumpversion.py,sha256=UDMtTd_wfkqsmrtHqTKDilWVzUBigzZAOCVND7t9jyw,1124
255
- omdev/py/scripts/execstat.py,sha256=Z4UWxVIlXci5aC_kQPd6U4pnWp9wnxWZjIW5Dc2h67M,4574
258
+ omdev/py/scripts/execstat.py,sha256=T5ls_Qx7iGmqiRQYFrc__yuHIarjt84vIm5wiaOPovw,4567
256
259
  omdev/py/scripts/importtrace.py,sha256=OOf9GvB6PWP2uVzogSYsM5JGUAoSfMx1IKfYUXB8ABc,14245
257
260
  omdev/py/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
261
  omdev/py/tools/importscan.py,sha256=4dCH0coX0OqNwesteKaTE8GxuSfLhgXYQlzNUXLiSNY,4640
@@ -321,9 +324,9 @@ omdev/tools/jsonview/resources/jsonview.js,sha256=faDvXDOXKvEvjOuIlz4D3F2ReQXb_b
321
324
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
322
325
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
323
326
  omdev/tools/pawk/pawk.py,sha256=ao5mdrpiSU4AZ8mBozoEaV3UVlmVTnRG9wD9XP70MZE,11429
324
- omdev-0.0.0.dev407.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
325
- omdev-0.0.0.dev407.dist-info/METADATA,sha256=5Yy6kmFhhdkAEpbefAKb2p47mMNEQ_Aha8QmLQb66Dk,5094
326
- omdev-0.0.0.dev407.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
327
- omdev-0.0.0.dev407.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
328
- omdev-0.0.0.dev407.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
329
- omdev-0.0.0.dev407.dist-info/RECORD,,
327
+ omdev-0.0.0.dev409.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
328
+ omdev-0.0.0.dev409.dist-info/METADATA,sha256=MfRdRwUIT4O-gqPXz0MuF6WYTRd4xv5SI5N5phzerCU,5094
329
+ omdev-0.0.0.dev409.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
330
+ omdev-0.0.0.dev409.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
331
+ omdev-0.0.0.dev409.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
332
+ omdev-0.0.0.dev409.dist-info/RECORD,,