omdev 0.0.0.dev185__tar.gz → 0.0.0.dev187__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.
- {omdev-0.0.0.dev185/omdev.egg-info → omdev-0.0.0.dev187}/PKG-INFO +2 -2
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/cli.py +1 -1
- omdev-0.0.0.dev185/omdev/interp/uv/uv.py → omdev-0.0.0.dev187/omdev/interp/uv/provider.py +1 -1
- omdev-0.0.0.dev187/omdev/interp/uv/uv.py +66 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/interp.py +1 -1
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev.egg-info/SOURCES.txt +1 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/pyproject.toml +2 -2
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/LICENSE +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/README.rst +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/.manifests.json +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/git/subtrees.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/ptk/apps/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pycharm/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/secrets.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tokens.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/toml/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/toml/parser.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/toml/writer.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/git.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev185 → omdev-0.0.0.dev187}/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.dev187
|
|
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.dev187
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -13,7 +13,7 @@ from ..types import InterpSpecifier
|
|
|
13
13
|
from ..types import InterpVersion
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
class
|
|
16
|
+
class UvInterpProvider(InterpProvider):
|
|
17
17
|
def get_installed_versions(self, spec: InterpSpecifier) -> ta.Awaitable[ta.Sequence[InterpVersion]]:
|
|
18
18
|
raise NotImplementedError
|
|
19
19
|
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# ruff: noqa: UP006 UP007
|
|
2
|
+
import dataclasses as dc
|
|
3
|
+
import logging
|
|
4
|
+
import os.path
|
|
5
|
+
import shutil
|
|
6
|
+
import sys
|
|
7
|
+
import tempfile
|
|
8
|
+
import typing as ta
|
|
9
|
+
|
|
10
|
+
from omlish.asyncs.asyncio.subprocesses import asyncio_subprocesses
|
|
11
|
+
from omlish.lite.cached import async_cached_nullary
|
|
12
|
+
from omlish.lite.check import check
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dc.dataclass(frozen=True)
|
|
16
|
+
class UvConfig:
|
|
17
|
+
ignore_path: bool = False
|
|
18
|
+
pip_bootstrap: bool = True
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Uv:
|
|
22
|
+
def __init__(
|
|
23
|
+
self,
|
|
24
|
+
config: UvConfig = UvConfig(),
|
|
25
|
+
*,
|
|
26
|
+
log: ta.Optional[logging.Logger] = None,
|
|
27
|
+
) -> None:
|
|
28
|
+
super().__init__()
|
|
29
|
+
|
|
30
|
+
self._config = config
|
|
31
|
+
self._log = log
|
|
32
|
+
|
|
33
|
+
self._bootstrap_dir: ta.Optional[str] = None
|
|
34
|
+
|
|
35
|
+
def delete_bootstrap_dir(self) -> bool:
|
|
36
|
+
if (bs := self._bootstrap_dir) is None:
|
|
37
|
+
return False
|
|
38
|
+
|
|
39
|
+
shutil.rmtree(bs)
|
|
40
|
+
self._bootstrap_dir = None
|
|
41
|
+
return True
|
|
42
|
+
|
|
43
|
+
@async_cached_nullary
|
|
44
|
+
async def uv_exe(self) -> ta.Optional[str]:
|
|
45
|
+
if not self._config.ignore_path and (uv := shutil.which('uv')):
|
|
46
|
+
return uv
|
|
47
|
+
|
|
48
|
+
if self._config.pip_bootstrap:
|
|
49
|
+
if (bd := self._bootstrap_dir) is None:
|
|
50
|
+
bd = self._bootstrap_dir = tempfile.mkdtemp()
|
|
51
|
+
|
|
52
|
+
if self._log is not None:
|
|
53
|
+
self._log.info(f'Bootstrapping uv into %s', bd)
|
|
54
|
+
|
|
55
|
+
vn = 'uv-bootstrap'
|
|
56
|
+
await asyncio_subprocesses.check_call(os.path.realpath(sys.executable), '-m', 'venv', vn, cwd=bd)
|
|
57
|
+
|
|
58
|
+
vx = os.path.join(bd, vn, 'bin', 'python3')
|
|
59
|
+
await asyncio_subprocesses.check_call(vx, '-m', 'pip', 'install', 'uv', cwd=bd)
|
|
60
|
+
|
|
61
|
+
ux = os.path.join(bd, vn, 'bin', 'uv')
|
|
62
|
+
check.state(os.path.isfile(ux))
|
|
63
|
+
|
|
64
|
+
return ux
|
|
65
|
+
|
|
66
|
+
return None
|
|
@@ -5070,7 +5070,7 @@ async def _async_main(argv: ta.Optional[ta.Sequence[str]] = None) -> None:
|
|
|
5070
5070
|
check_lite_runtime_version()
|
|
5071
5071
|
configure_standard_logging()
|
|
5072
5072
|
|
|
5073
|
-
cli =
|
|
5073
|
+
cli = InterpCli(argv)
|
|
5074
5074
|
await cli.async_cli_run()
|
|
5075
5075
|
|
|
5076
5076
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev187
|
|
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.dev187
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -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.dev187'
|
|
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.dev187',
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
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
|
|
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
|
|
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
|
|
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
|