omdev 0.0.0.dev214__tar.gz → 0.0.0.dev216__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.dev214/omdev.egg-info → omdev-0.0.0.dev216}/PKG-INFO +2 -2
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/ci.py +3 -3
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/interp.py +1 -1
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/pyproject.py +80 -13
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/formats.py +4 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/pyproject.toml +2 -2
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/LICENSE +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/README.rst +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/.manifests.json +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cc/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/cache.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/ci.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/compose.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/consts.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/docker.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/api.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/client.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/shell.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ci/utils.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/git/shallow.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ptk/apps/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pycharm/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/resources/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/resources/docker-dev.sh +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/secrets.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tagstrings.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tokens/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tokens/all.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tokens/tokenizert.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tokens/utils.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/git.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev.egg-info/SOURCES.txt +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev214 → omdev-0.0.0.dev216}/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.dev216
|
|
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.dev216
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=24.10; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -167,7 +167,7 @@ def asyncio_once(fn: CallableT) -> CallableT:
|
|
|
167
167
|
return ta.cast(CallableT, inner)
|
|
168
168
|
|
|
169
169
|
|
|
170
|
-
def
|
|
170
|
+
def drain_asyncio_tasks(loop=None):
|
|
171
171
|
if loop is None:
|
|
172
172
|
loop = asyncio.get_running_loop()
|
|
173
173
|
|
|
@@ -182,7 +182,7 @@ def draining_asyncio_tasks() -> ta.Iterator[None]:
|
|
|
182
182
|
yield
|
|
183
183
|
finally:
|
|
184
184
|
if loop is not None:
|
|
185
|
-
|
|
185
|
+
drain_asyncio_tasks(loop) # noqa
|
|
186
186
|
|
|
187
187
|
|
|
188
188
|
async def asyncio_wait_concurrent(
|
|
@@ -2563,7 +2563,7 @@ TODO:
|
|
|
2563
2563
|
|
|
2564
2564
|
STANDARD_LOG_FORMAT_PARTS = [
|
|
2565
2565
|
('asctime', '%(asctime)-15s'),
|
|
2566
|
-
('process', 'pid=%(process)
|
|
2566
|
+
('process', 'pid=%(process)s'),
|
|
2567
2567
|
('thread', 'tid=%(thread)x'),
|
|
2568
2568
|
('levelname', '%(levelname)s'),
|
|
2569
2569
|
('name', '%(name)s'),
|
|
@@ -3500,7 +3500,7 @@ TODO:
|
|
|
3500
3500
|
|
|
3501
3501
|
STANDARD_LOG_FORMAT_PARTS = [
|
|
3502
3502
|
('asctime', '%(asctime)-15s'),
|
|
3503
|
-
('process', 'pid=%(process)
|
|
3503
|
+
('process', 'pid=%(process)s'),
|
|
3504
3504
|
('thread', 'tid=%(thread)x'),
|
|
3505
3505
|
('levelname', '%(levelname)s'),
|
|
3506
3506
|
('name', '%(name)s'),
|
|
@@ -4962,6 +4962,7 @@ inj = InjectionApi()
|
|
|
4962
4962
|
TODO:
|
|
4963
4963
|
- pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
|
|
4964
4964
|
- literals
|
|
4965
|
+
- Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
|
|
4965
4966
|
"""
|
|
4966
4967
|
|
|
4967
4968
|
|
|
@@ -5114,21 +5115,55 @@ class IterableObjMarshaler(ObjMarshaler):
|
|
|
5114
5115
|
@dc.dataclass(frozen=True)
|
|
5115
5116
|
class FieldsObjMarshaler(ObjMarshaler):
|
|
5116
5117
|
ty: type
|
|
5117
|
-
|
|
5118
|
+
|
|
5119
|
+
@dc.dataclass(frozen=True)
|
|
5120
|
+
class Field:
|
|
5121
|
+
att: str
|
|
5122
|
+
key: str
|
|
5123
|
+
m: ObjMarshaler
|
|
5124
|
+
|
|
5125
|
+
omit_if_none: bool = False
|
|
5126
|
+
|
|
5127
|
+
fs: ta.Sequence[Field]
|
|
5128
|
+
|
|
5118
5129
|
non_strict: bool = False
|
|
5119
5130
|
|
|
5131
|
+
#
|
|
5132
|
+
|
|
5133
|
+
_fs_by_att: ta.ClassVar[ta.Mapping[str, Field]]
|
|
5134
|
+
_fs_by_key: ta.ClassVar[ta.Mapping[str, Field]]
|
|
5135
|
+
|
|
5136
|
+
def __post_init__(self) -> None:
|
|
5137
|
+
fs_by_att: dict = {}
|
|
5138
|
+
fs_by_key: dict = {}
|
|
5139
|
+
for f in self.fs:
|
|
5140
|
+
check.not_in(check.non_empty_str(f.att), fs_by_att)
|
|
5141
|
+
check.not_in(check.non_empty_str(f.key), fs_by_key)
|
|
5142
|
+
fs_by_att[f.att] = f
|
|
5143
|
+
fs_by_key[f.key] = f
|
|
5144
|
+
self.__dict__['_fs_by_att'] = fs_by_att
|
|
5145
|
+
self.__dict__['_fs_by_key'] = fs_by_key
|
|
5146
|
+
|
|
5147
|
+
#
|
|
5148
|
+
|
|
5120
5149
|
def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5150
|
+
d = {}
|
|
5151
|
+
for f in self.fs:
|
|
5152
|
+
mv = f.m.marshal(getattr(o, f.att), ctx)
|
|
5153
|
+
if mv is None and f.omit_if_none:
|
|
5154
|
+
continue
|
|
5155
|
+
d[f.key] = mv
|
|
5156
|
+
return d
|
|
5125
5157
|
|
|
5126
5158
|
def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5159
|
+
kw = {}
|
|
5160
|
+
for k, v in o.items():
|
|
5161
|
+
if (f := self._fs_by_key.get(k)) is None:
|
|
5162
|
+
if not (self.non_strict or ctx.options.non_strict_fields):
|
|
5163
|
+
raise KeyError(k)
|
|
5164
|
+
continue
|
|
5165
|
+
kw[f.att] = f.m.unmarshal(v, ctx)
|
|
5166
|
+
return self.ty(**kw)
|
|
5132
5167
|
|
|
5133
5168
|
|
|
5134
5169
|
@dc.dataclass(frozen=True)
|
|
@@ -5263,6 +5298,22 @@ def register_single_field_type_obj_marshaler(fld, ty=None):
|
|
|
5263
5298
|
##
|
|
5264
5299
|
|
|
5265
5300
|
|
|
5301
|
+
class ObjMarshalerFieldMetadata:
|
|
5302
|
+
def __new__(cls, *args, **kwargs): # noqa
|
|
5303
|
+
raise TypeError
|
|
5304
|
+
|
|
5305
|
+
|
|
5306
|
+
class OBJ_MARSHALER_FIELD_KEY(ObjMarshalerFieldMetadata): # noqa
|
|
5307
|
+
pass
|
|
5308
|
+
|
|
5309
|
+
|
|
5310
|
+
class OBJ_MARSHALER_OMIT_IF_NONE(ObjMarshalerFieldMetadata): # noqa
|
|
5311
|
+
pass
|
|
5312
|
+
|
|
5313
|
+
|
|
5314
|
+
##
|
|
5315
|
+
|
|
5316
|
+
|
|
5266
5317
|
class ObjMarshalerManager:
|
|
5267
5318
|
def __init__(
|
|
5268
5319
|
self,
|
|
@@ -5322,14 +5373,30 @@ class ObjMarshalerManager:
|
|
|
5322
5373
|
if dc.is_dataclass(ty):
|
|
5323
5374
|
return FieldsObjMarshaler(
|
|
5324
5375
|
ty,
|
|
5325
|
-
|
|
5376
|
+
[
|
|
5377
|
+
FieldsObjMarshaler.Field(
|
|
5378
|
+
att=f.name,
|
|
5379
|
+
key=check.non_empty_str(fk),
|
|
5380
|
+
m=rec(f.type),
|
|
5381
|
+
omit_if_none=check.isinstance(f.metadata.get(OBJ_MARSHALER_OMIT_IF_NONE, False), bool),
|
|
5382
|
+
)
|
|
5383
|
+
for f in dc.fields(ty)
|
|
5384
|
+
if (fk := f.metadata.get(OBJ_MARSHALER_FIELD_KEY, f.name)) is not None
|
|
5385
|
+
],
|
|
5326
5386
|
non_strict=non_strict_fields,
|
|
5327
5387
|
)
|
|
5328
5388
|
|
|
5329
5389
|
if issubclass(ty, tuple) and hasattr(ty, '_fields'):
|
|
5330
5390
|
return FieldsObjMarshaler(
|
|
5331
5391
|
ty,
|
|
5332
|
-
|
|
5392
|
+
[
|
|
5393
|
+
FieldsObjMarshaler.Field(
|
|
5394
|
+
att=p.name,
|
|
5395
|
+
key=p.name,
|
|
5396
|
+
m=rec(p.annotation),
|
|
5397
|
+
)
|
|
5398
|
+
for p in inspect.signature(ty).parameters.values()
|
|
5399
|
+
],
|
|
5333
5400
|
non_strict=non_strict_fields,
|
|
5334
5401
|
)
|
|
5335
5402
|
|
|
@@ -5673,7 +5740,7 @@ TODO:
|
|
|
5673
5740
|
|
|
5674
5741
|
STANDARD_LOG_FORMAT_PARTS = [
|
|
5675
5742
|
('asctime', '%(asctime)-15s'),
|
|
5676
|
-
('process', 'pid=%(process)
|
|
5743
|
+
('process', 'pid=%(process)s'),
|
|
5677
5744
|
('thread', 'tid=%(thread)x'),
|
|
5678
5745
|
('levelname', '%(levelname)s'),
|
|
5679
5746
|
('name', '%(name)s'),
|
|
@@ -18,6 +18,7 @@ if ta.TYPE_CHECKING:
|
|
|
18
18
|
import yaml
|
|
19
19
|
|
|
20
20
|
from omlish.formats import dotenv
|
|
21
|
+
from omlish.formats import json5
|
|
21
22
|
from omlish.formats import props
|
|
22
23
|
from omlish.formats import xml
|
|
23
24
|
|
|
@@ -29,6 +30,7 @@ else:
|
|
|
29
30
|
yaml = lang.proxy_import('yaml')
|
|
30
31
|
|
|
31
32
|
dotenv = lang.proxy_import('omlish.formats.dotenv')
|
|
33
|
+
json5 = lang.proxy_import('omlish.formats.json5')
|
|
32
34
|
props = lang.proxy_import('omlish.formats.props')
|
|
33
35
|
xml = lang.proxy_import('omlish.formats.xml')
|
|
34
36
|
|
|
@@ -45,6 +47,8 @@ class Format:
|
|
|
45
47
|
class Formats(enum.Enum):
|
|
46
48
|
JSON = Format(['json'], json.load)
|
|
47
49
|
|
|
50
|
+
JSON5 = Format(['json5'], lambda f: json5.loads(f.read()))
|
|
51
|
+
|
|
48
52
|
YAML = Format(['yaml', 'yml'], lambda f: yaml.safe_load(f))
|
|
49
53
|
|
|
50
54
|
TOML = Format(['toml'], lambda f: tomllib.loads(f.read()))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev216
|
|
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.dev216
|
|
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.dev216'
|
|
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.dev216',
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|