omdev 0.0.0.dev236__tar.gz → 0.0.0.dev237__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.dev236/omdev.egg-info → omdev-0.0.0.dev237}/PKG-INFO +2 -2
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/.manifests.json +13 -1
- omdev-0.0.0.dev237/omdev/home/configs.py +13 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/git/cli.py +59 -7
- omdev-0.0.0.dev237/omdev/tools/git/consts.py +1 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/git/messages.py +3 -1
- omdev-0.0.0.dev237/omdev/tools/shadow.py +72 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev.egg-info/SOURCES.txt +3 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/pyproject.toml +2 -2
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/LICENSE +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/README.rst +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cc/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/cache.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/ci.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/compose.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/consts.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/cacheserved.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/api.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/client.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/shell.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ci/utils.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/git/shallow.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/home/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/home/paths.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/home/secrets.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/building.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/compression.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/data.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/datarefs.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/dataserver.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/loading.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/media.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/pack/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/pack/packing.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/pack/repositories.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/pack/unpacking.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/repositories.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/oci/tars.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/revisions.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/packaging/wheelfile.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ptk/apps/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pycharm/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/resources/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/resources/docker-dev.sh +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/ci.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tagstrings.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tokens/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tokens/all.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tokens/tokenizert.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tokens/utils.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/git/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/git/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev236 → omdev-0.0.0.dev237}/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.dev237
|
|
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.dev237
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -291,7 +291,7 @@
|
|
|
291
291
|
"module": ".tools.git.messages",
|
|
292
292
|
"attr": "_TIMESTAMP_GIT_MESSAGE_GENERATOR_MANIFEST",
|
|
293
293
|
"file": "omdev/tools/git/messages.py",
|
|
294
|
-
"line":
|
|
294
|
+
"line": 77,
|
|
295
295
|
"value": {
|
|
296
296
|
"$.tools.git.messages.GitMessageGeneratorManifest": {
|
|
297
297
|
"mod_name": "omdev.tools.git.messages",
|
|
@@ -431,6 +431,18 @@
|
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
433
|
},
|
|
434
|
+
{
|
|
435
|
+
"module": ".tools.shadow",
|
|
436
|
+
"attr": "_CLI_MODULE",
|
|
437
|
+
"file": "omdev/tools/shadow.py",
|
|
438
|
+
"line": 63,
|
|
439
|
+
"value": {
|
|
440
|
+
"$.cli.types.CliModule": {
|
|
441
|
+
"cmd_name": "shadow",
|
|
442
|
+
"mod_name": "omdev.tools.shadow"
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
},
|
|
434
446
|
{
|
|
435
447
|
"module": ".tools.sqlrepl",
|
|
436
448
|
"attr": "_CLI_MODULE",
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import os.path
|
|
2
|
+
|
|
3
|
+
from omlish.configs.shadow import MangledFilesShadowConfigs
|
|
4
|
+
from omlish.configs.shadow import ShadowConfigs
|
|
5
|
+
|
|
6
|
+
from .paths import get_home_dir
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_shadow_configs() -> ShadowConfigs:
|
|
10
|
+
return MangledFilesShadowConfigs(
|
|
11
|
+
os.path.join(get_home_dir(), 'shadow'),
|
|
12
|
+
create=True,
|
|
13
|
+
)
|
|
@@ -13,6 +13,7 @@ from omlish import cached
|
|
|
13
13
|
from omlish import check
|
|
14
14
|
from omlish import lang
|
|
15
15
|
from omlish.argparse import all as ap
|
|
16
|
+
from omlish.configs.processing.merging import merge_configs
|
|
16
17
|
from omlish.formats import json
|
|
17
18
|
from omlish.formats import yaml
|
|
18
19
|
from omlish.logs import all as logs
|
|
@@ -20,7 +21,9 @@ from omlish.subprocesses.sync import subprocesses
|
|
|
20
21
|
|
|
21
22
|
from ...git.status import GitStatusItem
|
|
22
23
|
from ...git.status import get_git_status
|
|
24
|
+
from ...home.configs import get_shadow_configs
|
|
23
25
|
from ...home.paths import get_home_dir
|
|
26
|
+
from . import consts
|
|
24
27
|
from .messages import GitMessageGenerator
|
|
25
28
|
from .messages import TimestampGitMessageGenerator
|
|
26
29
|
from .messages import load_message_generator_manifests
|
|
@@ -74,23 +77,42 @@ class Cli(ap.Cli):
|
|
|
74
77
|
return os.path.join(get_home_dir(), 'tools', 'git.yml')
|
|
75
78
|
|
|
76
79
|
@cached.function
|
|
77
|
-
def
|
|
80
|
+
def load_home_config_content(self) -> ta.Any:
|
|
78
81
|
try:
|
|
79
82
|
with open(self.config_file_path()) as f:
|
|
80
83
|
buf = f.read()
|
|
81
84
|
except FileNotFoundError:
|
|
82
85
|
return self.Config()
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
return yaml.safe_load(buf) or {}
|
|
88
|
+
|
|
89
|
+
class _NOT_SET(lang.Marker): # noqa
|
|
90
|
+
pass
|
|
91
|
+
|
|
92
|
+
def load_config(self, path: str | type[_NOT_SET] | None = _NOT_SET) -> Config:
|
|
93
|
+
dct = self.load_home_config_content() or {}
|
|
94
|
+
|
|
95
|
+
if path is not self._NOT_SET:
|
|
96
|
+
if path is None:
|
|
97
|
+
path = os.getcwd()
|
|
98
|
+
shadow_cfg = get_shadow_configs().get_shadow_config(check.isinstance(path, str)) or {}
|
|
99
|
+
dct = merge_configs(dct, shadow_cfg.get('git', {}))
|
|
100
|
+
|
|
85
101
|
return msh.unmarshal(dct, self.Config)
|
|
86
102
|
|
|
87
|
-
@ap.cmd(
|
|
103
|
+
@ap.cmd(
|
|
104
|
+
ap.arg('dir', nargs='?'),
|
|
105
|
+
)
|
|
88
106
|
def print_cfg(self) -> None:
|
|
89
|
-
cfg = self.load_config()
|
|
107
|
+
cfg = self.load_config(self._args.dir)
|
|
90
108
|
print(yaml.dump(msh.marshal(cfg)))
|
|
91
109
|
|
|
92
110
|
#
|
|
93
111
|
|
|
112
|
+
_time_fmt: str = ap.arg_('--time-fmt', default=consts.DEFAULT_TIME_FMT)
|
|
113
|
+
|
|
114
|
+
# Commands
|
|
115
|
+
|
|
94
116
|
@ap.cmd()
|
|
95
117
|
def blob_sizes(self) -> None:
|
|
96
118
|
# https://stackoverflow.com/a/42544963
|
|
@@ -232,10 +254,40 @@ class Cli(ap.Cli):
|
|
|
232
254
|
|
|
233
255
|
# Lazy helpers
|
|
234
256
|
|
|
257
|
+
@ap.cmd(
|
|
258
|
+
ap.arg('-g', '--message-generator', nargs='?'),
|
|
259
|
+
ap.arg('dir', nargs='*'),
|
|
260
|
+
aliases=['gcm'],
|
|
261
|
+
)
|
|
262
|
+
def generate_commit_message(self) -> None:
|
|
263
|
+
def run(cwd: str | None) -> None:
|
|
264
|
+
st = get_git_status(cwd=cwd)
|
|
265
|
+
|
|
266
|
+
if not (st.has_staged or st.has_dirty):
|
|
267
|
+
return
|
|
268
|
+
|
|
269
|
+
mg_cls: type[GitMessageGenerator] = TimestampGitMessageGenerator
|
|
270
|
+
if (mg_name := self.args.message_generator) is None:
|
|
271
|
+
mg_name = self.load_config(cwd).default_message_generator
|
|
272
|
+
if mg_name is not None:
|
|
273
|
+
mg_cls = load_message_generator_manifests_map()[mg_name].load_cls()
|
|
274
|
+
mg = mg_cls()
|
|
275
|
+
|
|
276
|
+
mgr = mg.generate_commit_message(GitMessageGenerator.GenerateCommitMessageArgs(
|
|
277
|
+
cwd=cwd,
|
|
278
|
+
time_fmt=self._time_fmt,
|
|
279
|
+
))
|
|
280
|
+
print(mgr.msg)
|
|
281
|
+
|
|
282
|
+
if not self.args.dir:
|
|
283
|
+
run(None)
|
|
284
|
+
else:
|
|
285
|
+
for d in self.args.dir:
|
|
286
|
+
run(d)
|
|
287
|
+
|
|
235
288
|
@ap.cmd(
|
|
236
289
|
ap.arg('-m', '--message', nargs='?'),
|
|
237
290
|
ap.arg('-g', '--message-generator', nargs='?'),
|
|
238
|
-
ap.arg('--time-fmt', default=GitMessageGenerator.GenerateCommitMessageArgs.DEFAULT_TIME_FMT),
|
|
239
291
|
ap.arg('--dry-run', action='store_true'),
|
|
240
292
|
ap.arg('-y', '--no-confirmation', action='store_true'),
|
|
241
293
|
ap.arg('dir', nargs='*'),
|
|
@@ -261,14 +313,14 @@ class Cli(ap.Cli):
|
|
|
261
313
|
else:
|
|
262
314
|
mg_cls: type[GitMessageGenerator] = TimestampGitMessageGenerator
|
|
263
315
|
if (mg_name := self.args.message_generator) is None:
|
|
264
|
-
mg_name = self.load_config().default_message_generator
|
|
316
|
+
mg_name = self.load_config(cwd).default_message_generator
|
|
265
317
|
if mg_name is not None:
|
|
266
318
|
mg_cls = load_message_generator_manifests_map()[mg_name].load_cls()
|
|
267
319
|
mg = mg_cls()
|
|
268
320
|
|
|
269
321
|
mgr = mg.generate_commit_message(GitMessageGenerator.GenerateCommitMessageArgs(
|
|
270
322
|
cwd=cwd,
|
|
271
|
-
time_fmt=self.
|
|
323
|
+
time_fmt=self._time_fmt,
|
|
272
324
|
))
|
|
273
325
|
if mgr.confirm and not self._args.no_confirmation:
|
|
274
326
|
print(mgr.msg)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DEFAULT_TIME_FMT = '%Y-%m-%dT%H:%M:%SZ'
|
|
@@ -10,6 +10,8 @@ from omlish.manifests import load as manifest_load
|
|
|
10
10
|
from omlish.manifests.base import ModAttrManifest
|
|
11
11
|
from omlish.manifests.base import NameAliasesManifest
|
|
12
12
|
|
|
13
|
+
from . import consts
|
|
14
|
+
|
|
13
15
|
|
|
14
16
|
##
|
|
15
17
|
|
|
@@ -19,7 +21,7 @@ class GitMessageGenerator(abc.ABC):
|
|
|
19
21
|
class GenerateCommitMessageArgs:
|
|
20
22
|
cwd: str | None = None
|
|
21
23
|
|
|
22
|
-
DEFAULT_TIME_FMT: ta.ClassVar[str] =
|
|
24
|
+
DEFAULT_TIME_FMT: ta.ClassVar[str] = consts.DEFAULT_TIME_FMT
|
|
23
25
|
time_fmt: str = DEFAULT_TIME_FMT
|
|
24
26
|
|
|
25
27
|
@dc.dataclass(frozen=True, kw_only=True)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""
|
|
2
|
+
TODO:
|
|
3
|
+
- 'edit', default cwd - use git's
|
|
4
|
+
- delete?
|
|
5
|
+
- 'purge'?
|
|
6
|
+
- 'validate' - at least formats
|
|
7
|
+
"""
|
|
8
|
+
import os.path
|
|
9
|
+
import shutil
|
|
10
|
+
|
|
11
|
+
from omlish import check
|
|
12
|
+
from omlish.argparse import all as ap
|
|
13
|
+
from omlish.configs.shadow import FileShadowConfigs
|
|
14
|
+
|
|
15
|
+
from ..cli.types import CliModule
|
|
16
|
+
from ..home.configs import get_shadow_configs
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ShadowCli(ap.Cli):
|
|
23
|
+
def _get_shadow_file(self, path: str | None = None) -> str:
|
|
24
|
+
if (path := self._args.path) is None:
|
|
25
|
+
path = os.getcwd()
|
|
26
|
+
file_scs = check.isinstance(get_shadow_configs(), FileShadowConfigs)
|
|
27
|
+
shd_file = file_scs.get_shadow_config_file_path(path)
|
|
28
|
+
return shd_file
|
|
29
|
+
|
|
30
|
+
#
|
|
31
|
+
|
|
32
|
+
@ap.cmd(
|
|
33
|
+
ap.arg('path', nargs='?'),
|
|
34
|
+
)
|
|
35
|
+
def edit(self) -> None:
|
|
36
|
+
shd_file = self._get_shadow_file(self._args.path)
|
|
37
|
+
os.makedirs(os.path.dirname(shd_file), exist_ok=True)
|
|
38
|
+
os.execl(check.not_none(shutil.which('vim')), 'vim', shd_file)
|
|
39
|
+
|
|
40
|
+
@ap.cmd(
|
|
41
|
+
ap.arg('path', nargs='?'),
|
|
42
|
+
)
|
|
43
|
+
def show(self) -> None:
|
|
44
|
+
shd_file = self._get_shadow_file(self._args.path)
|
|
45
|
+
try:
|
|
46
|
+
with open(shd_file) as f:
|
|
47
|
+
buf = f.read()
|
|
48
|
+
except FileNotFoundError:
|
|
49
|
+
return
|
|
50
|
+
print(buf)
|
|
51
|
+
|
|
52
|
+
@ap.cmd(
|
|
53
|
+
ap.arg('path', nargs='?'),
|
|
54
|
+
)
|
|
55
|
+
def which(self) -> None:
|
|
56
|
+
shd_file = self._get_shadow_file(self._args.path)
|
|
57
|
+
print(shd_file)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
##
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# @omlish-manifest
|
|
64
|
+
_CLI_MODULE = CliModule('shadow', __name__)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _main() -> None:
|
|
68
|
+
ShadowCli().cli_run_and_exit()
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
if __name__ == '__main__':
|
|
72
|
+
_main()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev237
|
|
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.dev237
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -129,6 +129,7 @@ omdev/git/revisions.py
|
|
|
129
129
|
omdev/git/shallow.py
|
|
130
130
|
omdev/git/status.py
|
|
131
131
|
omdev/home/__init__.py
|
|
132
|
+
omdev/home/configs.py
|
|
132
133
|
omdev/home/paths.py
|
|
133
134
|
omdev/home/secrets.py
|
|
134
135
|
omdev/interp/__init__.py
|
|
@@ -242,10 +243,12 @@ omdev/tools/notebook.py
|
|
|
242
243
|
omdev/tools/pip.py
|
|
243
244
|
omdev/tools/prof.py
|
|
244
245
|
omdev/tools/qr.py
|
|
246
|
+
omdev/tools/shadow.py
|
|
245
247
|
omdev/tools/sqlrepl.py
|
|
246
248
|
omdev/tools/git/__init__.py
|
|
247
249
|
omdev/tools/git/__main__.py
|
|
248
250
|
omdev/tools/git/cli.py
|
|
251
|
+
omdev/tools/git/consts.py
|
|
249
252
|
omdev/tools/git/messages.py
|
|
250
253
|
omdev/tools/json/__init__.py
|
|
251
254
|
omdev/tools/json/__main__.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.dev237'
|
|
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.dev237',
|
|
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
|