omdev 0.0.0.dev231__tar.gz → 0.0.0.dev233__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.dev231/omdev.egg-info → omdev-0.0.0.dev233}/PKG-INFO +2 -2
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/.manifests.json +20 -4
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/defaults.py +2 -1
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/main.py +5 -16
- omdev-0.0.0.dev233/omdev/home/paths.py +20 -0
- omdev-0.0.0.dev233/omdev/home/secrets.py +33 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/imgur.py +1 -1
- omdev-0.0.0.dev233/omdev/tools/git/__main__.py +11 -0
- omdev-0.0.0.dev231/omdev/tools/git.py → omdev-0.0.0.dev233/omdev/tools/git/cli.py +22 -9
- omdev-0.0.0.dev233/omdev/tools/git/messages.py +60 -0
- omdev-0.0.0.dev233/omdev/tools/json/__init__.py +0 -0
- omdev-0.0.0.dev233/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233/omdev.egg-info}/PKG-INFO +2 -2
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev.egg-info/SOURCES.txt +7 -2
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev.egg-info/requires.txt +1 -1
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/pyproject.toml +2 -2
- omdev-0.0.0.dev231/omdev/secrets.py +0 -23
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/LICENSE +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/README.rst +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/__about__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/gen.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/imports.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/main.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/manifests.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/resources.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/srcfiles.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/strip.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/types.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/amalg/typing.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/antlr/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/antlr/consts.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/antlr/gen.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/bracepy.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cc/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/cache.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/ci.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/compose.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/consts.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/cacheserved.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/api.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/client.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/shell.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ci/utils.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/classdot.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/clipboard/clipboard.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/clipboard/darwin_cf.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/clipboard/linux_x11.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/findimports.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/git/shallow.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev231/omdev/interp/providers → omdev-0.0.0.dev233/omdev/home}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev231/omdev/interp/pyenv → omdev-0.0.0.dev233/omdev/interp/providers}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev231/omdev/interp/uv → omdev-0.0.0.dev233/omdev/interp/pyenv}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev231/omdev/mypy → omdev-0.0.0.dev233/omdev/interp/uv}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/manifests/build.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev231/omdev/oci → omdev-0.0.0.dev233/omdev/mypy}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev231/omdev/oci/pack → omdev-0.0.0.dev233/omdev/oci}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/building.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/compression.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/data.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/datarefs.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/dataserver.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/loading.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/media.py +0 -0
- {omdev-0.0.0.dev231/omdev/packaging → omdev-0.0.0.dev233/omdev/oci/pack}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/pack/packing.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/pack/repositories.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/pack/unpacking.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/repositories.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/oci/tars.py +0 -0
- {omdev-0.0.0.dev231/omdev/precheck → omdev-0.0.0.dev233/omdev/packaging}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev231/omdev/ptk/apps → omdev-0.0.0.dev233/omdev/precheck}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ptk/__init__.py +0 -0
- {omdev-0.0.0.dev231/omdev/pycharm → omdev-0.0.0.dev233/omdev/ptk/apps}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/ptk/apps/ncdu.py +0 -0
- {omdev-0.0.0.dev231/omdev/pyproject/resources → omdev-0.0.0.dev233/omdev/pycharm}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pycharm/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pycharm/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/cexts.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev231/omdev/tokens → omdev-0.0.0.dev233/omdev/pyproject/resources}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/resources/docker-dev.sh +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/revisions.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/ci.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/execrss.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/exectime.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tagstrings.py +0 -0
- {omdev-0.0.0.dev231/omdev/tools/json → omdev-0.0.0.dev233/omdev/tokens}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tokens/all.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tokens/tokenizert.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tokens/utils.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev231/omdev/tools/pawk → omdev-0.0.0.dev233/omdev/tools/git}/__init__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/importscan.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev/wheelfile.py +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev231 → omdev-0.0.0.dev233}/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.dev233
|
|
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.dev233
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -276,14 +276,30 @@
|
|
|
276
276
|
}
|
|
277
277
|
},
|
|
278
278
|
{
|
|
279
|
-
"module": ".tools.git",
|
|
279
|
+
"module": ".tools.git.__main__",
|
|
280
280
|
"attr": "_CLI_MODULE",
|
|
281
|
-
"file": "omdev/tools/git.py",
|
|
282
|
-
"line":
|
|
281
|
+
"file": "omdev/tools/git/__main__.py",
|
|
282
|
+
"line": 4,
|
|
283
283
|
"value": {
|
|
284
284
|
"$.cli.types.CliModule": {
|
|
285
285
|
"cmd_name": "git",
|
|
286
|
-
"mod_name": "omdev.tools.git"
|
|
286
|
+
"mod_name": "omdev.tools.git.__main__"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"module": ".tools.git.messages",
|
|
292
|
+
"attr": "_TIMESTAMP_GIT_MESSAGE_GENERATOR_MANIFEST",
|
|
293
|
+
"file": "omdev/tools/git/messages.py",
|
|
294
|
+
"line": 54,
|
|
295
|
+
"value": {
|
|
296
|
+
"$.tools.git.messages.GitMessageGeneratorManifest": {
|
|
297
|
+
"mod_name": "omdev.tools.git.messages",
|
|
298
|
+
"attr_name": "TimestampGitMessageGenerator",
|
|
299
|
+
"name": "timestamp",
|
|
300
|
+
"aliases": [
|
|
301
|
+
"ts"
|
|
302
|
+
]
|
|
287
303
|
}
|
|
288
304
|
}
|
|
289
305
|
},
|
|
@@ -2,6 +2,7 @@ import os.path
|
|
|
2
2
|
|
|
3
3
|
from omlish import lang
|
|
4
4
|
|
|
5
|
+
from ...home.paths import get_cache_dir
|
|
5
6
|
from .cache import Cache
|
|
6
7
|
|
|
7
8
|
|
|
@@ -10,7 +11,7 @@ from .cache import Cache
|
|
|
10
11
|
|
|
11
12
|
@lang.cached_function(lock=True)
|
|
12
13
|
def default_dir() -> str:
|
|
13
|
-
return os.path.
|
|
14
|
+
return os.path.join(get_cache_dir(), 'data')
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
@lang.cached_function(lock=True)
|
|
@@ -185,23 +185,12 @@ def _build_arg_parser() -> argparse.ArgumentParser:
|
|
|
185
185
|
def _build_cmd_set(args: ta.Any) -> CliCmdSet:
|
|
186
186
|
ldr = ManifestLoader.from_entry_point(globals())
|
|
187
187
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
def scan_pkg_root(r: str) -> None:
|
|
191
|
-
r = os.path.expanduser(r)
|
|
192
|
-
for n in os.listdir(r):
|
|
193
|
-
if os.path.isdir(p := os.path.join(r, n)) and os.path.exists(os.path.join(p, '__init__.py')):
|
|
194
|
-
pkgs.append(n)
|
|
195
|
-
|
|
196
|
-
if args.cli_pkg_root:
|
|
197
|
-
for r in args.cli_pkg_root:
|
|
198
|
-
scan_pkg_root(r)
|
|
199
|
-
|
|
200
|
-
else:
|
|
201
|
-
pkgs.extend(ldr.discover())
|
|
188
|
+
#
|
|
202
189
|
|
|
203
|
-
|
|
204
|
-
|
|
190
|
+
pkgs = ldr.scan_or_discover_pkgs(
|
|
191
|
+
specified_roots=args.cli_pkg_root,
|
|
192
|
+
fallback_root=os.getcwd(),
|
|
193
|
+
)
|
|
205
194
|
|
|
206
195
|
#
|
|
207
196
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""
|
|
2
|
+
TODO:
|
|
3
|
+
- XDG cache root
|
|
4
|
+
"""
|
|
5
|
+
import os.path
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
HOME_DIR_ENV_VAR = 'OMLISH_HOME'
|
|
9
|
+
DEFAULT_HOME_DIR = '~/.omlish'
|
|
10
|
+
|
|
11
|
+
CACHE_DIR_ENV_VAR = 'OMLISH_CACHE'
|
|
12
|
+
DEFAULT_CACHE_DIR = '~/.cache/omlish'
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def get_home_dir() -> str:
|
|
16
|
+
return os.path.expanduser(os.getenv(HOME_DIR_ENV_VAR, DEFAULT_HOME_DIR))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def get_cache_dir() -> str:
|
|
20
|
+
return os.path.expanduser(os.getenv(DEFAULT_CACHE_DIR, DEFAULT_CACHE_DIR))
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import os.path
|
|
2
|
+
import typing as ta
|
|
3
|
+
|
|
4
|
+
from omlish import lang
|
|
5
|
+
from omlish.secrets import all as sec
|
|
6
|
+
|
|
7
|
+
from .paths import get_home_dir
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
if ta.TYPE_CHECKING:
|
|
11
|
+
import yaml
|
|
12
|
+
else:
|
|
13
|
+
yaml = lang.proxy_import('yaml')
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
SECRETS_FILE_ENV_VAR = 'OMLISH_SECRETS'
|
|
17
|
+
DEFAULT_SECRETS_FILE_NAME = 'secrets.yml'
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def get_secrets_file() -> str:
|
|
21
|
+
return os.path.expanduser(os.getenv(SECRETS_FILE_ENV_VAR, os.path.join(get_home_dir(), DEFAULT_SECRETS_FILE_NAME)))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def load_secrets() -> sec.Secrets:
|
|
25
|
+
dct: dict[str, sec.Secret] = {}
|
|
26
|
+
try:
|
|
27
|
+
with open(get_secrets_file()) as f:
|
|
28
|
+
for k, v in yaml.safe_load(f).items():
|
|
29
|
+
if isinstance(v, str):
|
|
30
|
+
dct[k] = sec.Secret(key=k, value=v)
|
|
31
|
+
except FileNotFoundError:
|
|
32
|
+
pass
|
|
33
|
+
return sec.MappingSecrets(dct)
|
|
@@ -9,14 +9,17 @@ import typing as ta
|
|
|
9
9
|
import urllib.parse
|
|
10
10
|
|
|
11
11
|
from omlish import check
|
|
12
|
-
from omlish import lang
|
|
13
12
|
from omlish.argparse import all as ap
|
|
14
13
|
from omlish.formats import json
|
|
15
14
|
from omlish.logs import all as logs
|
|
16
15
|
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
16
|
+
from ...git.status import GitStatusItem
|
|
17
|
+
from ...git.status import get_git_status
|
|
18
|
+
from .messages import TimestampGitMessageGenerator
|
|
19
|
+
from .messages import load_message_generator_manifests
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
##
|
|
20
23
|
|
|
21
24
|
|
|
22
25
|
def rev_parse(rev: str) -> str:
|
|
@@ -186,7 +189,7 @@ class Cli(ap.Cli):
|
|
|
186
189
|
|
|
187
190
|
@ap.cmd(
|
|
188
191
|
ap.arg('-m', '--message', nargs='?'),
|
|
189
|
-
ap.arg('--time-fmt', default=
|
|
192
|
+
ap.arg('--time-fmt', default=TimestampGitMessageGenerator.DEFAULT_TIME_FMT),
|
|
190
193
|
ap.arg('dir', nargs='*'),
|
|
191
194
|
aliases=['acp'],
|
|
192
195
|
)
|
|
@@ -201,7 +204,7 @@ class Cli(ap.Cli):
|
|
|
201
204
|
if self.args.message is not None:
|
|
202
205
|
msg = self.args.message
|
|
203
206
|
else:
|
|
204
|
-
msg =
|
|
207
|
+
msg = TimestampGitMessageGenerator(self.args.time_fmt).generate_commit_message()
|
|
205
208
|
subprocess.check_call(['git', 'commit', '-m', msg], cwd=cwd)
|
|
206
209
|
|
|
207
210
|
subprocess.check_call(['git', 'push'], cwd=cwd)
|
|
@@ -227,11 +230,21 @@ class Cli(ap.Cli):
|
|
|
227
230
|
for d in self.args.dir:
|
|
228
231
|
run(d)
|
|
229
232
|
|
|
233
|
+
#
|
|
230
234
|
|
|
231
|
-
|
|
232
|
-
|
|
235
|
+
@ap.cmd()
|
|
236
|
+
def list_message_generators(self) -> None:
|
|
237
|
+
for mgm in load_message_generator_manifests():
|
|
238
|
+
print(mgm.name)
|
|
233
239
|
|
|
234
240
|
|
|
235
|
-
|
|
241
|
+
##
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
def _main() -> None:
|
|
236
245
|
logs.configure_standard_logging('INFO')
|
|
237
246
|
Cli()()
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
if __name__ == '__main__':
|
|
250
|
+
_main()
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import abc
|
|
2
|
+
import dataclasses as dc
|
|
3
|
+
import os
|
|
4
|
+
import typing as ta
|
|
5
|
+
|
|
6
|
+
from omlish import cached
|
|
7
|
+
from omlish import lang
|
|
8
|
+
from omlish.manifests import load as manifest_load
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
##
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class GitMessageGenerator(abc.ABC):
|
|
15
|
+
@abc.abstractmethod
|
|
16
|
+
def generate_commit_message(self) -> str:
|
|
17
|
+
raise NotImplementedError
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
#
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@dc.dataclass(frozen=True, kw_only=True)
|
|
24
|
+
class GitMessageGeneratorManifest:
|
|
25
|
+
mod_name: str
|
|
26
|
+
attr_name: str
|
|
27
|
+
name: str
|
|
28
|
+
aliases: ta.Collection[str] | None = None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@cached.function
|
|
32
|
+
def load_message_generator_manifests() -> ta.Sequence[GitMessageGeneratorManifest]:
|
|
33
|
+
ldr = manifest_load.MANIFEST_LOADER
|
|
34
|
+
pkgs = ldr.scan_or_discover_pkgs(fallback_root=os.getcwd())
|
|
35
|
+
mfs = ldr.load(*pkgs, only=[GitMessageGeneratorManifest])
|
|
36
|
+
return [mf.value for mf in mfs]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
##
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@dc.dataclass(frozen=True)
|
|
43
|
+
class TimestampGitMessageGenerator(GitMessageGenerator):
|
|
44
|
+
DEFAULT_TIME_FMT: ta.ClassVar[str] = '%Y-%m-%d %H:%M:%S'
|
|
45
|
+
time_fmt: str = DEFAULT_TIME_FMT
|
|
46
|
+
|
|
47
|
+
def generate_commit_message(self) -> str:
|
|
48
|
+
return lang.utcnow().strftime(self.time_fmt)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
#
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# @omlish-manifest
|
|
55
|
+
_TIMESTAMP_GIT_MESSAGE_GENERATOR_MANIFEST = GitMessageGeneratorManifest(
|
|
56
|
+
mod_name=__name__,
|
|
57
|
+
attr_name='TimestampGitMessageGenerator',
|
|
58
|
+
name='timestamp',
|
|
59
|
+
aliases=['ts'],
|
|
60
|
+
)
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev233
|
|
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.dev233
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
|
@@ -12,7 +12,6 @@ omdev/findimports.py
|
|
|
12
12
|
omdev/imgur.py
|
|
13
13
|
omdev/pip.py
|
|
14
14
|
omdev/revisions.py
|
|
15
|
-
omdev/secrets.py
|
|
16
15
|
omdev/tagstrings.py
|
|
17
16
|
omdev/wheelfile.py
|
|
18
17
|
omdev.egg-info/PKG-INFO
|
|
@@ -131,6 +130,9 @@ omdev/git/__init__.py
|
|
|
131
130
|
omdev/git/revisions.py
|
|
132
131
|
omdev/git/shallow.py
|
|
133
132
|
omdev/git/status.py
|
|
133
|
+
omdev/home/__init__.py
|
|
134
|
+
omdev/home/paths.py
|
|
135
|
+
omdev/home/secrets.py
|
|
134
136
|
omdev/interp/__init__.py
|
|
135
137
|
omdev/interp/__main__.py
|
|
136
138
|
omdev/interp/cli.py
|
|
@@ -232,7 +234,6 @@ omdev/tools/__init__.py
|
|
|
232
234
|
omdev/tools/cloc.py
|
|
233
235
|
omdev/tools/doc.py
|
|
234
236
|
omdev/tools/docker.py
|
|
235
|
-
omdev/tools/git.py
|
|
236
237
|
omdev/tools/importscan.py
|
|
237
238
|
omdev/tools/linehisto.py
|
|
238
239
|
omdev/tools/mkenv.py
|
|
@@ -242,6 +243,10 @@ omdev/tools/pip.py
|
|
|
242
243
|
omdev/tools/prof.py
|
|
243
244
|
omdev/tools/qr.py
|
|
244
245
|
omdev/tools/sqlrepl.py
|
|
246
|
+
omdev/tools/git/__init__.py
|
|
247
|
+
omdev/tools/git/__main__.py
|
|
248
|
+
omdev/tools/git/cli.py
|
|
249
|
+
omdev/tools/git/messages.py
|
|
245
250
|
omdev/tools/json/__init__.py
|
|
246
251
|
omdev/tools/json/__main__.py
|
|
247
252
|
omdev/tools/json/cli.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.dev233'
|
|
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.dev233',
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import os.path
|
|
2
|
-
import typing as ta
|
|
3
|
-
|
|
4
|
-
from omlish import lang
|
|
5
|
-
from omlish.secrets import all as sec
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if ta.TYPE_CHECKING:
|
|
9
|
-
import yaml
|
|
10
|
-
else:
|
|
11
|
-
yaml = lang.proxy_import('yaml')
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
SECRETS_FILE = os.getenv('SECRETS_FILE', '~/.omlish/secrets.yml')
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def load_secrets() -> sec.Secrets:
|
|
18
|
-
dct: dict[str, sec.Secret] = {}
|
|
19
|
-
with open(os.path.expanduser(SECRETS_FILE)) as f:
|
|
20
|
-
for k, v in yaml.safe_load(f).items():
|
|
21
|
-
if isinstance(v, str):
|
|
22
|
-
dct[k] = sec.Secret(key=k, value=v)
|
|
23
|
-
return sec.MappingSecrets(dct)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|