omdev 0.0.0.dev204__tar.gz → 0.0.0.dev206__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {omdev-0.0.0.dev204/omdev.egg-info → omdev-0.0.0.dev206}/PKG-INFO +2 -2
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/.manifests.json +12 -12
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/__main__.py +1 -1
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/cache.py +2 -5
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/specs.py +1 -1
- omdev-0.0.0.dev206/omdev/cc/__main__.py +11 -0
- omdev-0.0.0.dev206/omdev/cc/cli.py +143 -0
- omdev-0.0.0.dev204/omdev/git/subtrees.py → omdev-0.0.0.dev206/omdev/git/shallow.py +18 -17
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/resources/python.sh +5 -2
- omdev-0.0.0.dev206/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev.egg-info/SOURCES.txt +4 -2
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/pyproject.toml +2 -2
- omdev-0.0.0.dev204/omdev/tools/cc.py +0 -81
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/LICENSE +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/README.rst +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev204/omdev/cexts → omdev-0.0.0.dev206/omdev/cc}/__init__.py +0 -0
- {omdev-0.0.0.dev204/omdev/clipboard → omdev-0.0.0.dev206/omdev/cexts}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev204/omdev/git → omdev-0.0.0.dev206/omdev/clipboard}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev204/omdev/interp/providers → omdev-0.0.0.dev206/omdev/git}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev204/omdev/interp/pyenv → omdev-0.0.0.dev206/omdev/interp/providers}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev204/omdev/interp/uv → omdev-0.0.0.dev206/omdev/interp/pyenv}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev204/omdev/mypy → omdev-0.0.0.dev206/omdev/interp/uv}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev204/omdev/packaging → omdev-0.0.0.dev206/omdev/mypy}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev204/omdev/precheck → omdev-0.0.0.dev206/omdev/packaging}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev204/omdev/ptk/apps → omdev-0.0.0.dev206/omdev/precheck}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev204/omdev/pycharm → omdev-0.0.0.dev206/omdev/ptk/apps}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev204/omdev/pyproject/resources → omdev-0.0.0.dev206/omdev/pycharm}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev204/omdev/tools/json → omdev-0.0.0.dev206/omdev/pyproject/resources}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/resources/docker-dev.sh +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/secrets.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tagstrings.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tokens.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/git.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev204/omdev/tools/pawk → omdev-0.0.0.dev206/omdev/tools/json}/__init__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev204 → omdev-0.0.0.dev206}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev206
|
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.dev206
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
@@ -23,6 +23,18 @@
|
|
23
23
|
}
|
24
24
|
}
|
25
25
|
},
|
26
|
+
{
|
27
|
+
"module": ".cc.__main__",
|
28
|
+
"attr": "_CLI_MODULE",
|
29
|
+
"file": "omdev/cc/__main__.py",
|
30
|
+
"line": 4,
|
31
|
+
"value": {
|
32
|
+
"$.cli.types.CliModule": {
|
33
|
+
"cmd_name": "cc",
|
34
|
+
"mod_name": "omdev.cc.__main__"
|
35
|
+
}
|
36
|
+
}
|
37
|
+
},
|
26
38
|
{
|
27
39
|
"module": ".cexts.cmake",
|
28
40
|
"attr": "_CLI_MODULE",
|
@@ -227,18 +239,6 @@
|
|
227
239
|
}
|
228
240
|
}
|
229
241
|
},
|
230
|
-
{
|
231
|
-
"module": ".tools.cc",
|
232
|
-
"attr": "_CLI_MODULE",
|
233
|
-
"file": "omdev/tools/cc.py",
|
234
|
-
"line": 76,
|
235
|
-
"value": {
|
236
|
-
"$.cli.types.CliModule": {
|
237
|
-
"cmd_name": "cc",
|
238
|
-
"mod_name": "omdev.tools.cc"
|
239
|
-
}
|
240
|
-
}
|
241
|
-
},
|
242
242
|
{
|
243
243
|
"module": ".tools.cloc",
|
244
244
|
"attr": "_CLI_MODULE",
|
@@ -27,7 +27,7 @@ from omlish import marshal as msh
|
|
27
27
|
from omlish.formats import json
|
28
28
|
from omlish.os.files import touch
|
29
29
|
|
30
|
-
from ...git.
|
30
|
+
from ...git.shallow import git_shallow_clone
|
31
31
|
from .actions import Action
|
32
32
|
from .actions import ExtractAction
|
33
33
|
from .manifests import Manifest
|
@@ -141,14 +141,11 @@ class Cache:
|
|
141
141
|
self._fetch_url(url, os.path.join(data_dir, out_file))
|
142
142
|
|
143
143
|
elif isinstance(spec, GitSpec):
|
144
|
-
if not spec.subtrees:
|
145
|
-
raise NotImplementedError
|
146
|
-
|
147
144
|
tmp_dir = tempfile.mkdtemp()
|
148
145
|
|
149
146
|
log.info('Cloning git repo: %s -> %s', spec.url, tmp_dir)
|
150
147
|
|
151
|
-
|
148
|
+
git_shallow_clone(
|
152
149
|
base_dir=tmp_dir,
|
153
150
|
repo_url=spec.url,
|
154
151
|
repo_dir='data',
|
@@ -50,7 +50,7 @@ class GitSpec(Spec):
|
|
50
50
|
branch: str | None = dc.field(default=None, kw_only=True)
|
51
51
|
rev: str | None = dc.field(default=None, kw_only=True)
|
52
52
|
|
53
|
-
subtrees: ta.Sequence[str] = dc.xfield(default=None, kw_only=True, coerce=_maybe_sorted_strs)
|
53
|
+
subtrees: ta.Sequence[str] | None = dc.xfield(default=None, kw_only=True, coerce=_maybe_sorted_strs)
|
54
54
|
|
55
55
|
|
56
56
|
##
|
@@ -0,0 +1,143 @@
|
|
1
|
+
"""
|
2
|
+
//$(which true); exec om cc run "$0" "$@"
|
3
|
+
or
|
4
|
+
//usr/bin/true; exec om cc run "$0" "$@"
|
5
|
+
|
6
|
+
See: https://gist.github.com/jdarpinian/1952a58b823222627cc1a8b83a7aa4e2
|
7
|
+
|
8
|
+
==
|
9
|
+
|
10
|
+
Freestanding options:
|
11
|
+
|
12
|
+
//usr/bin/env clang++ -std=c++20 -o ${X=`mktemp`} "$0" && exec -a "$0" "$X" "$@"
|
13
|
+
//usr/bin/env clang++ -std=c++20 -o ${D=`mktemp -d`}/x "$0" && ${D}/x ${@:1}; R=$?; rm -rf ${D}; exit $R
|
14
|
+
//$(which true); clang++ -std=c++20 -o ${D=`mktemp -d`}/x ${0} && ${D}/x ${@:1}; R=${?}; rm -rf ${D}; exit ${R}
|
15
|
+
|
16
|
+
==
|
17
|
+
|
18
|
+
TODO:
|
19
|
+
- standard deps - cdeps.toml
|
20
|
+
- cext interop
|
21
|
+
- gen cmake
|
22
|
+
"""
|
23
|
+
import os
|
24
|
+
import shlex
|
25
|
+
import shutil
|
26
|
+
import subprocess
|
27
|
+
import tempfile
|
28
|
+
import typing as ta
|
29
|
+
|
30
|
+
from omlish import check
|
31
|
+
from omlish.argparse import all as ap
|
32
|
+
|
33
|
+
from .. import magic
|
34
|
+
from ..cache import data as dcache
|
35
|
+
|
36
|
+
|
37
|
+
class Cli(ap.Cli):
|
38
|
+
@ap.cmd(
|
39
|
+
ap.arg('--cwd'),
|
40
|
+
ap.arg('src-file'),
|
41
|
+
ap.arg('args', nargs=ap.REMAINDER),
|
42
|
+
)
|
43
|
+
def run(self) -> int:
|
44
|
+
src_file = self.args.src_file
|
45
|
+
|
46
|
+
#
|
47
|
+
|
48
|
+
with open(src_file) as f:
|
49
|
+
src = f.read()
|
50
|
+
|
51
|
+
src_magics = magic.find_magic( # noqa
|
52
|
+
magic.C_MAGIC_STYLE,
|
53
|
+
src.splitlines(),
|
54
|
+
file=src_file,
|
55
|
+
preparer=magic.json_magic_preparer,
|
56
|
+
)
|
57
|
+
|
58
|
+
include_dirs: list[str] = []
|
59
|
+
|
60
|
+
for src_magic in src_magics:
|
61
|
+
if src_magic.key == '@omlish-cdeps':
|
62
|
+
for dep in check.isinstance(src_magic.prepared, ta.Sequence):
|
63
|
+
dep_git = dep['git']
|
64
|
+
dep_spec = dcache.GitSpec(
|
65
|
+
url=dep_git['url'],
|
66
|
+
rev=dep_git['rev'],
|
67
|
+
subtrees=dep_git.get('subtrees'),
|
68
|
+
)
|
69
|
+
dep_dir = dcache.default().get(dep_spec)
|
70
|
+
for dep_inc in dep.get('include', []):
|
71
|
+
inc_dir = os.path.join(dep_dir, dep_inc)
|
72
|
+
check.state(os.path.isdir(inc_dir))
|
73
|
+
include_dirs.append(inc_dir)
|
74
|
+
|
75
|
+
else:
|
76
|
+
raise KeyError(src_magic.key)
|
77
|
+
|
78
|
+
#
|
79
|
+
|
80
|
+
src_file_name = os.path.basename(src_file)
|
81
|
+
|
82
|
+
sh_parts: list[str] = [
|
83
|
+
'clang++',
|
84
|
+
]
|
85
|
+
|
86
|
+
for inc_dir in include_dirs:
|
87
|
+
sh_parts.append(f'-I{shlex.quote(inc_dir)}')
|
88
|
+
|
89
|
+
if cflags := os.environ.get('CFLAGS'):
|
90
|
+
sh_parts.append(cflags) # Explicitly shell-unquoted
|
91
|
+
|
92
|
+
sh_parts.extend([
|
93
|
+
'-std=c++20',
|
94
|
+
shlex.quote(os.path.abspath(src_file)),
|
95
|
+
'-o',
|
96
|
+
shlex.quote(src_file_name),
|
97
|
+
])
|
98
|
+
|
99
|
+
#
|
100
|
+
|
101
|
+
tmp_dir = tempfile.mkdtemp()
|
102
|
+
try:
|
103
|
+
proc = subprocess.run( # noqa
|
104
|
+
' '.join(sh_parts),
|
105
|
+
cwd=tmp_dir,
|
106
|
+
shell=True,
|
107
|
+
check=False,
|
108
|
+
)
|
109
|
+
|
110
|
+
if rc := proc.returncode:
|
111
|
+
return rc
|
112
|
+
|
113
|
+
exe_file = os.path.join(tmp_dir, src_file_name)
|
114
|
+
check.state(os.path.isfile(exe_file))
|
115
|
+
|
116
|
+
proc = subprocess.run(
|
117
|
+
[
|
118
|
+
exe_file,
|
119
|
+
*self.args.args,
|
120
|
+
],
|
121
|
+
cwd=self.args.cwd,
|
122
|
+
check=False,
|
123
|
+
)
|
124
|
+
|
125
|
+
finally:
|
126
|
+
shutil.rmtree(tmp_dir)
|
127
|
+
|
128
|
+
return proc.returncode
|
129
|
+
|
130
|
+
# @ap.cmd(
|
131
|
+
# ap.arg('src-file', nargs='+'),
|
132
|
+
# )
|
133
|
+
# def add_shebang(self) -> None:
|
134
|
+
# # //$(which true); exec om cc run "$0" "$@"
|
135
|
+
# print(self.args.src_file)
|
136
|
+
|
137
|
+
|
138
|
+
def _main() -> None:
|
139
|
+
Cli().cli_run_and_exit()
|
140
|
+
|
141
|
+
|
142
|
+
if __name__ == '__main__':
|
143
|
+
_main()
|
@@ -8,7 +8,7 @@ from omlish.subprocesses import subprocesses
|
|
8
8
|
|
9
9
|
|
10
10
|
@dc.dataclass(frozen=True)
|
11
|
-
class
|
11
|
+
class GitShallowCloner:
|
12
12
|
base_dir: str
|
13
13
|
repo_url: str
|
14
14
|
repo_dir: str
|
@@ -37,14 +37,14 @@ class GitSubtreeCloner:
|
|
37
37
|
'-c', 'advice.detachedHead=false',
|
38
38
|
]
|
39
39
|
|
40
|
-
yield
|
40
|
+
yield GitShallowCloner.Command(
|
41
41
|
cmd=(
|
42
42
|
'git',
|
43
43
|
*git_opts,
|
44
44
|
'clone',
|
45
45
|
'-n',
|
46
46
|
'--depth=1',
|
47
|
-
'--filter=tree:0',
|
47
|
+
*(['--filter=tree:0'] if self.repo_subtrees is not None else []),
|
48
48
|
*(['-b', self.branch] if self.branch else []),
|
49
49
|
'--single-branch',
|
50
50
|
self.repo_url,
|
@@ -54,19 +54,20 @@ class GitSubtreeCloner:
|
|
54
54
|
)
|
55
55
|
|
56
56
|
rd = os.path.join(self.base_dir, self.repo_dir)
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
57
|
+
if self.repo_subtrees is not None:
|
58
|
+
yield GitShallowCloner.Command(
|
59
|
+
cmd=(
|
60
|
+
'git',
|
61
|
+
*git_opts,
|
62
|
+
'sparse-checkout',
|
63
|
+
'set',
|
64
|
+
'--no-cone',
|
65
|
+
*self.repo_subtrees,
|
66
|
+
),
|
67
|
+
cwd=rd,
|
68
|
+
)
|
68
69
|
|
69
|
-
yield
|
70
|
+
yield GitShallowCloner.Command(
|
70
71
|
cmd=(
|
71
72
|
'git',
|
72
73
|
*git_opts,
|
@@ -77,7 +78,7 @@ class GitSubtreeCloner:
|
|
77
78
|
)
|
78
79
|
|
79
80
|
|
80
|
-
def
|
81
|
+
def git_shallow_clone(
|
81
82
|
*,
|
82
83
|
base_dir: str,
|
83
84
|
repo_url: str,
|
@@ -86,7 +87,7 @@ def git_clone_subtree(
|
|
86
87
|
rev: ta.Optional[str] = None,
|
87
88
|
repo_subtrees: ta.Optional[ta.Sequence[str]] = None,
|
88
89
|
) -> None:
|
89
|
-
for cmd in
|
90
|
+
for cmd in GitShallowCloner(
|
90
91
|
base_dir=base_dir,
|
91
92
|
repo_url=repo_url,
|
92
93
|
repo_dir=repo_dir,
|
@@ -9,7 +9,10 @@ if [ -z "${VENV}" ] ; then
|
|
9
9
|
fi
|
10
10
|
fi
|
11
11
|
|
12
|
-
|
12
|
+
SCRIPT_PATH=$(cd -- "$(dirname -- "$0")" && pwd)
|
13
|
+
SCRIPT_PATH="$SCRIPT_PATH/$(basename -- "$0")"
|
14
|
+
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
|
15
|
+
|
13
16
|
VENV_PYTHON_PATH="$SCRIPT_DIR/.venvs/$VENV/bin/python"
|
14
17
|
if [ -f "$VENV_PYTHON_PATH" ] ; then
|
15
18
|
PYTHON="$VENV_PYTHON_PATH"
|
@@ -19,7 +22,7 @@ else
|
|
19
22
|
PYTHON=python
|
20
23
|
fi
|
21
24
|
|
22
|
-
export PYTHONPATH="$PYTHONPATH:."
|
25
|
+
export PYTHONPATH="$PYTHONPATH:$SCRIPT_DIR:."
|
23
26
|
|
24
27
|
if [ $# -eq 0 ] && "$PYTHON" -c "import IPython" 2> /dev/null ; then
|
25
28
|
exec "$PYTHON" -m IPython
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev206
|
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.dev206
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
@@ -52,6 +52,9 @@ omdev/cache/data/consts.py
|
|
52
52
|
omdev/cache/data/defaults.py
|
53
53
|
omdev/cache/data/manifests.py
|
54
54
|
omdev/cache/data/specs.py
|
55
|
+
omdev/cc/__init__.py
|
56
|
+
omdev/cc/__main__.py
|
57
|
+
omdev/cc/cli.py
|
55
58
|
omdev/cexts/__init__.py
|
56
59
|
omdev/cexts/_boilerplate.cc
|
57
60
|
omdev/cexts/build.py
|
@@ -89,8 +92,8 @@ omdev/clipboard/darwin_cf.py
|
|
89
92
|
omdev/clipboard/linux_x11.py
|
90
93
|
omdev/git/__init__.py
|
91
94
|
omdev/git/revisions.py
|
95
|
+
omdev/git/shallow.py
|
92
96
|
omdev/git/status.py
|
93
|
-
omdev/git/subtrees.py
|
94
97
|
omdev/interp/__init__.py
|
95
98
|
omdev/interp/__main__.py
|
96
99
|
omdev/interp/cli.py
|
@@ -170,7 +173,6 @@ omdev/scripts/pyproject.py
|
|
170
173
|
omdev/scripts/slowcat.py
|
171
174
|
omdev/scripts/tmpexec.py
|
172
175
|
omdev/tools/__init__.py
|
173
|
-
omdev/tools/cc.py
|
174
176
|
omdev/tools/cloc.py
|
175
177
|
omdev/tools/doc.py
|
176
178
|
omdev/tools/docker.py
|
@@ -12,7 +12,7 @@ authors = [
|
|
12
12
|
urls = {source = 'https://github.com/wrmsr/omlish'}
|
13
13
|
license = {text = 'BSD-3-Clause'}
|
14
14
|
requires-python = '>=3.12'
|
15
|
-
version = '0.0.0.
|
15
|
+
version = '0.0.0.dev206'
|
16
16
|
classifiers = [
|
17
17
|
'License :: OSI Approved :: BSD License',
|
18
18
|
'Development Status :: 2 - Pre-Alpha',
|
@@ -22,7 +22,7 @@ classifiers = [
|
|
22
22
|
]
|
23
23
|
description = 'omdev'
|
24
24
|
dependencies = [
|
25
|
-
'omlish == 0.0.0.
|
25
|
+
'omlish == 0.0.0.dev206',
|
26
26
|
]
|
27
27
|
|
28
28
|
[project.optional-dependencies]
|
@@ -1,81 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
//$(which true); exec om cc run "$0" "$@"
|
3
|
-
or
|
4
|
-
//usr/bin/true; exec om cc run "$0" "$@"
|
5
|
-
|
6
|
-
See: https://gist.github.com/jdarpinian/1952a58b823222627cc1a8b83a7aa4e2
|
7
|
-
|
8
|
-
==
|
9
|
-
|
10
|
-
Freestanding options:
|
11
|
-
|
12
|
-
//usr/bin/env clang++ -std=c++20 -o ${X=`mktemp`} "$0" && exec -a "$0" "$X" "$@"
|
13
|
-
//usr/bin/env clang++ -std=c++20 -o ${D=`mktemp -d`}/x "$0" && ${D}/x ${@:1}; R=$?; rm -rf ${D}; exit $R
|
14
|
-
//$(which true); clang++ -std=c++20 -o ${D=`mktemp -d`}/x ${0} && ${D}/x ${@:1}; R=${?}; rm -rf ${D}; exit ${R}
|
15
|
-
"""
|
16
|
-
import os
|
17
|
-
import shutil
|
18
|
-
import subprocess
|
19
|
-
import tempfile
|
20
|
-
|
21
|
-
from omlish import check
|
22
|
-
from omlish.argparse import all as ap
|
23
|
-
|
24
|
-
from ..cli import CliModule
|
25
|
-
|
26
|
-
|
27
|
-
class Cli(ap.Cli):
|
28
|
-
@ap.cmd(
|
29
|
-
ap.arg('src-file'),
|
30
|
-
ap.arg('args', nargs=ap.REMAINDER),
|
31
|
-
)
|
32
|
-
def run(self) -> int:
|
33
|
-
src_file = self.args.src_file
|
34
|
-
check.state(os.path.isfile(src_file))
|
35
|
-
|
36
|
-
src_file_name = os.path.basename(src_file)
|
37
|
-
|
38
|
-
tmp_dir = tempfile.mkdtemp()
|
39
|
-
try:
|
40
|
-
proc = subprocess.run(
|
41
|
-
[
|
42
|
-
check.non_empty_str(shutil.which('clang++')),
|
43
|
-
'-std=c++20',
|
44
|
-
os.path.abspath(src_file),
|
45
|
-
'-o',
|
46
|
-
src_file_name,
|
47
|
-
],
|
48
|
-
cwd=tmp_dir,
|
49
|
-
check=False,
|
50
|
-
)
|
51
|
-
|
52
|
-
if rc := proc.returncode:
|
53
|
-
return rc
|
54
|
-
|
55
|
-
exe_file = os.path.join(tmp_dir, src_file_name)
|
56
|
-
check.state(os.path.isfile(exe_file))
|
57
|
-
|
58
|
-
proc = subprocess.run(
|
59
|
-
[
|
60
|
-
exe_file,
|
61
|
-
*self.args.args,
|
62
|
-
],
|
63
|
-
check=False,
|
64
|
-
)
|
65
|
-
|
66
|
-
finally:
|
67
|
-
shutil.rmtree(tmp_dir)
|
68
|
-
|
69
|
-
return proc.returncode
|
70
|
-
|
71
|
-
|
72
|
-
def _main() -> None:
|
73
|
-
Cli().cli_run_and_exit()
|
74
|
-
|
75
|
-
|
76
|
-
# @omlish-manifest
|
77
|
-
_CLI_MODULE = CliModule('cc', __name__)
|
78
|
-
|
79
|
-
|
80
|
-
if __name__ == '__main__':
|
81
|
-
_main()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|