omdev 0.0.14__tar.gz → 0.0.16__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.14/omdev.egg-info → omdev-0.0.16}/PKG-INFO +6 -6
- {omdev-0.0.14 → omdev-0.0.16}/omdev/.omlish-manifests.json +4 -4
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/ccompiler.py +32 -3
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/options.py +2 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/unixccompiler.py +5 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/dir_util.py +2 -1
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/file_util.py +3 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/modified.py +1 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/spawn.py +2 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/sysconfig.py +14 -1
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/util.py +4 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/version.py +1 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/cmake.py +0 -1
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/api.py +0 -1
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/clicli.py +1 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/install.py +1 -3
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/types.py +1 -3
- omdev-0.0.16/omdev/dockerdev/build.py +81 -0
- omdev-0.0.16/omdev/dockerdev/cli.py +149 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/gen.py +1 -1
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/rendering.py +15 -15
- omdev-0.0.16/omdev/dockerdev/resources/shift-uid.sh +35 -0
- omdev-0.0.16/omdev/dockerdev/run.py +241 -0
- omdev-0.0.16/omdev/dockerdev/utils.py +29 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/media.py +3 -1
- omdev-0.0.16/omdev/py/__init__.py +1 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/bracepy.py +1 -3
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/tokenizert.py +1 -0
- omdev-0.0.16/omdev/py/tools/fixdocstrings.py +567 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/ci.py +7 -8
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/formats/goyaml.py +2 -4
- omdev-0.0.16/omdev/scripts/pidfiles.py +4731 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/rendering.py +2 -2
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/pawk.py +2 -1
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/__init__.py +1 -3
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/trirule.py +45 -11
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/devtools.py +1 -3
- {omdev-0.0.14 → omdev-0.0.16/omdev.egg-info}/PKG-INFO +6 -6
- {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/SOURCES.txt +6 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/requires.txt +5 -5
- {omdev-0.0.14 → omdev-0.0.16}/pyproject.toml +7 -6
- omdev-0.0.14/omdev/dockerdev/cli.py +0 -303
- omdev-0.0.14/omdev/py/__init__.py +0 -3
- {omdev-0.0.14 → omdev-0.0.16}/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/MANIFEST.in +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/README.md +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/README.md +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/__about__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/cli/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/cli/main.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/gen.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/imports.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/manifests.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/resources.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/srcfiles.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/strip.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/gen/typing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/info.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/amalg/sources.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/aps.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/ax.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/cf.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/darwin/cg.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/linux/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/capi/linux/x11.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cc/srclangs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/build.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/cache.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/ci.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/compose.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/consts.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cacheserved/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cacheserved/cache.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cacheserved/manifests.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/clients.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v1/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v1/api.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v1/client.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/azure.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/api/v2/client.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/shell.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/ci/utils.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/main.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/managers.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cli/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/capi/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/capi/darwin_cf.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/capi/linux_x11.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/commands.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/clipboard/platform.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cmake.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/_cmdlog.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/cmdlog/cmdlog.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/_dumping.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/_template.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/codegen.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataclasses/dumping.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/parsing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/rendering.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/diffs/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/config.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/config.toml +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/content.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/helpers.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/ops.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/.python-versions.json +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/configs/.vimrc +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/depsets/python.toml +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/depsets/system.toml +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/chgrp.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/go.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/man.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/user.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/workdir.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/scripts/install-claude +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/scripts/install-codex +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/git/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/git/magic.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/git/revisions.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/git/shallow.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/git/status.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/home/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/home/paths.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/home/secrets.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/home/shadow.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/imgur.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/ides.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/intellij/open.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/default.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/base.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/formats.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/messages.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/messages/parsing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/formats.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/numerics.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/numerics/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/consts.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/errors.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/message.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/nuh.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/parsing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/rendering.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/tags.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/irc/protocol/utils.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/java/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/java/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/java/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/java/pomgen.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/java/utils.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/java/xml.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/find.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/magic.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/magic/styles.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/_dumping.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/building.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/dumping.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/manifests/main.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/markdown/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/markdown/incparse.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/markdown/tokens.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/mypy/report.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/building.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/compression.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/data.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/datarefs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/dataserver.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/loading.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/packing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/repositories.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/pack/unpacking.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/repositories.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/oci/tars.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/names.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/requires.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/revisions.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/packaging/wheelfile.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pip.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/base.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/blanklines.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/caches.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/git.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/imports.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/main.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/precheck/unicode.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/parents.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/toplevel.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/asts/visitors.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/attrdocs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/classdot.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/attrdoc.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/common.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/epydoc.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/google.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/numpydoc.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/parser.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/docstrings/rest.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/findimports.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/reprs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/bumpversion.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/execstat.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/scripts/importtrace.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/srcheaders.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/all.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tokens/utils.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/importscan.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/mkrelimp.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/py/tools/pipdepup.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/resources/dockerdev.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/aboutdeps.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/buildrs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/tools/pyversions.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/pyproject/versions.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/rs/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/formats/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/inject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/io/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/io/pipelines.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/io/streams.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/logs.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/lib/marshal.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/supervisor/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/supervisor/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/supervisor/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tagstrings.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/cloc.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/diff.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/doc.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/docker.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/cloning.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/consts.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/git/messages.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/resources/jsonview.css +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/jsonview/resources/jsonview.js +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/README.md +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/pip.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/prof.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/qr.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/shadow.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/shell.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/edit/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/edit/main.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/app.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/client.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/commands.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/irc/main.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/app.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/styles/layout.tcss +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/utils.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/jtree/widgets.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/markdown/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/markdown/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/apps/markdown/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/console2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/__main__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/_compat.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/cli.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/renderables.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/rendering.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/diff/underlinebar.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/markdown2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/dark.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/dump.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/rich/textual/themes.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/actionmenu.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/app2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/LICENSE +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/matching.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/paths.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/autocomplete/widget.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/binding2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/clipboard.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/debug/__init__.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/debug/dominfo.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/debug/screen.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/dom2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/drivers2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/logging2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/render2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/screen2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/types.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev/tui/textual/widgets2.py +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.14 → omdev-0.0.16}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.16
|
|
4
4
|
Summary: omdev
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -14,10 +14,10 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
14
14
|
Requires-Python: >=3.14
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: omlish==0.0.
|
|
17
|
+
Requires-Dist: omlish==0.0.16
|
|
18
18
|
Provides-Extra: all
|
|
19
|
-
Requires-Dist: ominfra==0.0.
|
|
20
|
-
Requires-Dist: ommlds==0.0.
|
|
19
|
+
Requires-Dist: ominfra==0.0.16; extra == "all"
|
|
20
|
+
Requires-Dist: ommlds==0.0.16; extra == "all"
|
|
21
21
|
Requires-Dist: black~=26.3; extra == "all"
|
|
22
22
|
Requires-Dist: pycparser~=3.0; extra == "all"
|
|
23
23
|
Requires-Dist: pcpp~=1.30; extra == "all"
|
|
@@ -33,9 +33,9 @@ Requires-Dist: textual~=8.2; extra == "all"
|
|
|
33
33
|
Requires-Dist: textual-dev~=1.8; extra == "all"
|
|
34
34
|
Requires-Dist: textual-speedups~=0.2; extra == "all"
|
|
35
35
|
Provides-Extra: ominfra
|
|
36
|
-
Requires-Dist: ominfra==0.0.
|
|
36
|
+
Requires-Dist: ominfra==0.0.16; extra == "ominfra"
|
|
37
37
|
Provides-Extra: ommlds
|
|
38
|
-
Requires-Dist: ommlds==0.0.
|
|
38
|
+
Requires-Dist: ommlds==0.0.16; extra == "ommlds"
|
|
39
39
|
Provides-Extra: black
|
|
40
40
|
Requires-Dist: black~=26.3; extra == "black"
|
|
41
41
|
Provides-Extra: c
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"module": ".cexts.cmake",
|
|
28
28
|
"attr": "_CLI_MODULE",
|
|
29
29
|
"file": "omdev/cexts/cmake.py",
|
|
30
|
-
"line":
|
|
30
|
+
"line": 374,
|
|
31
31
|
"value": {
|
|
32
32
|
"!.cli.types.CliModule": {
|
|
33
33
|
"name": "cmake",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"module": ".cli.clicli",
|
|
40
40
|
"attr": "_CLI_MODULE",
|
|
41
41
|
"file": "omdev/cli/clicli.py",
|
|
42
|
-
"line":
|
|
42
|
+
"line": 323,
|
|
43
43
|
"value": {
|
|
44
44
|
"!.cli.types.CliModule": {
|
|
45
45
|
"name": "cli",
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
"module": ".py.bracepy",
|
|
210
210
|
"attr": "_CLI_MODULE",
|
|
211
211
|
"file": "omdev/py/bracepy.py",
|
|
212
|
-
"line":
|
|
212
|
+
"line": 92,
|
|
213
213
|
"value": {
|
|
214
214
|
"!.cli.types.CliModule": {
|
|
215
215
|
"name": "bracepy",
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"module": ".tools.pawk.pawk",
|
|
503
503
|
"attr": "_CLI_MODULE",
|
|
504
504
|
"file": "omdev/tools/pawk/pawk.py",
|
|
505
|
-
"line":
|
|
505
|
+
"line": 393,
|
|
506
506
|
"value": {
|
|
507
507
|
"!.cli.types.CliModule": {
|
|
508
508
|
"name": "pawk",
|
|
@@ -180,6 +180,7 @@ class CCompiler:
|
|
|
180
180
|
Ensures that every element of 'definitions' is a valid macro definition, ie. either (name,value) 2-tuple or a
|
|
181
181
|
(name,) tuple. Do nothing if all definitions are OK, raise TypeError otherwise.
|
|
182
182
|
"""
|
|
183
|
+
|
|
183
184
|
for defn in definitions:
|
|
184
185
|
if not (
|
|
185
186
|
isinstance(defn, tuple)
|
|
@@ -200,6 +201,7 @@ class CCompiler:
|
|
|
200
201
|
should be a string; if it is not supplied, then the macro will be defined without an explicit value and the
|
|
201
202
|
exact outcome depends on the compiler used (XXX true? does ANSI say anything about this?)
|
|
202
203
|
"""
|
|
204
|
+
|
|
203
205
|
# Delete from the list of macro definitions/undefinitions if already there (so that this one will take
|
|
204
206
|
# precedence).
|
|
205
207
|
i = self._find_macro(name)
|
|
@@ -215,6 +217,7 @@ class CCompiler:
|
|
|
215
217
|
redefinitions or undefinitions). If the macro is redefined/undefined on a per-compilation basis (ie. in the
|
|
216
218
|
call to 'compile()'), then that takes precedence.
|
|
217
219
|
"""
|
|
220
|
+
|
|
218
221
|
# Delete from the list of macro definitions/undefinitions if already there (so that this one will take
|
|
219
222
|
# precedence).
|
|
220
223
|
i = self._find_macro(name)
|
|
@@ -229,6 +232,7 @@ class CCompiler:
|
|
|
229
232
|
Add 'dir' to the list of directories that will be searched for header files. The compiler is instructed to
|
|
230
233
|
search directories in the order in which they are supplied by successive calls to 'add_include_dir()'.
|
|
231
234
|
"""
|
|
235
|
+
|
|
232
236
|
self.include_dirs.append(dir)
|
|
233
237
|
|
|
234
238
|
def set_include_dirs(self, dirs):
|
|
@@ -237,6 +241,7 @@ class CCompiler:
|
|
|
237
241
|
to 'add_include_dir()'; subsequence calls to 'add_include_dir()' add to the list passed to 'set_include_dirs()'.
|
|
238
242
|
This does not affect any list of standard include directories that the compiler may search by default.
|
|
239
243
|
"""
|
|
244
|
+
|
|
240
245
|
self.include_dirs = dirs[:]
|
|
241
246
|
|
|
242
247
|
def add_library(self, libname):
|
|
@@ -249,6 +254,7 @@ class CCompiler:
|
|
|
249
254
|
and/or 'set_libraries()'. It is perfectly valid to duplicate library names; the linker will be instructed to
|
|
250
255
|
link against libraries as many times as they are mentioned.
|
|
251
256
|
"""
|
|
257
|
+
|
|
252
258
|
self.libraries.append(libname)
|
|
253
259
|
|
|
254
260
|
def set_libraries(self, libnames):
|
|
@@ -256,6 +262,7 @@ class CCompiler:
|
|
|
256
262
|
Set the list of libraries to be included in all links driven by this compiler object to 'libnames' (a list of
|
|
257
263
|
strings). This does not affect any standard system libraries that the linker may include by default.
|
|
258
264
|
"""
|
|
265
|
+
|
|
259
266
|
self.libraries = libnames[:]
|
|
260
267
|
|
|
261
268
|
def add_library_dir(self, dir): # noqa
|
|
@@ -264,6 +271,7 @@ class CCompiler:
|
|
|
264
271
|
'set_libraries()'. The linker will be instructed to search for libraries in the order they are supplied to
|
|
265
272
|
'add_library_dir()' and/or 'set_library_dirs()'.
|
|
266
273
|
"""
|
|
274
|
+
|
|
267
275
|
self.library_dirs.append(dir)
|
|
268
276
|
|
|
269
277
|
def set_library_dirs(self, dirs):
|
|
@@ -271,12 +279,12 @@ class CCompiler:
|
|
|
271
279
|
Set the list of library search directories to 'dirs' (a list of strings). This does not affect any standard
|
|
272
280
|
library search path that the linker may search by default.
|
|
273
281
|
"""
|
|
282
|
+
|
|
274
283
|
self.library_dirs = dirs[:]
|
|
275
284
|
|
|
276
285
|
def add_runtime_library_dir(self, dir): # noqa
|
|
277
|
-
"""
|
|
278
|
-
|
|
279
|
-
"""
|
|
286
|
+
"""Add 'dir' to the list of directories that will be searched for shared libraries at runtime."""
|
|
287
|
+
|
|
280
288
|
self.runtime_library_dirs.append(dir)
|
|
281
289
|
|
|
282
290
|
def set_runtime_library_dirs(self, dirs):
|
|
@@ -284,6 +292,7 @@ class CCompiler:
|
|
|
284
292
|
Set the list of directories to search for shared libraries at runtime to 'dirs' (a list of strings). This does
|
|
285
293
|
not affect any standard search path that the runtime linker may search by default.
|
|
286
294
|
"""
|
|
295
|
+
|
|
287
296
|
self.runtime_library_dirs = dirs[:]
|
|
288
297
|
|
|
289
298
|
def add_link_object(self, object): # noqa
|
|
@@ -291,6 +300,7 @@ class CCompiler:
|
|
|
291
300
|
Add 'object' to the list of object files (or analogues, such as explicitly named library files or the output of
|
|
292
301
|
"resource compilers") to be included in every link driven by this compiler object.
|
|
293
302
|
"""
|
|
303
|
+
|
|
294
304
|
self.objects.append(object)
|
|
295
305
|
|
|
296
306
|
def set_link_objects(self, objects):
|
|
@@ -298,6 +308,7 @@ class CCompiler:
|
|
|
298
308
|
Set the list of object files (or analogues) to be included in every link to 'objects'. This does not affect any
|
|
299
309
|
standard object files that the linker may include by default (such as system libraries).
|
|
300
310
|
"""
|
|
311
|
+
|
|
301
312
|
self.objects = objects[:]
|
|
302
313
|
|
|
303
314
|
# -- Private utility methods --------------------------------------
|
|
@@ -307,6 +318,7 @@ class CCompiler:
|
|
|
307
318
|
|
|
308
319
|
def _setup_compile(self, outdir, macros, incdirs, sources, depends, extra):
|
|
309
320
|
"""Process arguments and decide which source files to compile."""
|
|
321
|
+
|
|
310
322
|
outdir, macros, incdirs = self._fix_compile_args(outdir, macros, incdirs)
|
|
311
323
|
|
|
312
324
|
if extra is None:
|
|
@@ -345,6 +357,7 @@ class CCompiler:
|
|
|
345
357
|
that the returned values are of the correct type, i.e. for 'output_dir' either string or None, and for 'macros'
|
|
346
358
|
and 'include_dirs' either list or None.
|
|
347
359
|
"""
|
|
360
|
+
|
|
348
361
|
if output_dir is None:
|
|
349
362
|
output_dir = self.output_dir
|
|
350
363
|
elif not isinstance(output_dir, str):
|
|
@@ -376,6 +389,7 @@ class CCompiler:
|
|
|
376
389
|
Determine the list of object files corresponding to 'sources', and figure out which ones really need to be
|
|
377
390
|
recompiled. Return a list of all object files and a dictionary telling which source files can be skipped.
|
|
378
391
|
"""
|
|
392
|
+
|
|
379
393
|
# Get the list of expected output (object) files
|
|
380
394
|
objects = self.object_filenames(sources, output_dir=output_dir)
|
|
381
395
|
check.equal(len(objects), len(sources))
|
|
@@ -389,6 +403,7 @@ class CCompiler:
|
|
|
389
403
|
Typecheck and fix up some arguments supplied to various methods. Specifically: ensure that 'objects' is a list;
|
|
390
404
|
if output_dir is None, replace with self.output_dir. Return fixed versions of 'objects' and 'output_dir'.
|
|
391
405
|
"""
|
|
406
|
+
|
|
392
407
|
if not isinstance(objects, (list, tuple)):
|
|
393
408
|
raise TypeError("'objects' must be a list or tuple of strings")
|
|
394
409
|
objects = list(objects)
|
|
@@ -406,6 +421,7 @@ class CCompiler:
|
|
|
406
421
|
arguments are lists, and augment them with their permanent versions (eg. 'self.libraries' augments 'libraries').
|
|
407
422
|
Return a tuple with fixed versions of all arguments.
|
|
408
423
|
"""
|
|
424
|
+
|
|
409
425
|
if libraries is None:
|
|
410
426
|
libraries = list(self.libraries)
|
|
411
427
|
elif isinstance(libraries, (list, tuple)):
|
|
@@ -434,6 +450,7 @@ class CCompiler:
|
|
|
434
450
|
|
|
435
451
|
def _need_link(self, objects, output_file):
|
|
436
452
|
"""Return true if we need to relink the files listed in 'objects' to recreate 'output_file'."""
|
|
453
|
+
|
|
437
454
|
if self.force:
|
|
438
455
|
return True
|
|
439
456
|
else:
|
|
@@ -447,6 +464,7 @@ class CCompiler:
|
|
|
447
464
|
"""
|
|
448
465
|
Detect the language of a given file, or list of files. Uses language_map, and language_order to do the job.
|
|
449
466
|
"""
|
|
467
|
+
|
|
450
468
|
if not isinstance(sources, list):
|
|
451
469
|
sources = [sources]
|
|
452
470
|
lang = None
|
|
@@ -529,6 +547,7 @@ class CCompiler:
|
|
|
529
547
|
|
|
530
548
|
Raises CompileError on failure.
|
|
531
549
|
"""
|
|
550
|
+
|
|
532
551
|
# A concrete compiler class can either override this method entirely or implement _compile().
|
|
533
552
|
macros, objects, extra_postargs, pp_opts, build = self._setup_compile(
|
|
534
553
|
output_dir, macros, include_dirs, sources, depends, extra_postargs,
|
|
@@ -547,6 +566,7 @@ class CCompiler:
|
|
|
547
566
|
|
|
548
567
|
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
|
|
549
568
|
"""Compile 'src' to product 'obj'."""
|
|
569
|
+
|
|
550
570
|
# A concrete compiler class that does not override compile() should implement _compile().
|
|
551
571
|
|
|
552
572
|
def create_static_lib(
|
|
@@ -628,6 +648,7 @@ class CCompiler:
|
|
|
628
648
|
|
|
629
649
|
Raises LinkError on failure.
|
|
630
650
|
"""
|
|
651
|
+
|
|
631
652
|
raise NotImplementedError
|
|
632
653
|
|
|
633
654
|
# Old 'link_*()' methods, rewritten to use the new 'link()' method.
|
|
@@ -729,16 +750,19 @@ class CCompiler:
|
|
|
729
750
|
|
|
730
751
|
def library_dir_option(self, dir): # noqa
|
|
731
752
|
"""Return the compiler option to add 'dir' to the list of directories searched for libraries."""
|
|
753
|
+
|
|
732
754
|
raise NotImplementedError
|
|
733
755
|
|
|
734
756
|
def runtime_library_dir_option(self, dir): # noqa
|
|
735
757
|
"""Return the compiler option to add 'dir' to the list of directories searched for runtime libraries."""
|
|
758
|
+
|
|
736
759
|
raise NotImplementedError
|
|
737
760
|
|
|
738
761
|
def library_option(self, lib):
|
|
739
762
|
"""
|
|
740
763
|
Return the compiler option to add 'lib' to the list of libraries linked into the shared library or executable.
|
|
741
764
|
"""
|
|
765
|
+
|
|
742
766
|
raise NotImplementedError
|
|
743
767
|
|
|
744
768
|
def has_function( # noqa: C901
|
|
@@ -759,6 +783,7 @@ class CCompiler:
|
|
|
759
783
|
The includes and include_dirs arguments are deprecated. Usually, supplying include files with function
|
|
760
784
|
declarations will cause function detection to fail even in cases where the symbol is available for linking.
|
|
761
785
|
"""
|
|
786
|
+
|
|
762
787
|
# this can't be included at module scope because it tries to import math which might not be available at that
|
|
763
788
|
# point - maybe the necessary logic should just be inlined?
|
|
764
789
|
import tempfile
|
|
@@ -829,6 +854,7 @@ int main (int argc, char **argv) {{
|
|
|
829
854
|
that file. If 'debug' true, look for a debugging version (if that makes sense on the current platform). Return
|
|
830
855
|
None if 'lib' wasn't found in any of the specified directories.
|
|
831
856
|
"""
|
|
857
|
+
|
|
832
858
|
raise NotImplementedError
|
|
833
859
|
|
|
834
860
|
# -- Filename generation methods -----------------------------------
|
|
@@ -890,6 +916,7 @@ int main (int argc, char **argv) {{
|
|
|
890
916
|
In order to ensure that a filename always honors the indicated output_dir, make sure it's relative. Ref
|
|
891
917
|
python/cpython#37775.
|
|
892
918
|
"""
|
|
919
|
+
|
|
893
920
|
# Chop off the drive
|
|
894
921
|
no_drive = os.path.splitdrive(base)[1]
|
|
895
922
|
# If abs, chop off leading /
|
|
@@ -969,6 +996,7 @@ def get_default_compiler(osname=None, platform=None):
|
|
|
969
996
|
|
|
970
997
|
The default values are os.name and sys.platform in case the parameters are not given.
|
|
971
998
|
"""
|
|
999
|
+
|
|
972
1000
|
if osname is None:
|
|
973
1001
|
osname = os.name
|
|
974
1002
|
if platform is None:
|
|
@@ -1004,6 +1032,7 @@ def new_compiler(
|
|
|
1004
1032
|
Visual C++ (MSVCCompiler class). Note that it's perfectly possible to ask for a Unix compiler object under Windows,
|
|
1005
1033
|
and a Microsoft compiler object under Unix -- if you supply a value for 'compiler', 'plat' is ignored.
|
|
1006
1034
|
"""
|
|
1035
|
+
|
|
1007
1036
|
if plat is None:
|
|
1008
1037
|
plat = os.name
|
|
1009
1038
|
|
|
@@ -21,6 +21,7 @@ def gen_preprocess_options(
|
|
|
21
21
|
names to be added to the header file search path (-I). Returns a list of command-line options suitable for either
|
|
22
22
|
Unix compilers or Visual C++.
|
|
23
23
|
"""
|
|
24
|
+
|
|
24
25
|
# it would be nice (mainly aesthetic, and so we don't generate stupid-looking command lines) to go over 'macros' and
|
|
25
26
|
# eliminate redundant definitions/undefinitions (ie. ensure that only the latest mention of a particular macro winds
|
|
26
27
|
# up on the command line). I don't think it's essential, though, since most (all?) Unix C compilers only pay
|
|
@@ -58,6 +59,7 @@ def gen_lib_options(
|
|
|
58
59
|
'library_dirs' are, respectively, lists of library names (not filenames!) and search directories. Returns a list of
|
|
59
60
|
command-line options suitable for use with some compiler (depending on the two format strings passed in).
|
|
60
61
|
"""
|
|
62
|
+
|
|
61
63
|
lib_opts = []
|
|
62
64
|
|
|
63
65
|
for dir in library_dirs: # noqa
|
|
@@ -70,6 +70,7 @@ def _split_env(cmd: list[str]) -> tuple[list[str], list[str]]:
|
|
|
70
70
|
>>> _split_env(['/usr/bin/env', 'A=3', 'gcc'])
|
|
71
71
|
(['/usr/bin/env', 'A=3'], ['gcc'])
|
|
72
72
|
"""
|
|
73
|
+
|
|
73
74
|
pivot = 0
|
|
74
75
|
if os.path.basename(cmd[0]) == 'env':
|
|
75
76
|
pivot = 1
|
|
@@ -88,6 +89,7 @@ def _split_aix(cmd: list[str]) -> tuple[list[str], list[str]]:
|
|
|
88
89
|
>>> _split_aix(['/bin/foo/ld_so_aix', 'gcc'])
|
|
89
90
|
(['/bin/foo/ld_so_aix'], ['gcc'])
|
|
90
91
|
"""
|
|
92
|
+
|
|
91
93
|
pivot = os.path.basename(cmd[0]) == 'ld_so_aix'
|
|
92
94
|
return cmd[:pivot], cmd[pivot:]
|
|
93
95
|
|
|
@@ -111,6 +113,7 @@ def _linker_params(linker_cmd: list[str], compiler_cmd: list[str]) -> list[str]:
|
|
|
111
113
|
>>> _linker_params(['gcc'], ['gcc'])
|
|
112
114
|
[]
|
|
113
115
|
"""
|
|
116
|
+
|
|
114
117
|
c_len = len(compiler_cmd)
|
|
115
118
|
pivot = c_len if linker_cmd[:c_len] == compiler_cmd else 1
|
|
116
119
|
return linker_cmd[pivot:]
|
|
@@ -355,6 +358,7 @@ class UnixCCompiler(CCompiler):
|
|
|
355
358
|
vs
|
|
356
359
|
/usr/lib/libedit.dylib
|
|
357
360
|
"""
|
|
361
|
+
|
|
358
362
|
cflags = sysconfig.get_config_var('CFLAGS')
|
|
359
363
|
match = re.search(r'-isysroot\s*(\S+)', cflags)
|
|
360
364
|
|
|
@@ -374,6 +378,7 @@ class UnixCCompiler(CCompiler):
|
|
|
374
378
|
Second-guess the linker with not much hard data to go on: GCC seems to prefer the shared library, so assume that
|
|
375
379
|
*all* Unix C compilers do, ignoring even GCC's "-static" option.
|
|
376
380
|
"""
|
|
381
|
+
|
|
377
382
|
lib_names = (
|
|
378
383
|
self.library_filename(lib, lib_type=ty)
|
|
379
384
|
for ty in ['dylib', 'xcode_stub', 'shared', 'static']
|
|
@@ -20,7 +20,8 @@ _path_created: dict[str, int] = {}
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def mkpath(name, mode=0o777, verbose=1, dry_run=False) -> list[str]: # noqa: C901
|
|
23
|
-
"""
|
|
23
|
+
"""
|
|
24
|
+
Create a directory and any missing ancestor directories.
|
|
24
25
|
|
|
25
26
|
If the directory already exists (or if 'name' is the empty string, which means the current directory, which of
|
|
26
27
|
course exists), then do nothing. Raise DistutilsFileError if unable to create some directory along the way (eg. some
|
|
@@ -23,6 +23,7 @@ def _copy_file_contents(src, dst, buffer_size=16 * 1024): # noqa: C901
|
|
|
23
23
|
to 'dst', raises DistutilsFileError. Data is read/written in chunks of 'buffer_size' bytes (default 16k). No
|
|
24
24
|
attempt is made to handle anything apart from regular files.
|
|
25
25
|
"""
|
|
26
|
+
|
|
26
27
|
# Stolen from shutil module in the standard library, but with custom error-handling added.
|
|
27
28
|
fsrc = None
|
|
28
29
|
fdst = None
|
|
@@ -92,6 +93,7 @@ def copy_file( # noqa: C901
|
|
|
92
93
|
Return a tuple (dest_name, copied): 'dest_name' is the actual name of the output file, and 'copied' is true if the
|
|
93
94
|
file was copied (or would have been copied, if 'dry_run' true).
|
|
94
95
|
"""
|
|
96
|
+
|
|
95
97
|
# if the destination file already exists, we clobber it if copying, but blow up if linking. Hmmm. And I don't know
|
|
96
98
|
# what macostools.copyfile() does. Should definitely be consistent, and should probably blow up if destination
|
|
97
99
|
# exists and we would be changing it (ie. it's not already a hard/soft link to src OR (not update) and (src newer
|
|
@@ -170,6 +172,7 @@ def move_file(src, dst, verbose=1, dry_run=False): # noqa: C901
|
|
|
170
172
|
|
|
171
173
|
Handles cross-device moves on Unix using 'copy_file()'. What about other systems???
|
|
172
174
|
"""
|
|
175
|
+
|
|
173
176
|
import errno
|
|
174
177
|
from os.path import basename
|
|
175
178
|
from os.path import dirname
|
|
@@ -32,6 +32,7 @@ def spawn(cmd, search_path=1, verbose=0, dry_run=False, env=None, debug=False):
|
|
|
32
32
|
|
|
33
33
|
Raise DistutilsExecError if running the program fails in any way; just return on success.
|
|
34
34
|
"""
|
|
35
|
+
|
|
35
36
|
# cmd is documented as a list, but just in case some code passes a tuple in, protect our %-formatting code against
|
|
36
37
|
# horrible death
|
|
37
38
|
cmd = list(cmd)
|
|
@@ -77,6 +78,7 @@ def find_executable(executable, path=None):
|
|
|
77
78
|
A string listing directories separated by 'os.pathsep'; defaults to os.environ['PATH']. Returns the complete
|
|
78
79
|
filename or None if not found.
|
|
79
80
|
"""
|
|
81
|
+
|
|
80
82
|
_, ext = os.path.splitext(executable)
|
|
81
83
|
if (sys.platform == 'win32') and (ext != '.exe'):
|
|
82
84
|
executable = executable + '.exe'
|
|
@@ -40,6 +40,7 @@ else:
|
|
|
40
40
|
|
|
41
41
|
def _is_python_source_dir(d):
|
|
42
42
|
"""Return True if the target directory appears to point to an un-installed Python."""
|
|
43
|
+
|
|
43
44
|
modules = pathlib.Path(d).joinpath('Modules')
|
|
44
45
|
return any(modules.joinpath(fn).is_file() for fn in ('Setup', 'Setup.local'))
|
|
45
46
|
|
|
@@ -49,6 +50,7 @@ _sys_home = getattr(sys, '_home', None)
|
|
|
49
50
|
|
|
50
51
|
def _is_parent(dir_a, dir_b):
|
|
51
52
|
"""Return True if a is a parent of b."""
|
|
53
|
+
|
|
52
54
|
return os.path.normcase(dir_a).startswith(os.path.normcase(dir_b))
|
|
53
55
|
|
|
54
56
|
|
|
@@ -76,6 +78,7 @@ def get_python_version():
|
|
|
76
78
|
Return a string containing the major and minor Python version, leaving off the patchlevel. Sample return values
|
|
77
79
|
could be '1.5' or '2.2'.
|
|
78
80
|
"""
|
|
81
|
+
|
|
79
82
|
return '%d.%d' % sys.version_info[:2] # noqa
|
|
80
83
|
|
|
81
84
|
|
|
@@ -88,6 +91,7 @@ def get_python_inc(plat_specific=0, prefix=None):
|
|
|
88
91
|
|
|
89
92
|
If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
|
|
90
93
|
"""
|
|
94
|
+
|
|
91
95
|
default_prefix = BASE_EXEC_PREFIX if plat_specific else BASE_PREFIX
|
|
92
96
|
resolved_prefix = prefix if prefix is not None else default_prefix
|
|
93
97
|
try:
|
|
@@ -100,6 +104,7 @@ def get_python_inc(plat_specific=0, prefix=None):
|
|
|
100
104
|
@pass_none
|
|
101
105
|
def _extant(path):
|
|
102
106
|
"""Replace path with None if it doesn't exist."""
|
|
107
|
+
|
|
103
108
|
return path if os.path.exists(path) else None
|
|
104
109
|
|
|
105
110
|
|
|
@@ -118,6 +123,7 @@ def _get_python_inc_posix_python(plat_specific):
|
|
|
118
123
|
Assume the executable is in the build directory. The pyconfig.h file should be in the same directory. Since the
|
|
119
124
|
build directory may not be the source directory, use "srcdir" from the makefile to find the "Include" directory.
|
|
120
125
|
"""
|
|
126
|
+
|
|
121
127
|
if not python_build:
|
|
122
128
|
return None
|
|
123
129
|
if plat_specific:
|
|
@@ -142,6 +148,7 @@ def _get_python_inc_from_config(plat_specific, spec_prefix):
|
|
|
142
148
|
>>> gpifc(True, None)
|
|
143
149
|
'confincludepy'
|
|
144
150
|
"""
|
|
151
|
+
|
|
145
152
|
if spec_prefix is None:
|
|
146
153
|
return get_config_var('CONF' * plat_specific + 'INCLUDEPY')
|
|
147
154
|
return None
|
|
@@ -230,11 +237,13 @@ def _customize_macos():
|
|
|
230
237
|
|
|
231
238
|
|
|
232
239
|
def customize_compiler(compiler): # noqa: C901
|
|
233
|
-
"""
|
|
240
|
+
"""
|
|
241
|
+
Do any platform-specific customization of a CCompiler instance.
|
|
234
242
|
|
|
235
243
|
Mainly needed on Unix, so we can plug in the information that varies across Unices and is stored in Python's
|
|
236
244
|
Makefile.
|
|
237
245
|
"""
|
|
246
|
+
|
|
238
247
|
if compiler.compiler_type == 'unix':
|
|
239
248
|
_customize_macos()
|
|
240
249
|
|
|
@@ -308,6 +317,7 @@ def customize_compiler(compiler): # noqa: C901
|
|
|
308
317
|
|
|
309
318
|
def get_config_h_filename():
|
|
310
319
|
"""Return full pathname of installed pyconfig.h file."""
|
|
320
|
+
|
|
311
321
|
return sysconfig.get_config_h_filename()
|
|
312
322
|
|
|
313
323
|
|
|
@@ -318,6 +328,7 @@ def parse_config_h(fp, g=None):
|
|
|
318
328
|
A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second
|
|
319
329
|
argument, it is used instead of a new dictionary.
|
|
320
330
|
"""
|
|
331
|
+
|
|
321
332
|
return sysconfig.parse_config_h(fp, vars=g)
|
|
322
333
|
|
|
323
334
|
|
|
@@ -333,6 +344,7 @@ def get_config_vars(*args):
|
|
|
333
344
|
With arguments, return a list of values that result from looking up each argument in the configuration variable
|
|
334
345
|
dictionary.
|
|
335
346
|
"""
|
|
347
|
+
|
|
336
348
|
global _config_vars
|
|
337
349
|
if _config_vars is None:
|
|
338
350
|
_config_vars = sysconfig.get_config_vars().copy()
|
|
@@ -345,6 +357,7 @@ def get_config_var(name):
|
|
|
345
357
|
Return the value of a single variable using the dictionary returned by 'get_config_vars()'. Equivalent to
|
|
346
358
|
get_config_vars().get(name)
|
|
347
359
|
"""
|
|
360
|
+
|
|
348
361
|
if name == 'SO':
|
|
349
362
|
import warnings
|
|
350
363
|
|
|
@@ -63,6 +63,7 @@ if sys.platform == 'darwin':
|
|
|
63
63
|
|
|
64
64
|
def _clear_cached_macosx_ver() -> None:
|
|
65
65
|
"""For testing only. Do not call."""
|
|
66
|
+
|
|
66
67
|
global _syscfg_macosx_ver
|
|
67
68
|
_syscfg_macosx_ver = None
|
|
68
69
|
|
|
@@ -75,6 +76,7 @@ def get_macosx_target_ver_from_syscfg() -> str:
|
|
|
75
76
|
Get the version of macOS latched in the Python interpreter configuration. Returns the version as a string or None
|
|
76
77
|
if can't obtain one. Cached.
|
|
77
78
|
"""
|
|
79
|
+
|
|
78
80
|
global _syscfg_macosx_ver
|
|
79
81
|
if _syscfg_macosx_ver is None:
|
|
80
82
|
from . import sysconfig
|
|
@@ -119,6 +121,7 @@ def get_macosx_target_ver() -> str:
|
|
|
119
121
|
|
|
120
122
|
def split_version(s) -> list[int]:
|
|
121
123
|
"""Convert a dot-separated string into a list of numbers for comparisons"""
|
|
124
|
+
|
|
122
125
|
return [int(n) for n in s.split('.')]
|
|
123
126
|
|
|
124
127
|
|
|
@@ -195,6 +198,7 @@ def execute(
|
|
|
195
198
|
have to do is supply the function to call and an argument tuple for it (to embody the "external action" being
|
|
196
199
|
performed), and an optional message to print.
|
|
197
200
|
"""
|
|
201
|
+
|
|
198
202
|
if msg is None:
|
|
199
203
|
msg = f'{func.__name__}{args!r}'
|
|
200
204
|
if msg[-2:] == ',)': # correct for singleton tuple
|
|
@@ -189,6 +189,7 @@ class StrictVersion(Version):
|
|
|
189
189
|
case 2: self doesn't have prerelease, other does: self is greater
|
|
190
190
|
case 3: both or neither have prerelease: compare them!
|
|
191
191
|
"""
|
|
192
|
+
|
|
192
193
|
if self.prerelease and not other.prerelease:
|
|
193
194
|
return -1
|
|
194
195
|
elif not self.prerelease and other.prerelease:
|
|
@@ -28,7 +28,6 @@ Libs:
|
|
|
28
28
|
Done:
|
|
29
29
|
- https://intellij-support.jetbrains.com/hc/en-us/community/posts/206608485-Multiple-Jetbrain-IDE-sharing-the-same-project-directory really?
|
|
30
30
|
- aight, generate a whole cmake subdir with symlinks to src files lol
|
|
31
|
-
|
|
32
31
|
""" # noqa
|
|
33
32
|
import argparse
|
|
34
33
|
import dataclasses as dc
|
|
@@ -19,7 +19,6 @@ curl -s \
|
|
|
19
19
|
-H "Authorization: Bearer $ACTIONS_RUNTIME_TOKEN" \
|
|
20
20
|
-d '{"key": "foo", "restoreKeys": [], "version": "0000000000000000000000000000000000000000000000000000000000000001" }' \
|
|
21
21
|
| jq .
|
|
22
|
-
|
|
23
22
|
""" # noqa
|
|
24
23
|
import dataclasses as dc
|
|
25
24
|
import typing as ta
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
# ruff: noqa: UP045
|
|
3
3
|
# @omlish-lite
|
|
4
4
|
# @omlish-script
|
|
5
|
-
"""
|
|
6
|
-
curl -LsSf 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py' | python3 -
|
|
7
|
-
"""
|
|
5
|
+
"""curl -LsSf 'https://raw.githubusercontent.com/wrmsr/omlish/master/omdev/cli/install.py' | python3 -"""
|
|
8
6
|
import abc
|
|
9
7
|
import argparse
|
|
10
8
|
import dataclasses as dc
|