omdev 0.0.0.dev148__tar.gz → 0.0.0.dev150__tar.gz
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-0.0.0.dev148/omdev.egg-info → omdev-0.0.0.dev150}/PKG-INFO +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/amalg/amalg.py +2 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/clicli.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/git.py +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/imgur.py +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/cli.py +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/pyenv.py +5 -5
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/standalone.py +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/packaging/requires.py +6 -7
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pycharm/cli.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/cli.py +7 -8
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/revisions.py +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/interp.py +434 -74
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/pyproject.py +447 -87
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/doc.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/docker.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/git.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/parsing.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/notebook.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/pip.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/prof.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/sqlrepl.py +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/pyproject.toml +2 -2
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/LICENSE +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/README.rst +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/.manifests.json +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/providers.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/system.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/ptk/apps/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pycharm/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/secrets.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tokens.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/toml/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/toml/parser.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/toml/writer.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev.egg-info/SOURCES.txt +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev148 → omdev-0.0.0.dev150}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev150
|
|
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.
|
|
15
|
+
Requires-Dist: omlish==0.0.0.dev150
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -4,6 +4,7 @@ Conventions:
|
|
|
4
4
|
- must import 'from' items for local modules
|
|
5
5
|
|
|
6
6
|
TODO:
|
|
7
|
+
- !! check only importing lite code
|
|
7
8
|
- !! strip manifests? or relegate them to a separate tiny module ala __main__.py?
|
|
8
9
|
- # @omlish-no-amalg ? in cli.types? will strip stmt (more than 1 line) following @manifest, so shouldn't import
|
|
9
10
|
- more sanity checks lol
|
|
@@ -233,7 +234,7 @@ def _is_typing(
|
|
|
233
234
|
if any(es.endswith(sfx) for sfx in (TYPE_ALIAS_COMMENT, NOQA_TYPE_ALIAS_COMMENT)):
|
|
234
235
|
return True
|
|
235
236
|
|
|
236
|
-
wts = list(tks.ignore_ws(lts))
|
|
237
|
+
wts = list(tks.ignore_ws(lts, keep=['INDENT', 'UNINDENT']))
|
|
237
238
|
if not tks.match_toks(wts, [
|
|
238
239
|
('NAME', None),
|
|
239
240
|
('OP', '='),
|
|
@@ -12,7 +12,7 @@ import os.path
|
|
|
12
12
|
import subprocess
|
|
13
13
|
import typing as ta
|
|
14
14
|
|
|
15
|
-
from omlish.lite.check import
|
|
15
|
+
from omlish.lite.check import check
|
|
16
16
|
from omlish.lite.subprocesses import subprocess_maybe_shell_wrap_exec
|
|
17
17
|
|
|
18
18
|
|
|
@@ -288,7 +288,7 @@ def parse_git_status_line(l: str) -> GitStatusItem:
|
|
|
288
288
|
if len(fields) == 1:
|
|
289
289
|
a, b = fields[0], None
|
|
290
290
|
elif len(fields) == 3:
|
|
291
|
-
|
|
291
|
+
check.state(fields[1] == '->', l)
|
|
292
292
|
a, b = fields[0], fields[2]
|
|
293
293
|
else:
|
|
294
294
|
raise ValueError(l)
|
|
@@ -27,9 +27,9 @@ import os.path
|
|
|
27
27
|
import typing as ta
|
|
28
28
|
|
|
29
29
|
from omlish import check
|
|
30
|
-
from omlish import http as hu
|
|
31
30
|
from omlish import marshal as msh
|
|
32
31
|
from omlish.formats import json
|
|
32
|
+
from omlish.http import all as hu
|
|
33
33
|
from omlish.secrets import Secret
|
|
34
34
|
|
|
35
35
|
from .cli import CliModule
|
|
@@ -104,7 +104,7 @@ def upload_image(
|
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
def _main() -> None:
|
|
107
|
-
from omlish import
|
|
107
|
+
from omlish.argparse import all as ap
|
|
108
108
|
|
|
109
109
|
class Cli(ap.Cli):
|
|
110
110
|
@ap.command(
|
|
@@ -11,7 +11,7 @@ import argparse
|
|
|
11
11
|
import asyncio
|
|
12
12
|
import typing as ta
|
|
13
13
|
|
|
14
|
-
from omlish.lite.check import
|
|
14
|
+
from omlish.lite.check import check
|
|
15
15
|
from omlish.lite.logs import configure_standard_logging
|
|
16
16
|
from omlish.lite.runtime import check_runtime_version
|
|
17
17
|
|
|
@@ -34,7 +34,7 @@ async def _resolve_cmd(args) -> None:
|
|
|
34
34
|
else:
|
|
35
35
|
r = DEFAULT_INTERP_RESOLVER
|
|
36
36
|
s = InterpSpecifier.parse(args.version)
|
|
37
|
-
print(
|
|
37
|
+
print(check.not_none(await r.resolve(s, install=bool(args.install))).exe)
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
def _build_parser() -> argparse.ArgumentParser:
|
|
@@ -23,7 +23,7 @@ from omlish.lite.asyncio.subprocesses import asyncio_subprocess_check_output_str
|
|
|
23
23
|
from omlish.lite.asyncio.subprocesses import asyncio_subprocess_try_output
|
|
24
24
|
from omlish.lite.cached import async_cached_nullary
|
|
25
25
|
from omlish.lite.cached import cached_nullary
|
|
26
|
-
from omlish.lite.check import
|
|
26
|
+
from omlish.lite.check import check
|
|
27
27
|
from omlish.lite.logs import log
|
|
28
28
|
|
|
29
29
|
from ..packaging.versions import InvalidVersion
|
|
@@ -69,7 +69,7 @@ class Pyenv:
|
|
|
69
69
|
|
|
70
70
|
@async_cached_nullary
|
|
71
71
|
async def exe(self) -> str:
|
|
72
|
-
return os.path.join(
|
|
72
|
+
return os.path.join(check.not_none(await self.root()), 'bin', 'pyenv')
|
|
73
73
|
|
|
74
74
|
async def version_exes(self) -> ta.List[ta.Tuple[str, str]]:
|
|
75
75
|
if (root := await self.root()) is None:
|
|
@@ -295,7 +295,7 @@ class PyenvVersionInstaller:
|
|
|
295
295
|
|
|
296
296
|
@async_cached_nullary
|
|
297
297
|
async def install_dir(self) -> str:
|
|
298
|
-
return str(os.path.join(
|
|
298
|
+
return str(os.path.join(check.not_none(await self._pyenv.root()), 'versions', self.install_name()))
|
|
299
299
|
|
|
300
300
|
@async_cached_nullary
|
|
301
301
|
async def install(self) -> str:
|
|
@@ -318,7 +318,7 @@ class PyenvVersionInstaller:
|
|
|
318
318
|
|
|
319
319
|
if self._given_install_name is not None:
|
|
320
320
|
full_args = [
|
|
321
|
-
os.path.join(
|
|
321
|
+
os.path.join(check.not_none(await self._pyenv.root()), 'plugins', 'python-build', 'bin', 'python-build'), # noqa
|
|
322
322
|
*conf_args,
|
|
323
323
|
self.install_dir(),
|
|
324
324
|
]
|
|
@@ -390,7 +390,7 @@ class PyenvInterpProvider(InterpProvider):
|
|
|
390
390
|
iv: ta.Optional[InterpVersion]
|
|
391
391
|
if self._inspect:
|
|
392
392
|
try:
|
|
393
|
-
iv =
|
|
393
|
+
iv = check.not_none(await self._inspector.inspect(ep)).iv
|
|
394
394
|
except Exception as e: # noqa
|
|
395
395
|
return None
|
|
396
396
|
else:
|
|
@@ -32,7 +32,7 @@ import urllib.parse
|
|
|
32
32
|
import urllib.request
|
|
33
33
|
|
|
34
34
|
from omlish.lite.cached import cached_nullary
|
|
35
|
-
from omlish.lite.check import
|
|
35
|
+
from omlish.lite.check import check
|
|
36
36
|
from omlish.lite.logs import log
|
|
37
37
|
|
|
38
38
|
|
|
@@ -143,7 +143,7 @@ class StandalonePythons:
|
|
|
143
143
|
python_versions: ta.Dict[str, str] = {}
|
|
144
144
|
for link in available_python_links:
|
|
145
145
|
match = self.PYTHON_VERSION_REGEX.search(link)
|
|
146
|
-
python_version =
|
|
146
|
+
python_version = check.not_none(match)[1]
|
|
147
147
|
# Don't override already found versions, as they are in order of preference
|
|
148
148
|
if python_version in python_versions:
|
|
149
149
|
continue
|
|
@@ -28,8 +28,7 @@ import dataclasses as dc
|
|
|
28
28
|
import re
|
|
29
29
|
import typing as ta
|
|
30
30
|
|
|
31
|
-
from omlish.lite.check import
|
|
32
|
-
from omlish.lite.check import check_state
|
|
31
|
+
from omlish.lite.check import check
|
|
33
32
|
|
|
34
33
|
from .specifiers import Specifier
|
|
35
34
|
|
|
@@ -130,8 +129,8 @@ class RequiresTokenizer:
|
|
|
130
129
|
self.read()
|
|
131
130
|
|
|
132
131
|
def check(self, name: str, *, peek: bool = False) -> bool:
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
check.state(self.next_token is None, f'Cannot check for {name!r}, already have {self.next_token!r}')
|
|
133
|
+
check.state(name in self.rules, f'Unknown token name: {name!r}')
|
|
135
134
|
|
|
136
135
|
expression = self.rules[name]
|
|
137
136
|
|
|
@@ -149,12 +148,12 @@ class RequiresTokenizer:
|
|
|
149
148
|
|
|
150
149
|
def read(self) -> RequiresToken:
|
|
151
150
|
token = self.next_token
|
|
152
|
-
|
|
151
|
+
check.state(token is not None)
|
|
153
152
|
|
|
154
|
-
self.position += len(
|
|
153
|
+
self.position += len(check.not_none(token).text)
|
|
155
154
|
self.next_token = None
|
|
156
155
|
|
|
157
|
-
return
|
|
156
|
+
return check.not_none(token)
|
|
158
157
|
|
|
159
158
|
def raise_syntax_error(
|
|
160
159
|
self,
|
|
@@ -36,8 +36,7 @@ import typing as ta
|
|
|
36
36
|
|
|
37
37
|
from omlish.lite.cached import async_cached_nullary
|
|
38
38
|
from omlish.lite.cached import cached_nullary
|
|
39
|
-
from omlish.lite.check import
|
|
40
|
-
from omlish.lite.check import check_not_none
|
|
39
|
+
from omlish.lite.check import check
|
|
41
40
|
from omlish.lite.logs import configure_standard_logging
|
|
42
41
|
from omlish.lite.logs import log
|
|
43
42
|
from omlish.lite.runtime import check_runtime_version
|
|
@@ -124,8 +123,8 @@ class Venv:
|
|
|
124
123
|
|
|
125
124
|
@async_cached_nullary
|
|
126
125
|
async def interp_exe(self) -> str:
|
|
127
|
-
i = InterpSpecifier.parse(
|
|
128
|
-
return
|
|
126
|
+
i = InterpSpecifier.parse(check.not_none(self._cfg.interp))
|
|
127
|
+
return check.not_none(await DEFAULT_INTERP_RESOLVER.resolve(i, install=True)).exe
|
|
129
128
|
|
|
130
129
|
@cached_nullary
|
|
131
130
|
def exe(self) -> str:
|
|
@@ -290,24 +289,24 @@ async def _venv_cmd(args) -> None:
|
|
|
290
289
|
|
|
291
290
|
elif cmd == 'exe':
|
|
292
291
|
await venv.create()
|
|
293
|
-
|
|
292
|
+
check.arg(not args.args)
|
|
294
293
|
print(venv.exe())
|
|
295
294
|
|
|
296
295
|
elif cmd == 'run':
|
|
297
296
|
await venv.create()
|
|
298
|
-
sh =
|
|
297
|
+
sh = check.not_none(shutil.which('bash'))
|
|
299
298
|
script = ' '.join(args.args)
|
|
300
299
|
if not script:
|
|
301
300
|
script = sh
|
|
302
301
|
os.execl(
|
|
303
|
-
(bash :=
|
|
302
|
+
(bash := check.not_none(sh)),
|
|
304
303
|
bash,
|
|
305
304
|
'-c',
|
|
306
305
|
f'. {venv.dir_name}/bin/activate && ' + script,
|
|
307
306
|
)
|
|
308
307
|
|
|
309
308
|
elif cmd == 'srcs':
|
|
310
|
-
|
|
309
|
+
check.arg(not args.args)
|
|
311
310
|
print('\n'.join(venv.srcs()))
|
|
312
311
|
|
|
313
312
|
elif cmd == 'test':
|
|
@@ -14,7 +14,7 @@ import typing as ta
|
|
|
14
14
|
import zipfile
|
|
15
15
|
|
|
16
16
|
from omlish.lite.cached import cached_nullary
|
|
17
|
-
from omlish.lite.check import
|
|
17
|
+
from omlish.lite.check import check
|
|
18
18
|
from omlish.lite.logs import configure_standard_logging
|
|
19
19
|
from omlish.lite.logs import log
|
|
20
20
|
|
|
@@ -39,7 +39,7 @@ class GitRevisionAdder:
|
|
|
39
39
|
def revision(self) -> str:
|
|
40
40
|
if self._given_revision is not None:
|
|
41
41
|
return self._given_revision
|
|
42
|
-
return
|
|
42
|
+
return check.non_empty_str(get_git_revision())
|
|
43
43
|
|
|
44
44
|
REVISION_ATTR = '__revision__'
|
|
45
45
|
|