omdev 0.0.0.dev534__tar.gz → 0.0.0.dev536__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.dev534/omdev.egg-info → omdev-0.0.0.dev536}/PKG-INFO +4 -4
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/__about__.py +1 -1
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/pkg.py +4 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/tools/aboutdeps.py +1 -1
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/ci.py +2 -2
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/interp.py +2 -2
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/io/streams.py +130 -82
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/logs.py +2 -2
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/pyproject.py +7 -3
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/git/cli.py +1 -8
- omdev-0.0.0.dev536/omdev/tools/git/consts.py +15 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/__init__.py +5 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536/omdev.egg-info}/PKG-INFO +4 -4
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev.egg-info/requires.txt +3 -3
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/pyproject.toml +4 -4
- omdev-0.0.0.dev534/omdev/tools/git/consts.py +0 -1
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/LICENSE +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/MANIFEST.in +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/README.md +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/.omlish-manifests.json +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/README.md +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/cli/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/cli/main.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/gen.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/imports.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/manifests.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/resources.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/srcfiles.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/strip.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/gen/typing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/info.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/amalg/sources.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/darwin/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/darwin/aps.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/darwin/ax.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/darwin/cf.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/darwin/cg.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/linux/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/capi/linux/x11.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cc/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cc/srclangs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/build.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/cache.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/ci.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/compose.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/consts.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/cacheserved/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/cacheserved/cache.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/cacheserved/manifests.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/clients.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v1/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v1/api.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v1/client.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v2/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v2/api.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v2/azure.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/api/v2/client.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/shell.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/ci/utils.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/install.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/main.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/managers.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cli/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/capi/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/capi/darwin_cf.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/capi/linux_x11.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/commands.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/platform.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/clipboard/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cmake.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cmdlog/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cmdlog/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cmdlog/_cmdlog.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cmdlog/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/cmdlog/cmdlog.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/_dumping.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/_template.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/codegen.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataclasses/dumping.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/config.toml +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/content.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/gen.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/helpers.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/ops.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/rendering.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/.python-versions.json +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/configs/.vimrc +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/depsets/python.toml +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/depsets/system.toml +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/go.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/dockerdev/resources/xu +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/git/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/git/magic.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/git/revisions.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/git/shallow.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/git/status.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/home/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/home/paths.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/home/secrets.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/home/shadow.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/imgur.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/intellij/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/intellij/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/intellij/ides.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/intellij/open.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/default.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/messages/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/messages/base.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/messages/formats.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/messages/messages.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/messages/parsing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/numerics/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/numerics/formats.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/numerics/numerics.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/numerics/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/LICENSE +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/consts.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/errors.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/message.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/nuh.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/parsing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/rendering.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/tags.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/irc/protocol/utils.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/java/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/java/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/java/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/java/pomgen.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/java/xml.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/find.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/magic.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/magic/styles.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/manifests/_dumping.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/manifests/building.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/manifests/dumping.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/manifests/main.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/markdown/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/markdown/incparse.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/markdown/tokens.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/mypy/report.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/building.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/compression.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/data.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/datarefs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/dataserver.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/loading.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/media.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/pack/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/pack/packing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/pack/repositories.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/pack/unpacking.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/repositories.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/oci/tars.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/names.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/revisions.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/packaging/wheelfile.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pip.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/base.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/blanklines.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/caches.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/git.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/imports.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/main.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/precheck/unicode.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/asts/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/asts/parents.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/asts/toplevel.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/asts/visitors.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/attrdocs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/bracepy.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/classdot.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/LICENSE +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/attrdoc.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/common.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/epydoc.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/google.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/numpydoc.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/parser.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/docstrings/rest.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/findimports.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/reprs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/scripts/bumpversion.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/scripts/execstat.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/scripts/importtrace.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/srcheaders.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tokens/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tokens/all.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tokens/tokenizert.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tokens/utils.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tools/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tools/importscan.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tools/mkrelimp.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/py/tools/pipdepup.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/resources/dockerdev.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/tools/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/tools/buildrs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/tools/pyversions.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/pyproject/versions.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/rs/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/formats/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/formats/goyaml.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/inject.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/io/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/lib/marshal.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tagstrings.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/diff.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/doc.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/docker.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/git/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/git/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/git/cloning.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/git/messages.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/jsonview/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/jsonview/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/jsonview/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/jsonview/resources/jsonview.css +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/jsonview/resources/jsonview.js +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/pawk/README.md +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/pip.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/prof.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/qr.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/shadow.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/shell.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/edit/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/edit/main.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/irc/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/irc/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/irc/app.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/irc/client.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/irc/commands.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/irc/main.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/markdown/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/markdown/__main__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/apps/markdown/cli.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/rich/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/rich/console2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/rich/markdown2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/app2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/autocomplete/LICENSE +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/autocomplete/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/autocomplete/matching.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/autocomplete/paths.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/autocomplete/widget.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/binding2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/clipboard.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/debug/__init__.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/debug/dominfo.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/debug/screen.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/devtools.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/drivers2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/logging2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/screen2.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev/tui/textual/types.py +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev.egg-info/SOURCES.txt +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.0.dev534 → omdev-0.0.0.dev536}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev536
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -14,9 +14,9 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
14
14
|
Requires-Python: >=3.13
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: omlish==0.0.0.
|
|
17
|
+
Requires-Dist: omlish==0.0.0.dev536
|
|
18
18
|
Provides-Extra: all
|
|
19
|
-
Requires-Dist: black~=26.
|
|
19
|
+
Requires-Dist: black~=26.3; extra == "all"
|
|
20
20
|
Requires-Dist: pycparser~=3.0; extra == "all"
|
|
21
21
|
Requires-Dist: pcpp~=1.30; extra == "all"
|
|
22
22
|
Requires-Dist: docutils~=0.22; extra == "all"
|
|
@@ -31,7 +31,7 @@ Requires-Dist: textual~=8.0; extra == "all"
|
|
|
31
31
|
Requires-Dist: textual-dev~=1.8; extra == "all"
|
|
32
32
|
Requires-Dist: textual-speedups~=0.2; extra == "all"
|
|
33
33
|
Provides-Extra: black
|
|
34
|
-
Requires-Dist: black~=26.
|
|
34
|
+
Requires-Dist: black~=26.3; extra == "black"
|
|
35
35
|
Provides-Extra: c
|
|
36
36
|
Requires-Dist: pycparser~=3.0; extra == "c"
|
|
37
37
|
Requires-Dist: pcpp~=1.30; extra == "c"
|
|
@@ -166,6 +166,10 @@ class BasePyprojectPackageGenerator(Abstract):
|
|
|
166
166
|
continue
|
|
167
167
|
|
|
168
168
|
log.info('Found pkgdata %s', p)
|
|
169
|
+
|
|
170
|
+
if not os.path.isfile(os.path.join(p, '__init__.py')):
|
|
171
|
+
raise RuntimeError(f'Cannot find __init__.py in {p}')
|
|
172
|
+
|
|
169
173
|
with open(os.path.join(p, f)) as fo:
|
|
170
174
|
src = fo.read()
|
|
171
175
|
|
|
@@ -149,7 +149,7 @@ def __omlish_amalg__(): # noqa
|
|
|
149
149
|
dict(path='../../omlish/http/handlers.py', sha1='2b97d76b8e2e507b5c5b6a241d077c00960ee638'),
|
|
150
150
|
dict(path='../../omlish/lite/inject.py', sha1='6f097e3170019a34ff6834d36fcc9cbeed3a7ab4'),
|
|
151
151
|
dict(path='../../omlish/logs/contexts.py', sha1='1000a6d5ddfb642865ca532e34b1d50759781cf0'),
|
|
152
|
-
dict(path='../../omlish/logs/std/standard.py', sha1='
|
|
152
|
+
dict(path='../../omlish/logs/std/standard.py', sha1='472f1f0623d6bcd301612551432afa7e3a661a34'),
|
|
153
153
|
dict(path='../../omlish/logs/utils.py', sha1='9b879044cbdc3172fd7282c7f2a4880b81261cdd'),
|
|
154
154
|
dict(path='../../omlish/sockets/server/handlers.py', sha1='6f9adca9fa04774a28a488a4e2a11bb4492c71d0'),
|
|
155
155
|
dict(path='../../omlish/subprocesses/run.py', sha1='8200e48f0c49d164df3503cd0143038d0c4d30aa'),
|
|
@@ -11528,7 +11528,7 @@ def configure_standard_logging(
|
|
|
11528
11528
|
#
|
|
11529
11529
|
|
|
11530
11530
|
if level is not None:
|
|
11531
|
-
target.setLevel(level)
|
|
11531
|
+
target.setLevel(level.upper() if isinstance(level, str) else level)
|
|
11532
11532
|
|
|
11533
11533
|
#
|
|
11534
11534
|
|
|
@@ -74,7 +74,7 @@ def __omlish_amalg__(): # noqa
|
|
|
74
74
|
dict(path='types.py', sha1='caf068a6e81fb6e221d777b341ac5777d92b8091'),
|
|
75
75
|
dict(path='../../omlish/asyncs/asyncio/timeouts.py', sha1='4d31b02b3c39b8f2fa7e94db36552fde6942e36a'),
|
|
76
76
|
dict(path='../../omlish/lite/inject.py', sha1='6f097e3170019a34ff6834d36fcc9cbeed3a7ab4'),
|
|
77
|
-
dict(path='../../omlish/logs/std/standard.py', sha1='
|
|
77
|
+
dict(path='../../omlish/logs/std/standard.py', sha1='472f1f0623d6bcd301612551432afa7e3a661a34'),
|
|
78
78
|
dict(path='../../omlish/subprocesses/run.py', sha1='8200e48f0c49d164df3503cd0143038d0c4d30aa'),
|
|
79
79
|
dict(path='../../omlish/subprocesses/wrap.py', sha1='8a9b7d2255481fae15c05f5624b0cdc0766f4b3f'),
|
|
80
80
|
dict(path='providers/base.py', sha1='f5d068c21f230d742e9015b033cd6320f4c68898'),
|
|
@@ -4647,7 +4647,7 @@ def configure_standard_logging(
|
|
|
4647
4647
|
#
|
|
4648
4648
|
|
|
4649
4649
|
if level is not None:
|
|
4650
|
-
target.setLevel(level)
|
|
4650
|
+
target.setLevel(level.upper() if isinstance(level, str) else level)
|
|
4651
4651
|
|
|
4652
4652
|
#
|
|
4653
4653
|
|
|
@@ -26,16 +26,16 @@ def __omlish_amalg__(): # noqa
|
|
|
26
26
|
dict(path='errors.py', sha1='67ca85fd8741b5bfefe76c872ce1c30c18fab06f'),
|
|
27
27
|
dict(path='../../lite/abstract.py', sha1='a2fc3f3697fa8de5247761e9d554e70176f37aac'),
|
|
28
28
|
dict(path='../../lite/namespaces.py', sha1='27b12b6592403c010fb8b2a0af7c24238490d3a1'),
|
|
29
|
-
dict(path='types.py', sha1='
|
|
29
|
+
dict(path='types.py', sha1='8959d244de95eaf9f118cc3fd2d713d85e55ff36'),
|
|
30
30
|
dict(path='base.py', sha1='bdeaff419684dec34fd0dc59808a9686131992bc'),
|
|
31
31
|
dict(path='framing.py', sha1='dc2d7f638b042619fd3d95789c71532a29fd5fe4'),
|
|
32
32
|
dict(path='reading.py', sha1='7631635c46ab4b40bcaeb7c506cf15cb2d529a40'),
|
|
33
|
-
dict(path='utils.py', sha1='
|
|
34
|
-
dict(path='direct.py', sha1='
|
|
35
|
-
dict(path='scanning.py', sha1='
|
|
36
|
-
dict(path='adapters.py', sha1='
|
|
37
|
-
dict(path='linear.py', sha1='
|
|
38
|
-
dict(path='segmented.py', sha1='
|
|
33
|
+
dict(path='utils.py', sha1='eb08fa1d56284b078f973eea6796747b9bbdffdf'),
|
|
34
|
+
dict(path='direct.py', sha1='b01937212493e9a41644ac4e366e4cbab10332ce'),
|
|
35
|
+
dict(path='scanning.py', sha1='00522802dff772689be66151430754d4f9706dbc'),
|
|
36
|
+
dict(path='adapters.py', sha1='f38f33ef312c68ecda06ddee928e679fc86bd49e'),
|
|
37
|
+
dict(path='linear.py', sha1='82d8d806abd708e8d471f32cb49813be150bcf6a'),
|
|
38
|
+
dict(path='segmented.py', sha1='025cdf30e582a5a2b923e1859fbb4d3f367b811c'),
|
|
39
39
|
dict(path='_amalg.py', sha1='9c88a055447d7b37da1b356e6a1e00b7c4a9a3cb'),
|
|
40
40
|
],
|
|
41
41
|
)
|
|
@@ -48,7 +48,10 @@ def __omlish_amalg__(): # noqa
|
|
|
48
48
|
T = ta.TypeVar('T')
|
|
49
49
|
|
|
50
50
|
# types.py
|
|
51
|
-
|
|
51
|
+
BytesLike = ta.Union[bytes, bytearray, memoryview] # ta.TypeAlias
|
|
52
|
+
|
|
53
|
+
# utils.py
|
|
54
|
+
CanByteStreamBuffer = ta.Union[BytesLike, 'ByteStreamBufferLike'] # ta.TypeAlias
|
|
52
55
|
|
|
53
56
|
|
|
54
57
|
########################################
|
|
@@ -498,7 +501,7 @@ class MutableByteStreamBuffer(ByteStreamBuffer, Abstract):
|
|
|
498
501
|
raise NotImplementedError
|
|
499
502
|
|
|
500
503
|
@abc.abstractmethod
|
|
501
|
-
def write(self, data:
|
|
504
|
+
def write(self, data: BytesLike, /) -> None:
|
|
502
505
|
"""
|
|
503
506
|
Append `data` to the end of the readable region (after any existing unread bytes).
|
|
504
507
|
|
|
@@ -1042,22 +1045,23 @@ class ByteStreamBufferReader:
|
|
|
1042
1045
|
|
|
1043
1046
|
|
|
1044
1047
|
class ByteStreamBuffers(NamespaceClass):
|
|
1045
|
-
|
|
1046
|
-
def memoryview_to_bytes(mv: memoryview, /) -> bytes:
|
|
1047
|
-
if (((ot := type(obj := mv.obj)) is bytes or ot is bytearray or isinstance(obj, (bytes, bytearray))) and len(mv) == len(obj)): # type: ignore[arg-type] # noqa
|
|
1048
|
-
return obj # type: ignore[return-value]
|
|
1049
|
-
|
|
1050
|
-
return mv.tobytes()
|
|
1051
|
-
|
|
1052
|
-
##
|
|
1053
|
-
|
|
1054
|
-
_CAN_CONVERT_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
|
1048
|
+
_BYTES_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
|
1055
1049
|
bytes,
|
|
1056
1050
|
bytearray,
|
|
1051
|
+
)
|
|
1052
|
+
|
|
1053
|
+
_BYTES_LIKE_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
|
1054
|
+
*_BYTES_TYPES,
|
|
1057
1055
|
memoryview,
|
|
1056
|
+
)
|
|
1057
|
+
|
|
1058
|
+
_CAN_CONVERT_TYPES: ta.ClassVar[ta.Tuple[type, ...]] = (
|
|
1059
|
+
*_BYTES_LIKE_TYPES,
|
|
1058
1060
|
ByteStreamBufferLike,
|
|
1059
1061
|
)
|
|
1060
1062
|
|
|
1063
|
+
#
|
|
1064
|
+
|
|
1061
1065
|
@classmethod
|
|
1062
1066
|
def can_bytes(cls, obj: ta.Any, /) -> bool:
|
|
1063
1067
|
return type(obj) in (cts := cls._CAN_CONVERT_TYPES) or isinstance(obj, cts)
|
|
@@ -1066,77 +1070,89 @@ class ByteStreamBuffers(NamespaceClass):
|
|
|
1066
1070
|
|
|
1067
1071
|
@classmethod
|
|
1068
1072
|
@ta.overload
|
|
1069
|
-
def
|
|
1073
|
+
def to_bytes(
|
|
1074
|
+
cls,
|
|
1075
|
+
obj: ta.Any,
|
|
1076
|
+
/, *,
|
|
1077
|
+
strict: ta.Literal[True],
|
|
1078
|
+
or_none: ta.Literal[True],
|
|
1079
|
+
) -> ta.Optional[bytes]:
|
|
1070
1080
|
...
|
|
1071
1081
|
|
|
1072
1082
|
@classmethod
|
|
1073
1083
|
@ta.overload
|
|
1074
|
-
def
|
|
1084
|
+
def to_bytes(
|
|
1085
|
+
cls,
|
|
1086
|
+
obj: ta.Any,
|
|
1087
|
+
/, *,
|
|
1088
|
+
strict: ta.Literal[True],
|
|
1089
|
+
or_none: ta.Literal[False] = False,
|
|
1090
|
+
) -> bytes:
|
|
1075
1091
|
...
|
|
1076
1092
|
|
|
1077
|
-
@classmethod
|
|
1078
|
-
def buffer_to_bytes(cls, obj, or_none=False, /):
|
|
1079
|
-
if type(obj) is memoryview or isinstance(obj, memoryview):
|
|
1080
|
-
return cls.memoryview_to_bytes(obj)
|
|
1081
|
-
|
|
1082
|
-
elif isinstance(obj, ByteStreamBufferView):
|
|
1083
|
-
return obj.tobytes()
|
|
1084
|
-
|
|
1085
|
-
elif isinstance(obj, ByteStreamBufferLike):
|
|
1086
|
-
return b''.join(bytes(mv) for mv in obj.segments())
|
|
1087
|
-
|
|
1088
|
-
elif or_none:
|
|
1089
|
-
return None
|
|
1090
|
-
|
|
1091
|
-
else:
|
|
1092
|
-
raise TypeError(obj)
|
|
1093
|
-
|
|
1094
|
-
#
|
|
1095
|
-
|
|
1096
1093
|
@classmethod
|
|
1097
1094
|
@ta.overload
|
|
1098
|
-
def
|
|
1095
|
+
def to_bytes(
|
|
1096
|
+
cls,
|
|
1097
|
+
obj: ta.Any,
|
|
1098
|
+
/, *,
|
|
1099
|
+
strict: ta.Literal[False] = False,
|
|
1100
|
+
or_none: ta.Literal[True],
|
|
1101
|
+
) -> ta.Union[bytes, bytearray, None]:
|
|
1099
1102
|
...
|
|
1100
1103
|
|
|
1101
1104
|
@classmethod
|
|
1102
1105
|
@ta.overload
|
|
1103
|
-
def
|
|
1106
|
+
def to_bytes(
|
|
1107
|
+
cls,
|
|
1108
|
+
obj: ta.Any,
|
|
1109
|
+
/, *,
|
|
1110
|
+
strict: ta.Literal[False] = False,
|
|
1111
|
+
or_none: ta.Literal[False] = False,
|
|
1112
|
+
) -> ta.Union[bytes, bytearray]:
|
|
1104
1113
|
...
|
|
1105
1114
|
|
|
1106
1115
|
@classmethod
|
|
1107
|
-
def
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1116
|
+
def to_bytes(
|
|
1117
|
+
cls,
|
|
1118
|
+
obj,
|
|
1119
|
+
/, *,
|
|
1120
|
+
strict=False,
|
|
1121
|
+
or_none=False,
|
|
1122
|
+
):
|
|
1123
|
+
"""
|
|
1124
|
+
Returns a non-shared version of the given object. If a possibly shared memoryview is acceptable, use
|
|
1125
|
+
`iter_segments`.
|
|
1126
|
+
"""
|
|
1127
|
+
|
|
1128
|
+
if strict:
|
|
1129
|
+
if (ot := type(obj)) is bytes or isinstance(obj, bytes):
|
|
1130
|
+
return obj
|
|
1131
|
+
|
|
1132
|
+
elif ot is bytearray:
|
|
1133
|
+
return bytes(obj)
|
|
1112
1134
|
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
elif isinstance(obj, bytearray):
|
|
1116
|
-
return bytes(obj)
|
|
1135
|
+
elif isinstance(obj, memoryview):
|
|
1136
|
+
return cls.memoryview_to_bytes_strict(obj)
|
|
1117
1137
|
|
|
1118
1138
|
else:
|
|
1119
|
-
|
|
1139
|
+
if (ot := type(obj)) is bytes or ot is bytearray or isinstance(obj, cls._BYTES_TYPES):
|
|
1140
|
+
return obj
|
|
1120
1141
|
|
|
1121
|
-
|
|
1142
|
+
elif isinstance(obj, memoryview):
|
|
1143
|
+
return cls.memoryview_to_bytes(obj)
|
|
1122
1144
|
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
def any_to_bytes_or_bytearray(cls, obj: ta.Any, or_none: ta.Literal[True], /) -> ta.Union[bytes, bytearray, None]:
|
|
1126
|
-
...
|
|
1145
|
+
if isinstance(obj, ByteStreamBufferView):
|
|
1146
|
+
return obj.tobytes()
|
|
1127
1147
|
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
def any_to_bytes_or_bytearray(cls, obj: ta.Any, or_none: ta.Literal[False] = False, /) -> ta.Union[bytes, bytearray]: # noqa
|
|
1131
|
-
...
|
|
1148
|
+
elif isinstance(obj, ByteStreamBufferLike):
|
|
1149
|
+
return b''.join(bytes(mv) for mv in obj.segments())
|
|
1132
1150
|
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
if (ot := type(obj)) is bytes or ot is bytearray or isinstance(obj, (bytes, bytearray)):
|
|
1136
|
-
return obj
|
|
1151
|
+
elif or_none:
|
|
1152
|
+
return None
|
|
1137
1153
|
|
|
1138
1154
|
else:
|
|
1139
|
-
|
|
1155
|
+
raise TypeError(obj)
|
|
1140
1156
|
|
|
1141
1157
|
#
|
|
1142
1158
|
|
|
@@ -1161,7 +1177,7 @@ class ByteStreamBuffers(NamespaceClass):
|
|
|
1161
1177
|
else:
|
|
1162
1178
|
raise TypeError(obj)
|
|
1163
1179
|
|
|
1164
|
-
|
|
1180
|
+
#
|
|
1165
1181
|
|
|
1166
1182
|
@staticmethod
|
|
1167
1183
|
def iter_segments(obj: ta.Any, /) -> ta.Iterator[memoryview]:
|
|
@@ -1181,6 +1197,8 @@ class ByteStreamBuffers(NamespaceClass):
|
|
|
1181
1197
|
else:
|
|
1182
1198
|
raise TypeError(obj)
|
|
1183
1199
|
|
|
1200
|
+
#
|
|
1201
|
+
|
|
1184
1202
|
@staticmethod
|
|
1185
1203
|
def split(buf: ByteStreamBuffer, sep: bytes, /, *, final: bool = False) -> ta.List[ByteStreamBufferView]:
|
|
1186
1204
|
out: ta.List[ByteStreamBufferView] = []
|
|
@@ -1190,6 +1208,22 @@ class ByteStreamBuffers(NamespaceClass):
|
|
|
1190
1208
|
out.append(buf.split_to(len(buf)))
|
|
1191
1209
|
return out
|
|
1192
1210
|
|
|
1211
|
+
#
|
|
1212
|
+
|
|
1213
|
+
@classmethod
|
|
1214
|
+
def memoryview_to_bytes(cls, mv: memoryview, /) -> ta.Union[bytes, bytearray]:
|
|
1215
|
+
if (((ot := type(obj := mv.obj)) is bytes or ot is bytearray or isinstance(obj, cls._BYTES_TYPES)) and len(mv) == len(obj)): # type: ignore[arg-type] # noqa
|
|
1216
|
+
return obj # type: ignore[return-value]
|
|
1217
|
+
|
|
1218
|
+
return mv.tobytes()
|
|
1219
|
+
|
|
1220
|
+
@staticmethod
|
|
1221
|
+
def memoryview_to_bytes_strict(mv: memoryview, /) -> bytes:
|
|
1222
|
+
if (((ot := type(obj := mv.obj)) is bytes or isinstance(obj, bytes)) and len(mv) == len(obj)): # type: ignore[arg-type] # noqa
|
|
1223
|
+
return obj # type: ignore[return-value]
|
|
1224
|
+
|
|
1225
|
+
return mv.tobytes()
|
|
1226
|
+
|
|
1193
1227
|
|
|
1194
1228
|
########################################
|
|
1195
1229
|
# ../direct.py
|
|
@@ -1199,7 +1233,7 @@ class ByteStreamBuffers(NamespaceClass):
|
|
|
1199
1233
|
|
|
1200
1234
|
|
|
1201
1235
|
class BaseDirectByteStreamBufferLike(BaseByteStreamBufferLike, Abstract):
|
|
1202
|
-
def __init__(self, data:
|
|
1236
|
+
def __init__(self, data: BytesLike) -> None:
|
|
1203
1237
|
super().__init__()
|
|
1204
1238
|
|
|
1205
1239
|
self._data = data
|
|
@@ -1279,7 +1313,7 @@ class DirectByteStreamBuffer(BaseDirectByteStreamBufferLike, ByteStreamBuffer):
|
|
|
1279
1313
|
b'GET /path HTTP/1.1\\r\\nHost: example.com'
|
|
1280
1314
|
"""
|
|
1281
1315
|
|
|
1282
|
-
def __init__(self, data:
|
|
1316
|
+
def __init__(self, data: BytesLike) -> None:
|
|
1283
1317
|
super().__init__(data)
|
|
1284
1318
|
|
|
1285
1319
|
self._rpos = 0
|
|
@@ -1445,7 +1479,7 @@ class ScanningByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffer
|
|
|
1445
1479
|
|
|
1446
1480
|
#
|
|
1447
1481
|
|
|
1448
|
-
def write(self, data:
|
|
1482
|
+
def write(self, data: BytesLike, /) -> None:
|
|
1449
1483
|
self._buf.write(data)
|
|
1450
1484
|
|
|
1451
1485
|
def reserve(self, n: int, /) -> memoryview:
|
|
@@ -1643,7 +1677,7 @@ class BytesIoByteStreamBuffer(MutableByteStreamBuffer):
|
|
|
1643
1677
|
def __init__(
|
|
1644
1678
|
self,
|
|
1645
1679
|
*,
|
|
1646
|
-
compaction_threshold: int =
|
|
1680
|
+
compaction_threshold: int = 64 * 1024,
|
|
1647
1681
|
) -> None:
|
|
1648
1682
|
super().__init__()
|
|
1649
1683
|
|
|
@@ -1698,7 +1732,7 @@ class BytesIoByteStreamBuffer(MutableByteStreamBuffer):
|
|
|
1698
1732
|
self._rpos += n
|
|
1699
1733
|
return DirectByteStreamBufferView(out)
|
|
1700
1734
|
|
|
1701
|
-
def write(self, data:
|
|
1735
|
+
def write(self, data: BytesLike, /) -> None:
|
|
1702
1736
|
if not data:
|
|
1703
1737
|
return
|
|
1704
1738
|
if isinstance(data, memoryview):
|
|
@@ -1795,7 +1829,7 @@ class LinearByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffer):
|
|
|
1795
1829
|
*,
|
|
1796
1830
|
max_size: ta.Optional[int] = None,
|
|
1797
1831
|
initial_capacity: int = 0,
|
|
1798
|
-
compact_threshold: int =
|
|
1832
|
+
compact_threshold: int = 64 * 1024,
|
|
1799
1833
|
) -> None:
|
|
1800
1834
|
super().__init__()
|
|
1801
1835
|
|
|
@@ -1851,7 +1885,7 @@ class LinearByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffer):
|
|
|
1851
1885
|
if self._resv_start is not None:
|
|
1852
1886
|
raise OutstandingReserveByteStreamBufferError('outstanding reserve')
|
|
1853
1887
|
|
|
1854
|
-
def write(self, data:
|
|
1888
|
+
def write(self, data: BytesLike, /) -> None:
|
|
1855
1889
|
self._check_no_reserve()
|
|
1856
1890
|
if not data:
|
|
1857
1891
|
return
|
|
@@ -1939,7 +1973,7 @@ class LinearByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffer):
|
|
|
1939
1973
|
return _EMPTY_DIRECT_BYTE_STREAM_BUFFER_VIEW
|
|
1940
1974
|
|
|
1941
1975
|
# Copy out the split prefix to keep the view stable even if the underlying buffer compacts.
|
|
1942
|
-
b =
|
|
1976
|
+
b = ByteStreamBuffers.memoryview_to_bytes(memoryview(self._ba)[self._rpos:self._rpos + n])
|
|
1943
1977
|
self._rpos += n
|
|
1944
1978
|
|
|
1945
1979
|
# If we consumed everything, reset best-effort; otherwise allow compaction policy to handle later.
|
|
@@ -2075,7 +2109,21 @@ class SegmentedByteStreamBufferView(BaseByteStreamBufferLike, ByteStreamBufferVi
|
|
|
2075
2109
|
|
|
2076
2110
|
self._segs = tuple(segs)
|
|
2077
2111
|
for mv in self._segs:
|
|
2078
|
-
|
|
2112
|
+
if (mvl := len(mv)) < 1:
|
|
2113
|
+
raise ValueError('Empty segment')
|
|
2114
|
+
self._len += mvl
|
|
2115
|
+
|
|
2116
|
+
@classmethod
|
|
2117
|
+
def of_opt(cls, segs: ta.Sequence[memoryview]) -> ta.Optional['SegmentedByteStreamBufferView']:
|
|
2118
|
+
if not segs:
|
|
2119
|
+
return None
|
|
2120
|
+
return cls(segs)
|
|
2121
|
+
|
|
2122
|
+
@classmethod
|
|
2123
|
+
def or_else(cls, segs: ta.Sequence[memoryview], default: T) -> ta.Union['SegmentedByteStreamBufferView', T]:
|
|
2124
|
+
if not segs:
|
|
2125
|
+
return default
|
|
2126
|
+
return cls(segs)
|
|
2079
2127
|
|
|
2080
2128
|
_len = 0
|
|
2081
2129
|
|
|
@@ -2094,8 +2142,8 @@ class SegmentedByteStreamBufferView(BaseByteStreamBufferLike, ByteStreamBufferVi
|
|
|
2094
2142
|
if not self._segs:
|
|
2095
2143
|
return b''
|
|
2096
2144
|
if len(self._segs) == 1:
|
|
2097
|
-
return
|
|
2098
|
-
return b''.join(
|
|
2145
|
+
return ByteStreamBuffers.memoryview_to_bytes(self._segs[0])
|
|
2146
|
+
return b''.join(ByteStreamBuffers.memoryview_to_bytes(mv) for mv in self._segs)
|
|
2099
2147
|
|
|
2100
2148
|
|
|
2101
2149
|
class SegmentedByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffer):
|
|
@@ -2260,7 +2308,7 @@ class SegmentedByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffe
|
|
|
2260
2308
|
if self._chunk_size and (float(used) / float(self._chunk_size)) < self._chunk_compact_threshold:
|
|
2261
2309
|
if not self._segs or self._segs[-1] is not a:
|
|
2262
2310
|
raise RuntimeError('active not at tail')
|
|
2263
|
-
self._segs[-1] =
|
|
2311
|
+
self._segs[-1] = ByteStreamBuffers.memoryview_to_bytes(memoryview(a)[:used])
|
|
2264
2312
|
|
|
2265
2313
|
else:
|
|
2266
2314
|
# Try to shrink in-place to used bytes. If exported views exist, this can BufferError; fall back to bytes()
|
|
@@ -2270,12 +2318,12 @@ class SegmentedByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffe
|
|
|
2270
2318
|
try:
|
|
2271
2319
|
del a[used:] # may raise BufferError if any exports exist
|
|
2272
2320
|
except BufferError:
|
|
2273
|
-
self._segs[-1] =
|
|
2321
|
+
self._segs[-1] = ByteStreamBuffers.memoryview_to_bytes(memoryview(a)[:used])
|
|
2274
2322
|
|
|
2275
2323
|
self._active = None
|
|
2276
2324
|
self._active_used = 0
|
|
2277
2325
|
|
|
2278
|
-
def write(self, data:
|
|
2326
|
+
def write(self, data: BytesLike, /) -> None:
|
|
2279
2327
|
if not data:
|
|
2280
2328
|
return
|
|
2281
2329
|
if isinstance(data, memoryview):
|
|
@@ -2386,7 +2434,7 @@ class SegmentedByteStreamBuffer(BaseByteStreamBufferLike, MutableByteStreamBuffe
|
|
|
2386
2434
|
self._segs.append(b)
|
|
2387
2435
|
self._len += n
|
|
2388
2436
|
else:
|
|
2389
|
-
bb =
|
|
2437
|
+
bb = ByteStreamBuffers.memoryview_to_bytes(memoryview(b)[:n])
|
|
2390
2438
|
self._segs.append(bb)
|
|
2391
2439
|
self._len += n
|
|
2392
2440
|
|
|
@@ -43,7 +43,7 @@ def __omlish_amalg__(): # noqa
|
|
|
43
43
|
dict(path='metrics/base.py', sha1='95120732c745ceec5333f81553761ab6ff4bb3fb'),
|
|
44
44
|
dict(path='std/json.py', sha1='2a75553131e4d5331bb0cedde42aa183f403fc3b'),
|
|
45
45
|
dict(path='contexts.py', sha1='1000a6d5ddfb642865ca532e34b1d50759781cf0'),
|
|
46
|
-
dict(path='std/standard.py', sha1='
|
|
46
|
+
dict(path='std/standard.py', sha1='472f1f0623d6bcd301612551432afa7e3a661a34'),
|
|
47
47
|
dict(path='base.py', sha1='eaa2ce213235815e2f86c50df6c41cfe26a43ba2'),
|
|
48
48
|
dict(path='std/records.py', sha1='67e552537d9268d4df6939b8a92be885fda35238'),
|
|
49
49
|
dict(path='std/loggers.py', sha1='dbdfc66188e6accb75d03454e43221d3fba0f011'),
|
|
@@ -1355,7 +1355,7 @@ def configure_standard_logging(
|
|
|
1355
1355
|
#
|
|
1356
1356
|
|
|
1357
1357
|
if level is not None:
|
|
1358
|
-
target.setLevel(level)
|
|
1358
|
+
target.setLevel(level.upper() if isinstance(level, str) else level)
|
|
1359
1359
|
|
|
1360
1360
|
#
|
|
1361
1361
|
|
|
@@ -124,7 +124,7 @@ def __omlish_amalg__(): # noqa
|
|
|
124
124
|
dict(path='../../omlish/asyncs/asyncio/timeouts.py', sha1='4d31b02b3c39b8f2fa7e94db36552fde6942e36a'),
|
|
125
125
|
dict(path='../../omlish/lite/inject.py', sha1='6f097e3170019a34ff6834d36fcc9cbeed3a7ab4'),
|
|
126
126
|
dict(path='../../omlish/logs/contexts.py', sha1='1000a6d5ddfb642865ca532e34b1d50759781cf0'),
|
|
127
|
-
dict(path='../../omlish/logs/std/standard.py', sha1='
|
|
127
|
+
dict(path='../../omlish/logs/std/standard.py', sha1='472f1f0623d6bcd301612551432afa7e3a661a34'),
|
|
128
128
|
dict(path='../../omlish/subprocesses/run.py', sha1='8200e48f0c49d164df3503cd0143038d0c4d30aa'),
|
|
129
129
|
dict(path='../../omlish/subprocesses/wrap.py', sha1='8a9b7d2255481fae15c05f5624b0cdc0766f4b3f'),
|
|
130
130
|
dict(path='../interp/providers/base.py', sha1='f5d068c21f230d742e9015b033cd6320f4c68898'),
|
|
@@ -148,7 +148,7 @@ def __omlish_amalg__(): # noqa
|
|
|
148
148
|
dict(path='../interp/providers/system.py', sha1='9638a154475ca98775159d27739563ac7fb2eb16'),
|
|
149
149
|
dict(path='../interp/pyenv/install.py', sha1='4a10a19717364b4ba9f3b8bf1d12621cf21ba8b8'),
|
|
150
150
|
dict(path='../interp/uv/provider.py', sha1='3c3980878ad2b9fd2cd02172f9424954759c7f06'),
|
|
151
|
-
dict(path='pkg.py', sha1='
|
|
151
|
+
dict(path='pkg.py', sha1='2f0b5dc8cb359ee4d499f5a52a62b790b5557a3b'),
|
|
152
152
|
dict(path='../interp/providers/inject.py', sha1='7cc9ebf58cf2ec09545321456bd9da9f9a3a79fb'),
|
|
153
153
|
dict(path='../interp/pyenv/provider.py', sha1='377542ce01a35849e2a5b4a4dbafedc26882f983'),
|
|
154
154
|
dict(path='../interp/uv/inject.py', sha1='e95d058c2340baa5a3155ec3440f311d1daa10a8'),
|
|
@@ -8558,7 +8558,7 @@ def configure_standard_logging(
|
|
|
8558
8558
|
#
|
|
8559
8559
|
|
|
8560
8560
|
if level is not None:
|
|
8561
|
-
target.setLevel(level)
|
|
8561
|
+
target.setLevel(level.upper() if isinstance(level, str) else level)
|
|
8562
8562
|
|
|
8563
8563
|
#
|
|
8564
8564
|
|
|
@@ -11799,6 +11799,10 @@ class BasePyprojectPackageGenerator(Abstract):
|
|
|
11799
11799
|
continue
|
|
11800
11800
|
|
|
11801
11801
|
log.info('Found pkgdata %s', p)
|
|
11802
|
+
|
|
11803
|
+
if not os.path.isfile(os.path.join(p, '__init__.py')):
|
|
11804
|
+
raise RuntimeError(f'Cannot find __init__.py in {p}')
|
|
11805
|
+
|
|
11802
11806
|
with open(os.path.join(p, f)) as fo:
|
|
11803
11807
|
src = fo.read()
|
|
11804
11808
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# ruff: noqa: UP006 UP007 UP045
|
|
2
|
-
# @omlish-precheck-allow-any-unicode
|
|
3
2
|
"""
|
|
4
3
|
TODO:
|
|
5
4
|
- Handle:
|
|
@@ -480,12 +479,6 @@ class Cli(ap.Cli):
|
|
|
480
479
|
|
|
481
480
|
#
|
|
482
481
|
|
|
483
|
-
BUILTIN_COMMIT_MESSAGES: ta.Mapping[str, str] = {
|
|
484
|
-
'tableflip': '(╯°□°)╯︵ ┻━┻',
|
|
485
|
-
'tableunflip': '┬─┬ノ(º _ ºノ)',
|
|
486
|
-
'shrug': r'¯\_(ツ)_/¯',
|
|
487
|
-
}
|
|
488
|
-
|
|
489
482
|
@ap.cmd(
|
|
490
483
|
ap.arg('-M', '--builtin-message', nargs='?'),
|
|
491
484
|
accepts_unknown=True,
|
|
@@ -494,7 +487,7 @@ class Cli(ap.Cli):
|
|
|
494
487
|
args: list[str] = []
|
|
495
488
|
|
|
496
489
|
if (bim := self.args.builtin_message) is not None:
|
|
497
|
-
args.extend(['-m',
|
|
490
|
+
args.extend(['-m', consts.BUILTIN_COMMIT_MESSAGES[bim]])
|
|
498
491
|
|
|
499
492
|
subprocesses.check_call(
|
|
500
493
|
'git',
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# @omlish-precheck-allow-any-unicode
|
|
2
|
+
import typing as ta
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
DEFAULT_TIME_FMT = '%Y-%m-%dT%H:%M:%SZ'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
BUILTIN_COMMIT_MESSAGES: ta.Mapping[str, str] = {
|
|
12
|
+
'tableflip': '(╯°□°)╯︵ ┻━┻',
|
|
13
|
+
'tableunflip': '┬─┬ノ(º _ ºノ)',
|
|
14
|
+
'shrug': r'¯\_(ツ)_/¯',
|
|
15
|
+
}
|
|
@@ -171,6 +171,7 @@ with _lang.auto_proxy_init(globals()):
|
|
|
171
171
|
from textual.suggestions import get_suggestions # noqa
|
|
172
172
|
from textual.timer import Timer # noqa
|
|
173
173
|
from textual.timer import TimerCallback # noqa
|
|
174
|
+
from textual.visual import VisualType # noqa
|
|
174
175
|
from textual.widget import Widget # noqa
|
|
175
176
|
from textual.widgets import Button # noqa
|
|
176
177
|
from textual.widgets import Checkbox # noqa
|
|
@@ -231,6 +232,10 @@ with _lang.auto_proxy_init(globals()):
|
|
|
231
232
|
|
|
232
233
|
##
|
|
233
234
|
|
|
235
|
+
from rich.text import Text # noqa
|
|
236
|
+
|
|
237
|
+
##
|
|
238
|
+
|
|
234
239
|
from .app2 import ( # noqa
|
|
235
240
|
App,
|
|
236
241
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev536
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -14,9 +14,9 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
14
14
|
Requires-Python: >=3.13
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: omlish==0.0.0.
|
|
17
|
+
Requires-Dist: omlish==0.0.0.dev536
|
|
18
18
|
Provides-Extra: all
|
|
19
|
-
Requires-Dist: black~=26.
|
|
19
|
+
Requires-Dist: black~=26.3; extra == "all"
|
|
20
20
|
Requires-Dist: pycparser~=3.0; extra == "all"
|
|
21
21
|
Requires-Dist: pcpp~=1.30; extra == "all"
|
|
22
22
|
Requires-Dist: docutils~=0.22; extra == "all"
|
|
@@ -31,7 +31,7 @@ Requires-Dist: textual~=8.0; extra == "all"
|
|
|
31
31
|
Requires-Dist: textual-dev~=1.8; extra == "all"
|
|
32
32
|
Requires-Dist: textual-speedups~=0.2; extra == "all"
|
|
33
33
|
Provides-Extra: black
|
|
34
|
-
Requires-Dist: black~=26.
|
|
34
|
+
Requires-Dist: black~=26.3; extra == "black"
|
|
35
35
|
Provides-Extra: c
|
|
36
36
|
Requires-Dist: pycparser~=3.0; extra == "c"
|
|
37
37
|
Requires-Dist: pcpp~=1.30; extra == "c"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
omlish==0.0.0.
|
|
1
|
+
omlish==0.0.0.dev536
|
|
2
2
|
|
|
3
3
|
[all]
|
|
4
|
-
black~=26.
|
|
4
|
+
black~=26.3
|
|
5
5
|
pycparser~=3.0
|
|
6
6
|
pcpp~=1.30
|
|
7
7
|
docutils~=0.22
|
|
@@ -17,7 +17,7 @@ textual-dev~=1.8
|
|
|
17
17
|
textual-speedups~=0.2
|
|
18
18
|
|
|
19
19
|
[black]
|
|
20
|
-
black~=26.
|
|
20
|
+
black~=26.3
|
|
21
21
|
|
|
22
22
|
[c]
|
|
23
23
|
pycparser~=3.0
|