omdev 0.0.0.dev186__tar.gz → 0.0.0.dev188__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {omdev-0.0.0.dev186/omdev.egg-info → omdev-0.0.0.dev188}/PKG-INFO +2 -2
- omdev-0.0.0.dev186/omdev/interp/uv/uv.py → omdev-0.0.0.dev188/omdev/interp/uv/provider.py +1 -1
- omdev-0.0.0.dev188/omdev/interp/uv/uv.py +66 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/rendering.py +3 -3
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev.egg-info/SOURCES.txt +1 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/pyproject.toml +2 -2
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/LICENSE +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/README.rst +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/.manifests.json +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/git/subtrees.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/ptk/apps/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pycharm/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/secrets.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tokens.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/toml/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/toml/parser.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/toml/writer.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/git.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev186 → omdev-0.0.0.dev188}/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.dev188
|
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.dev188
|
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
|
@@ -3,10 +3,10 @@ import json
|
|
3
3
|
import typing as ta
|
4
4
|
|
5
5
|
from omlish import lang
|
6
|
-
from omlish import term
|
7
6
|
from omlish.formats.json.render import JsonRenderer
|
8
7
|
from omlish.formats.json.stream.parse import JsonStreamParserEvent
|
9
8
|
from omlish.formats.json.stream.render import StreamJsonRenderer
|
9
|
+
from omlish.term import codes as tc
|
10
10
|
|
11
11
|
|
12
12
|
##
|
@@ -43,9 +43,9 @@ class Renderer(lang.Abstract):
|
|
43
43
|
|
44
44
|
def term_color(o: ta.Any, state: JsonRenderer.State) -> tuple[str, str]:
|
45
45
|
if state is JsonRenderer.State.KEY:
|
46
|
-
return
|
46
|
+
return tc.SGR(tc.SGRs.FG.BRIGHT_BLUE), tc.SGR(tc.SGRs.RESET)
|
47
47
|
elif isinstance(o, str):
|
48
|
-
return
|
48
|
+
return tc.SGR(tc.SGRs.FG.GREEN), tc.SGR(tc.SGRs.RESET)
|
49
49
|
else:
|
50
50
|
return '', ''
|
51
51
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev188
|
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.dev188
|
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.dev188'
|
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.dev188',
|
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
|
File without changes
|