omdev 0.0.0.dev47__py3-none-any.whl → 0.0.0.dev48__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.

Potentially problematic release.


This version of omdev might be problematic. Click here for more details.

omdev/.manifests.json CHANGED
@@ -147,7 +147,7 @@
147
147
  "module": ".tools.importscan",
148
148
  "attr": "_CLI_MODULE",
149
149
  "file": "omdev/tools/importscan.py",
150
- "line": 165,
150
+ "line": 166,
151
151
  "value": {
152
152
  "$.cli.types.CliModule": {
153
153
  "cmd_name": "importscan",
omdev/cli/managers.py CHANGED
@@ -45,7 +45,7 @@ def detect_install_manager(cli_pkg: str) -> ManagerType | None:
45
45
 
46
46
 
47
47
  ##
48
- # Python is insistent in prepending sys.path with an empty string (translating to the current working directory),
48
+ # Python is insistent on prepending sys.path with an empty string (translating to the current working directory),
49
49
  # which leads to problems when using the cli in directories containing python packages (such as within this very
50
50
  # source tree). This can't be done in cli main as the code frequently spawns other sys.executable processes which
51
51
  # wouldn't know to do that, so a .pth file hack is used. Cleaning sys.path solely there is also insufficient as that
@@ -490,12 +490,32 @@ def _main() -> None:
490
490
  raise EnvironmentError(f'Requires python {REQUIRED_PYTHON_VERSION}, got {sys.version_info} from {sys.executable}') # noqa
491
491
 
492
492
  import argparse
493
+
493
494
  parser = argparse.ArgumentParser()
495
+ parser.add_argument('--python')
494
496
  parser.add_argument('--sqlite')
495
497
  parser.add_argument('--pretty', action='store_true')
496
498
  parser.add_argument('mod')
497
499
  args = parser.parse_args()
498
500
 
501
+ if args.python:
502
+ import inspect
503
+ import subprocess
504
+
505
+ mod_src = inspect.getsource(sys.modules[__name__])
506
+ subprocess.run(
507
+ [
508
+ args.python,
509
+ '-',
510
+ *(['--sqlite', args.sqlite] if args.sqlite else []),
511
+ *(['--pretty'] if args.pretty else []),
512
+ args.mod,
513
+ ],
514
+ input=mod_src.encode(),
515
+ check=True,
516
+ )
517
+ return
518
+
499
519
  node = ImportTracer(stringify_fields=True).trace(args.mod)
500
520
 
501
521
  if args.sqlite:
omdev/tools/importscan.py CHANGED
@@ -75,6 +75,7 @@ def run_one(
75
75
  spec: str,
76
76
  *,
77
77
  shell_wrap: bool = True,
78
+ python: str | None = None,
78
79
  ) -> Item:
79
80
  spec_payload_src = '\n\n'.join([
80
81
  payload_src(),
@@ -82,7 +83,7 @@ def run_one(
82
83
  ])
83
84
 
84
85
  args = [
85
- sys.executable,
86
+ python or sys.executable,
86
87
  '-c',
87
88
  spec_payload_src,
88
89
  ]
@@ -171,6 +172,7 @@ def _main() -> None:
171
172
  parser.add_argument('-j', '--jobs', type=int)
172
173
  parser.add_argument('-f', '--filter', action='append')
173
174
  parser.add_argument('-t', '--filter-tests', action='store_true')
175
+ parser.add_argument('--python', default=sys.executable)
174
176
  parser.add_argument('root', nargs='+')
175
177
  args = parser.parse_args()
176
178
 
@@ -185,6 +187,7 @@ def _main() -> None:
185
187
  *args.root,
186
188
  filters=filters,
187
189
  num_threads=args.jobs,
190
+ python=args.python,
188
191
  ).values():
189
192
  print(json.dumps(dc.asdict(item)))
190
193
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev47
3
+ Version: 0.0.0.dev48
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ 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.dev47
15
+ Requires-Dist: omlish ==0.0.0.dev48
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser ~=2.22 ; extra == 'all'
18
18
  Requires-Dist: cffi ~=1.17 ; extra == 'all'
@@ -1,4 +1,4 @@
1
- omdev/.manifests.json,sha256=kEgqk5lxYhb_GAnksPc5f0xDcG-5eMUtdcT-v77bCzU,3918
1
+ omdev/.manifests.json,sha256=VjSjb16bBoHODQU_kmP3YULw0wclMsAiHbk4dH-kyLk,3918
2
2
  omdev/__about__.py,sha256=LqSNNFFcT84xW3W8fIOJ78kPYJKFLIXZyDX-AJREvN0,1005
3
3
  omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omdev/bracepy.py,sha256=HwBK5XmlOsF_juTel25fRLJK9vHSJCWXuCc-OZlevRQ,2619
@@ -58,7 +58,7 @@ omdev/cli/__main__.py,sha256=5IeIERm-371fSI5ZvPv8eldAJBwgKwpR0R49pTsILNM,76
58
58
  omdev/cli/clicli.py,sha256=NY4MF16007Ri31rUsq868u1V9JYDb_2atBALqjjXJK4,1624
59
59
  omdev/cli/install.py,sha256=SNsCGUeX5IRR9qpkBUCeK7l0nJ_21JsmTYw7Fwu_cs8,4547
60
60
  omdev/cli/main.py,sha256=yRbomneGgDPc7cjN8nMpjLmwKqOrKM6U36b5ED9q6T8,2058
61
- omdev/cli/managers.py,sha256=SbI9XVP2BL8HOjOPyB8pkzB3enKfN6kabgpr9Y_VSW8,2592
61
+ omdev/cli/managers.py,sha256=qCxIMWbaLZCEIlpK6fe-A7gFBAeBYpde5icahTg9fP8,2592
62
62
  omdev/cli/types.py,sha256=7_Owg0P8C8oOObSuOp6aEYSjkEukVFxTT00SRy1bLHM,250
63
63
  omdev/interp/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
64
64
  omdev/interp/__main__.py,sha256=GMCqeGYltgt5dlJzHxY9gqisa8cRkrPfmZYuZnjg4WI,162
@@ -99,7 +99,7 @@ omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
99
99
  omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,1064
100
100
  omdev/scripts/execrss.py,sha256=d6purJqU99OkMcNxCS1kG2CMfSsw7wjnvBQW7SjyJ70,448
101
101
  omdev/scripts/exectime.py,sha256=LRVIJsnvGYUqH-zfCdFnrQCZv1KLXJPtWBWplXMDwhI,407
102
- omdev/scripts/importtrace.py,sha256=bp6lnrDdh0zPR0cmI3nvlU5QPWybiImpe9SNoJFOrac,13558
102
+ omdev/scripts/importtrace.py,sha256=4ozdphT4VuP8L0kE0HmGMyWaWHnXg1KEukbET4pFgJU,14064
103
103
  omdev/scripts/interp.py,sha256=CB9Eg8qPULFIQmMDsbLTGZ74c3xASWrQJ9KriLSb19A,70949
104
104
  omdev/scripts/pyproject.py,sha256=lk0Gk6chRLHYRpES32uXDgxsHti4Ui8oGGyJrJu_dnk,157362
105
105
  omdev/toml/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
@@ -108,14 +108,14 @@ omdev/toml/writer.py,sha256=lk3on3YXVbWuLJa-xsOzOhs1bBAT1vXqw4mBbluZl_w,3040
108
108
  omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
109
109
  omdev/tools/dockertools.py,sha256=x00GV8j1KReMXwxJ641GlcsVwHoWeuzdIKVBp36BqwU,5298
110
110
  omdev/tools/gittools.py,sha256=i2WFM2pX5riDJBchFXMmegOCuLSjvTkKC1ltqShSo7E,1773
111
- omdev/tools/importscan.py,sha256=usF35AjdMZacpe8nfP-wfzxelExT5sEQUORNcBKqr5M,3929
111
+ omdev/tools/importscan.py,sha256=vxOMdAABShqt5-G3n6DGHopCZ5uGgciThY0MCa5W0mA,4066
112
112
  omdev/tools/piptools.py,sha256=-jR5q3w4sHqntxCLExFCBNIARB788FUsAbJ62PK2sBU,2774
113
113
  omdev/tools/proftools.py,sha256=xKSm_yPoCnfsvS3iT9MblDqFMuZmGfI3_koGj8amMyU,145
114
114
  omdev/tools/rst.py,sha256=6dWk8QZHoGiLSuBw3TKsXZjjFK6wWBEtPi9krdCLKKg,977
115
115
  omdev/tools/sqlrepl.py,sha256=tmFZh80-xsGM62dyQ7_UGLebChrj7IHbIPYBWDJMgVk,5741
116
- omdev-0.0.0.dev47.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
117
- omdev-0.0.0.dev47.dist-info/METADATA,sha256=kyiSHqz1k_l_OPG8hXGKeN1hXpqURFQbCwUnP4MnsGE,1252
118
- omdev-0.0.0.dev47.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
119
- omdev-0.0.0.dev47.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
120
- omdev-0.0.0.dev47.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
121
- omdev-0.0.0.dev47.dist-info/RECORD,,
116
+ omdev-0.0.0.dev48.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
117
+ omdev-0.0.0.dev48.dist-info/METADATA,sha256=TNIwSvCuBBTXCk8_Fg5RWsVhF4RIff5EMNPAoJ9Xh2s,1252
118
+ omdev-0.0.0.dev48.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
119
+ omdev-0.0.0.dev48.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
120
+ omdev-0.0.0.dev48.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
121
+ omdev-0.0.0.dev48.dist-info/RECORD,,