python-clu 0.12.12__tar.gz → 0.12.14__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.
- {python_clu-0.12.12 → python_clu-0.12.14}/.bumpversion.toml +1 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/CHANGELOG.md +284 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/PKG-INFO +17 -7
- {python_clu-0.12.12 → python_clu-0.12.14}/README.md +17 -7
- python_clu-0.12.14/clu/__version__.py +1 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/abc.py +84 -57
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/env.py +14 -9
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/formats/tomlfile.py +3 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/keymap.py +226 -86
- python_clu-0.12.14/clu/config/keymaputils.py +146 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/keymapview.py +58 -55
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/legacy/base.py +16 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/ns.py +104 -43
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/consts.py +6 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/data.py +77 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/dicts.py +156 -73
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/exporting.py +1 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/misc.py +6 -6
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/keyvalue.py +3 -3
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/naming.py +6 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/predicates.py +12 -12
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/repl.py +3 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/treeline.py +16 -22
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/testing/utils.py +1 -1
- python_clu-0.12.14/clu/trie.py +244 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/typology.py +37 -4
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/PKG-INFO +17 -7
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/SOURCES.txt +2 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/setup.py +1 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/config/clu-config.toml +1 -6
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_config.py +8 -74
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_dicts.py +12 -30
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_repr.py +2 -2
- python_clu-0.12.12/clu/__version__.py +0 -1
- {python_clu-0.12.12 → python_clu-0.12.14}/.coveragerc +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/.editorconfig +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/.gitchangelog.rc +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/.gitignore +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/.landscape.yml +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/.travis.yml +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/ABOUT.md +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/CLASSIFIERS.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/CLU_Treatment.md +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/CODE_OF_CONDUCT.md +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/LICENSE.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/MANIFEST.in +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/Makefile +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/appveyor.yml +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/__main__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/abstract.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/all.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/api/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/api/__main__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/application.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/compilation/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/compilation/compiledb.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/compilation/macros.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/codecs.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/filebase.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/formats/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/formats/jsonfile.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/formats/picklefile.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/formats/yamlfile.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/legacy/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/legacy/fieldtypes.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/legacy/settings.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/config/proxy.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/__main__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/enums.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/exceptions.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/constants/polyfills.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/csv.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/dispatch.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/enums.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/extending.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/abc.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/appdirectories.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/filesystem.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/pypath.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/fs/sourcetree.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/importing/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/importing/__main__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/importing/base.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/importing/proxy.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/mathematics.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/ansi.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/banners.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/cli/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/cli/ansidocs.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/cli/boilerplate.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/cli/boilerplate_copy.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/cli/print_version.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/columnize.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repl/modules.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/repr.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/sanitizer.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/.gitignore +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/README.md +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/ansicolors.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/boilerplate.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/dictroast.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/legacy/forkumask.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/legacy/repl-bpython.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/legacy/repl-ipython.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/legacy/repl-ptpython.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/legacy/repl-pyzo.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/legacy/xdg-runtime.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/scripts/prediversus.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/shelving/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/shelving/redat.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/shelving/redis.conf +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/stdio.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/testing/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/testing/hook.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/testing/obsolete.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/testing/pytest.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/typespace/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/typespace/__main__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/typespace/namespace.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/version/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/version/__main__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/version/git_version.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/clu/version/read_version.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/codecov.yml +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/conftest.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/.DS_Store +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/Makefile +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/doctrees/api.doctree +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/doctrees/environment.pickle +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/doctrees/generated/clu.doctree +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/doctrees/index.doctree +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/.buildinfo +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_sources/api.rst.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_sources/generated/clu.rst.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_sources/index.rst.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/alabaster.css +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/basic.css +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/badge_only.css +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/css/theme.css +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/custom.css +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/doctools.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/documentation_options.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/file.png +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/jquery-3.6.0.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/jquery.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/js/badge_only.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/js/html5shiv.min.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/js/theme.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/language_data.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/minus.png +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/plus.png +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/pygments.css +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/searchtools.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/underscore-1.13.1.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/_static/underscore.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/api.html +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/generated/clu.html +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/genindex.html +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/index.html +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/objects.inv +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/py-modindex.html +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/search.html +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/html/searchindex.js +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/build/man/clu.1 +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/make.bat +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/source/api.rst +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/source/conf.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/source/generated/clu.rst +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/docs/source/index.rst +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/autohook.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/post-push/00-coverage.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/pre-push/00-noop.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/pre-push/01-direnv-stdlib.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/scripts/coverage.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/scripts/display-issues.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/scripts/git-pushex +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/hooks/scripts/noop.sh +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/mypy.ini +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/noxfile.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/pyproject.toml +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/pytest.ini +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/dependency_links.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/entry_points.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/requires.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/top_level.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/python_clu.egg-info/zip-safe +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/pytype.cfg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/changelog.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/dev.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/docs.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/install.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/nox/codecov.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/nox/docs.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/nox/manifest.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/nox/pyproject.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/nox/repl.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/nox/tests.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/tox.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/requirements/typecheck.txt +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/direnv_transformed_env.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/clu-module-list-example-small.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/clu-module-list-example.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/clu-module-list-example.pxd +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/clu-testing-time-totals-example-small.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/clu-testing-time-totals-example.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/clu-testing-time-totals-example.pxd +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/construx-and-capsela-small.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/construx-and-capsela.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/construx-and-capsela.pxd +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/images/toml-module-rant.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/inline-tests-ImportError-uggggh.ipynb +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/scratch/nteract.ipynb +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/setup.cfg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/1-58.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/3471426989_aa8e83cac5_o.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/3472236406_1fbf1a567d_o.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/8600JC.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/8ba.png +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/IMG_20180505_205153567.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/cheetah-003.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/config/yodogg.toml +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/shutterstock_90194617.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/yodata/09163d51421853.5608b3c2a1be0.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/yodata/5d0227342500004e12e3506d.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/yodata/BlackCat2_large-22.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/yodogg/Serval_Cat_Kitten-706.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/yodogg/Servals_Thoiry_19801.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/data/yodogg/video-pride-serval.jpg +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_abstract.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_all.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_boilerplate.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_config_abc.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_csv.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_dispatch.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_enum_aliases.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_exporting.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_extending.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_fs_abc.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_fs_appdirectories.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_fs_filesystem.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_fs_misc.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_importing.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_keyvalue.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_mathematics.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_naming.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_predicates.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_repl_columnize.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_repl_modules.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_scripts_repl.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_typespace_namespace.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_typology.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/test_version.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/yodogg/.tm_properties +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/yodogg/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/yodogg/yodogg/__init__.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/yodogg/yodogg/config.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/yodogg/yodogg/exporting.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tests/yodogg/yodogg/iheard.py +0 -0
- {python_clu-0.12.12 → python_clu-0.12.14}/tox.ini +0 -0
|
@@ -1,10 +1,293 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
## 0.12.
|
|
4
|
+
## 0.12.13:pre32+g85452ed [SNAPSHOT]
|
|
5
|
+
|
|
6
|
+
### Add
|
|
7
|
+
|
|
8
|
+
* Added stub description of `clu.trie` to `README.md` [Alexander Böhn]
|
|
9
|
+
|
|
10
|
+
Just leaving this right here, like for later
|
|
11
|
+
|
|
12
|
+
* Adding the beginnings of a new `clu.trie` basic library. [Alexander Böhn]
|
|
13
|
+
|
|
14
|
+
… seeing where this goes. This is in aid of parsing keymap namespaced
|
|
15
|
+
keys faster or more betterer, depending, so we will see where this
|
|
16
|
+
goes. AS ALWAYS, PULLS ARE WELCOME!!!!! 🥰
|
|
17
|
+
|
|
18
|
+
* Added a link in `README.md` to the new `clu.config.utils` module. [Alexander Böhn]
|
|
19
|
+
|
|
20
|
+
* Addressing some unexpected issues with KeyMap views and config files. [Alexander Böhn]
|
|
21
|
+
|
|
22
|
+
… I mean, the tests run OK………………… butttt………………
|
|
5
23
|
|
|
6
24
|
### Other
|
|
7
25
|
|
|
26
|
+
* Ensure the valorous `clu.constants.consts.NoDefault` class looks good. [Alexander Böhn]
|
|
27
|
+
|
|
28
|
+
… meaning its class-based and instance-based repr methods return
|
|
29
|
+
nothing but “NoDefault”, now and forever. There is only a single
|
|
30
|
+
NoDefault class ever, out there; its only instance is itself.
|
|
31
|
+
|
|
32
|
+
*** NoDefault Stands Alone ***
|
|
33
|
+
|
|
34
|
+
… Erm, yes. Yes!
|
|
35
|
+
|
|
36
|
+
* Better living through your functional friends: `filter`, `map`, and `reduce` [Alexander Böhn]
|
|
37
|
+
|
|
38
|
+
* At long last, `clu.predicates.@itervariadic(…)` passes keyword args. [Alexander Böhn]
|
|
39
|
+
|
|
40
|
+
… fucking FINALLY. It did not do this for like ever and, I’ll just
|
|
41
|
+
tell you, I was totally scared to fuck with it; like maybe I had
|
|
42
|
+
tried to get it to do kwargs at some point and AT THAT VERY EXACT
|
|
43
|
+
MOMENT my aunt’s ferret died, which scarred me for life and forged
|
|
44
|
+
a very inexplicable but nonetheless quite strong mental link in
|
|
45
|
+
my mind, between passing kwargs in @itervariadic and the death
|
|
46
|
+
that we all face. Maybe (I have no aunts tho) but something.
|
|
47
|
+
|
|
48
|
+
* Fixed wrong-function call in `allsimilar(…)`’s unhashable-input branch. [Alexander Böhn]
|
|
49
|
+
|
|
50
|
+
… N.B. need to ensure tests cover all lambdas, and both code branches
|
|
51
|
+
for these; also ensure @itervariadic’s niceties are assuaged
|
|
52
|
+
|
|
53
|
+
* New `clu.typology` functions for checking an iterable’s contents. [Alexander Böhn]
|
|
54
|
+
|
|
55
|
+
… like: “allthesame(iterable)” works with hashable OR non-hashable
|
|
56
|
+
contents!! HOW DID HE DO THAT??? you ask. Check the code, it was
|
|
57
|
+
a good time!
|
|
58
|
+
… similarly “allsimilar(iterable[, xform=casefold]) will basically
|
|
59
|
+
do when ‘allthesame(…)’ does but after applying some convenience
|
|
60
|
+
item-transformer function
|
|
61
|
+
… Both of these use @itervariadic, are documented, and export all
|
|
62
|
+
their (equally well-documented) constituent lambdas
|
|
63
|
+
|
|
64
|
+
Indeed yes!
|
|
65
|
+
|
|
66
|
+
* Providing a slightly more invariant `__hash__` for frozen keymaps. [Alexander Böhn]
|
|
67
|
+
|
|
68
|
+
* All-new, all-singing all-dancing recursive ordered expansion!!! [Alexander Böhn]
|
|
69
|
+
|
|
70
|
+
… Specifically:
|
|
71
|
+
• Our verenable and yet lovely “clu.config.abc.FlatOrderedSet”
|
|
72
|
+
alongside our exotic, experimental “clu.dicts.ChainMapPlusPlus”
|
|
73
|
+
now have recursive expansion iterator initialization functions!!
|
|
74
|
+
• WHAT DOES THAT MEAN?!? you ask (nay, demand) to know? Well. Both
|
|
75
|
+
of those classes each can accept an arbitrary bunch of *things*
|
|
76
|
+
when initializing their respective instances. Idiomatically, that
|
|
77
|
+
arbitrary bunch can contain instances of the very class being
|
|
78
|
+
initialized!
|
|
79
|
+
• Up until like just now, pretty much, both of those classes would
|
|
80
|
+
expand such instances in-place and in-order when they came across
|
|
81
|
+
them during initialization. Sorta. I mean, they kind-of clumsily
|
|
82
|
+
did like some if/thens and would expand instances, but only one
|
|
83
|
+
level deep for sure. It was unreliable fragile shit even when it
|
|
84
|
+
did work – but I loved both these true-CLU containers when they
|
|
85
|
+
were functional!
|
|
86
|
+
• But now they are, like totally – they are quickly and recursively
|
|
87
|
+
each using an “expand(…)” method to both expand and uniquify all
|
|
88
|
+
things in the list they end up containing. You should read this
|
|
89
|
+
code because I am proud of it and it is cool. It’s documented,
|
|
90
|
+
too, so yeah you’re welcome!!
|
|
91
|
+
|
|
92
|
+
… of course some other ancillary things were tweaked for this; as of
|
|
93
|
+
this time, all tests have gone green. So in conclusion: fuck yes.
|
|
94
|
+
|
|
95
|
+
* Scrapped a few *really* old `clu.config` tests whose meaning is lost. [Alexander Böhn]
|
|
96
|
+
|
|
97
|
+
… like they were only testing inoperative legacy shit – the likes
|
|
98
|
+
of which, while aspirational in its day, is all something I’d
|
|
99
|
+
enjoy completely forgetting about as soon as is biologically
|
|
100
|
+
advisable. In essence. Yes!
|
|
101
|
+
|
|
102
|
+
* Trying to squeeze more speed out of `clu.config.abc.FlatOrderedSet` [Alexander Böhn]
|
|
103
|
+
|
|
104
|
+
… I love that class, I’ll have you know – warts and all, I do love
|
|
105
|
+
that motherfucking thing
|
|
106
|
+
|
|
107
|
+
* Tweaks in the clu.config.abc.FlatOrderedSet initialization. [Alexander Böhn]
|
|
108
|
+
|
|
109
|
+
… basically I love using “filter(¬)” whenever possible
|
|
110
|
+
|
|
111
|
+
* Such a minor optimization it may just be premature. [Alexander Böhn]
|
|
112
|
+
|
|
113
|
+
* Minor changes to `clu.config.keymap.FrozenNested::submap(…)` [Alexander Böhn]
|
|
114
|
+
|
|
115
|
+
… AGAIN. I know. These are minor, yes, but they clarify things too
|
|
116
|
+
|
|
117
|
+
* An inline test and a fixture for `clu.tree` [Alexander Böhn]
|
|
118
|
+
|
|
119
|
+
… it’s something, OK? Gimme like five minutes, unless your kids are
|
|
120
|
+
on fire or something of similar urgency. THANK YOU.
|
|
121
|
+
|
|
122
|
+
* Fixed a few uncaught errors there in `clu.trie.Trie` [Alexander Böhn]
|
|
123
|
+
|
|
124
|
+
… time for inline tests here in this new module, ay wot, wot, wot?
|
|
125
|
+
|
|
126
|
+
* Split the gratuitous `clu.trie.Trie` methods off from the essentials. [Alexander Böhn]
|
|
127
|
+
|
|
128
|
+
… maybe this makes things go faster, even with slots, when memory
|
|
129
|
+
is the thing at issue? I know not. But I am not above doing this,
|
|
130
|
+
clearly as we can see
|
|
131
|
+
|
|
132
|
+
* Fixed a few dangling references to `config.utils` [Alexander Böhn]
|
|
133
|
+
|
|
134
|
+
Q.v. commit supra.
|
|
135
|
+
|
|
136
|
+
* An extremely minor clarification. [Alexander Böhn]
|
|
137
|
+
|
|
138
|
+
… namely, the first arg for that lambda is always a class instance,
|
|
139
|
+
not a regular-instance instance, erm. So instead it says “cls”,
|
|
140
|
+
now, and not “self”, and I consider myself at least clarified
|
|
141
|
+
(if not edified).
|
|
142
|
+
|
|
143
|
+
* Renaming `clu.config.utils` to `clu.config.keymaputils` [Alexander Böhn]
|
|
144
|
+
|
|
145
|
+
… There are waaaaaaaaay too many “utils.py” modules out there in
|
|
146
|
+
the world, if you asked me. I’m doing *my* part.
|
|
147
|
+
|
|
148
|
+
* Fixed another `README.md` glitch. [Alexander Böhn]
|
|
149
|
+
|
|
150
|
+
… there was a problematic set of superscript HTML tags that were
|
|
151
|
+
being literally rendered.
|
|
152
|
+
|
|
153
|
+
* Dealt with the download link in `README.md` [Alexander Böhn]
|
|
154
|
+
|
|
155
|
+
… as in, it will (or at least, *should*) always be current now
|
|
156
|
+
|
|
157
|
+
* Various and sundry semantic renamings. [Alexander Böhn]
|
|
158
|
+
|
|
159
|
+
* OK SO. I had to revert some things. [Alexander Böhn]
|
|
160
|
+
|
|
161
|
+
… namely I got reaaeeaaaalllll clever with those namespaced-walker
|
|
162
|
+
keymap view “__iter__(…)” methods – as it turns out, because of
|
|
163
|
+
all that reeeaaaaaalllll clever shiit I pulled with the submaps
|
|
164
|
+
being all properly of the right class, oh ho ho, yadda yadda,
|
|
165
|
+
but that did NOT WORK. Namely iterating a keymap submap can trigger
|
|
166
|
+
some crazy recursive shit in some cases, e.g. with the “Environ”
|
|
167
|
+
maps and other such things.
|
|
168
|
+
|
|
169
|
+
… soooooo. Until I unfuck this, the rule is “do not iterate submaps
|
|
170
|
+
within NamespacedWalker views’ ‘__iter__(…)’ methods – in fact,
|
|
171
|
+
probably don’t fucking iterate them at all in this context, OK?”
|
|
172
|
+
|
|
173
|
+
… yeah. OK yeah.
|
|
174
|
+
|
|
175
|
+
* Simplify, and Exclude. [Alexander Böhn]
|
|
176
|
+
|
|
177
|
+
* More `clu.config.keymap` nitpicks like simians endlessly grooming. [Alexander Böhn]
|
|
178
|
+
|
|
179
|
+
* Ooooo I hate turning generators back into stupid returns. [Alexander Böhn]
|
|
180
|
+
|
|
181
|
+
* Some (no doubt premature) optimizations in `clu.config.keymapview` [Alexander Böhn]
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
## v0.12.13 (2025-06-13)
|
|
185
|
+
|
|
186
|
+
### Add
|
|
187
|
+
|
|
188
|
+
* Added some useful rando dicts to `clu.constants.data` [Alexander Böhn]
|
|
189
|
+
|
|
190
|
+
### Other
|
|
191
|
+
|
|
192
|
+
* Bumped version: 0.12.12 → 0.12.13. [Alexander Böhn]
|
|
193
|
+
|
|
194
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
195
|
+
|
|
196
|
+
* Nixed `clu.dicts.ChainMap.__eq__(…)` for the moment. [Alexander Böhn]
|
|
197
|
+
|
|
198
|
+
… because I have reason to believe that, at this time, it may suck.
|
|
199
|
+
|
|
200
|
+
* Tidying up and removing more dead code. [Alexander Böhn]
|
|
201
|
+
|
|
202
|
+
* Removed and renamed much in the `clu.keymap`/`clu.dicts` departments. [Alexander Böhn]
|
|
203
|
+
|
|
204
|
+
* Total overhaul of oh so much stuff in `clu.config` and `clu.dicts` [Alexander Böhn]
|
|
205
|
+
|
|
206
|
+
• For the most part, you pass actual namespaces in to a KeyMaps’
|
|
207
|
+
methods that say “namespaces”.
|
|
208
|
+
• Like: “flatmap.submap('yo:dogg', 'iheard:youlike')” works
|
|
209
|
+
• … as does “flatmap.keys('yo:dogg')” or “flatmap.items('yo:dogg')”
|
|
210
|
+
• … there was some touchy shit with this so watch this space for more
|
|
211
|
+
• Tests are updated accordingly (both inline and unit tests)
|
|
212
|
+
• Many changes in “clu.dicts” to afford different classes and speed
|
|
213
|
+
and things of that nature
|
|
214
|
+
• Added a new “clu.config.utils” module
|
|
215
|
+
• This contains ad-hoc name-based functions for “freezing” and
|
|
216
|
+
“thawing” classes – like you can do:
|
|
217
|
+
|
|
218
|
+
>>> from clu.config.utils import freeze_class, thaw_class
|
|
219
|
+
>>> from clu.config.keymap import Flat, FrozenFlat
|
|
220
|
+
>>> assert freeze_class(Flat) is FrozenFlat
|
|
221
|
+
>>> assert thaw_class(FrozenFlat) is Flat
|
|
222
|
+
|
|
223
|
+
… which is pretty neat, I think. It’s totally ad-hoc and fragile,
|
|
224
|
+
tho, so we will see what happens.
|
|
225
|
+
• Modified “clu.config.abc” to go with all of this
|
|
226
|
+
• Added some mapping fixture thingees to “clu.constants.data”
|
|
227
|
+
• Much other miscellany I am sure
|
|
228
|
+
|
|
229
|
+
… Yes!
|
|
230
|
+
|
|
231
|
+
* Rethinking and reworking how `KeyMap.submap(…)` thinks and works. [Alexander Böhn]
|
|
232
|
+
|
|
233
|
+
* An array of tweaks and optimizations to be found in `clu.dicts` [Alexander Böhn]
|
|
234
|
+
|
|
235
|
+
So. We got:
|
|
236
|
+
• A rewrite of “clu.dicts.merge_as(…)” that doesn’t just hopelessly
|
|
237
|
+
piggyback on “merge_two(¬)” of the same module, and keeps the dicts
|
|
238
|
+
in the right order
|
|
239
|
+
• Some of that “right order” mojo was sprinkled into the constructor
|
|
240
|
+
for “clu.dicts.ChainMap”
|
|
241
|
+
• “clu.dicts.ChainRepr” won’t identify builtin types (namely, “dict”)
|
|
242
|
+
as irritatingly coming from the “builtins” package
|
|
243
|
+
• Used frozensets in place of sets, wherever speedier
|
|
244
|
+
• Inline test names in “clu.dicts” make some a lot of sense
|
|
245
|
+
• Other miscellaneous shit
|
|
246
|
+
|
|
247
|
+
* Regex flags in `clu.fs.misc` are now handled cheaply and gracefully. [Alexander Böhn]
|
|
248
|
+
|
|
249
|
+
… meaning the defaults are computed in the function sigs, which also
|
|
250
|
+
means they may be modified at the whim of you, the user
|
|
251
|
+
|
|
252
|
+
* My my, there was much reserved-word-clobbering up in there. [Alexander Böhn]
|
|
253
|
+
|
|
254
|
+
… by “there” I mean “clu.dicts”; q.v. previous commit supra.
|
|
255
|
+
|
|
256
|
+
* No longer clobbering a reserved word (“map”) in `clu.dicts.ChainMap` [Alexander Böhn]
|
|
257
|
+
|
|
258
|
+
* Just a small addenda to my favorite CLU docstring. [Alexander Böhn]
|
|
259
|
+
|
|
260
|
+
* A bunch of new namespace tools for use in `clu.config` [Alexander Böhn]
|
|
261
|
+
|
|
262
|
+
To wit:
|
|
263
|
+
• The very deeply abstract base class now has an abstract method
|
|
264
|
+
definition specifically for the “submap(…)” signature (which this
|
|
265
|
+
was previously lacking).
|
|
266
|
+
|
|
267
|
+
• There’s a new “KeyedAccessor” class in “clu.config.keymap”, allowing
|
|
268
|
+
for proxied simple access to keymap elements. Like you can be like:
|
|
269
|
+
|
|
270
|
+
>>> nested = Nested(nested_data)
|
|
271
|
+
>>> accessor = KeyedAccessor(nested, "some:namespace:keypath")
|
|
272
|
+
>>> assert nested['some:namespace:keypath:key'] = accessor['key']
|
|
273
|
+
|
|
274
|
+
… at least, that’s the goal with that RN.
|
|
275
|
+
|
|
276
|
+
• There is also a “clean_ns(namespaced_string)” function, to be found
|
|
277
|
+
in “clu.config.ns”, and support regexes and one-liner functions
|
|
278
|
+
based on those regexes, and an inline test function.
|
|
279
|
+
|
|
280
|
+
• Trivial (really) fixes in “clu.exporting” and “clu.predicates” too.
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
## v0.12.12 (2025-06-03)
|
|
284
|
+
|
|
285
|
+
### Other
|
|
286
|
+
|
|
287
|
+
* Bumped version: 0.12.11 → 0.12.12. [Alexander Böhn]
|
|
288
|
+
|
|
289
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
290
|
+
|
|
8
291
|
* Reaffirming the commands’ non-erroneousness AGAIN!! [Alexander Böhn]
|
|
9
292
|
|
|
10
293
|
* Reaffirming the commands’ non-erroneousness. [Alexander Böhn]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-clu
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.14
|
|
4
4
|
Summary: Python-CLU: Common Lightweight Utilities
|
|
5
5
|
Home-page: https://github.com/fish2000/clu
|
|
6
6
|
Download-URL: https://github.com/fish2000/clu/zipball/master
|
|
@@ -152,7 +152,8 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
152
152
|
|
|
153
153
|
… and there are plenty of tools for rolling your own `KeyMap`s in [`clu.config`][clu.config]: the
|
|
154
154
|
[`proxy`][clu.config.proxy] subpackage has a `KeyMap` proxy class, [`ns`][clu.config.ns] has utility functions
|
|
155
|
-
for manipulating namespace strings, [`
|
|
155
|
+
for manipulating namespace strings, [`keymaputils`][clu.config.keymaputils] has more general utility functions (right now
|
|
156
|
+
the `freeze`/`thaw` functions live there), [`keymapview`][clu.config.keymapview] has a class tower for
|
|
156
157
|
[`KeyMap`][clu.config.keymap] key/value/item views, and [`abc`][clu.config.abc] has, as you’d expect, all
|
|
157
158
|
the abstract base classes upon which our [`KeyMap`s][clu.config.keymap] are built, for your perusal and
|
|
158
159
|
eventual enjoyment.
|
|
@@ -252,9 +253,9 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
252
253
|
[`types.ModuleType`][types.ModuleType] is to be found in `typespace.types.Module`, [`types.FunctionType`][types.FunctionType]
|
|
253
254
|
is `typespace.types.Function`, et cetera, ad nauseum, so you can just do `from clu.typespace import types`
|
|
254
255
|
to lose the redundant “Type” naming suffix – which I don’t know about you but that annoys me, I mean we all know
|
|
255
|
-
that these things are types because they are in the fucking [`types`][types] module and don’t need those overly
|
|
256
|
-
there at the end. ALSO, there are additional useful types, from Python’s standard
|
|
257
|
-
in the [`types` namespace][clu.typespace.namespace]. YOU’RE WELCOME!!
|
|
256
|
+
that these things are types because they are in the fucking [`types`][types] module and don’t need those overly
|
|
257
|
+
verbose extra four characters there at the end. ALSO, there are additional useful types, from Python’s standard
|
|
258
|
+
library and common packages, in the [`types` namespace][clu.typespace.namespace]. YOU’RE WELCOME!!
|
|
258
259
|
|
|
259
260
|
* [`enums`][clu.enums]: Furnishes `alias(…)` – which, spoiler alert, let you create aliases within your enums!
|
|
260
261
|
Oh yes. Like so:
|
|
@@ -434,6 +435,13 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
434
435
|
* [`sanitizer`][clu.sanitizer]: functions for cleaning up unicode. Right now there is just a list-based `sanitize(…)`
|
|
435
436
|
function that tones down anything with high-value code points to the point where it can be safely `ascii`-ified.
|
|
436
437
|
|
|
438
|
+
* [`trie`][clu.trie]: A relative newcomer, [`clu.trie`][clu.trie] is a toolkit for building trie-search type custom
|
|
439
|
+
systems for parsing specific things, i.e. error strings, program output… [`clu.config.keymap`][KeyMap keys] maybe,
|
|
440
|
+
who knows. It’s all shiny and new (meaning: the current contents will fail to blow your mind); if tries and/or other
|
|
441
|
+
similar tree-search dark arts are, like, your thing: do hit me up with suggestions or samples, or PULL REQUESTS!!
|
|
442
|
+
How do I love pull requests. I’ll toast your name for life, if you were to send me one good PR. On this or anything
|
|
443
|
+
else (you’re heartily invited to nitpick my abundantly horrid spelling errors too if you are into that). Yes!
|
|
444
|
+
|
|
437
445
|
* [`typology`][clu.typology]: This is like [`clu.predicates`][clu.predicates] but with more predicates, many of which are
|
|
438
446
|
based on typelists. The module is full of typelists and it uses them extensively in its predicates, via `isinstance(…)`,
|
|
439
447
|
`issubclass(…)` and a custom version of same called `subclasscheck(…)` which tries very hard to work with
|
|
@@ -445,7 +453,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
445
453
|
primitives amongst other things. The (skeletal) [`git_version`][clu.version.git_version] subpackage has a
|
|
446
454
|
couple of [Git-related][git-link] functions, but what you really want is in [`read_version`][clu.version.read_version]
|
|
447
455
|
– therein you’ll find a `read_version_file(…)` function that uses the `ast` module to read one of those
|
|
448
|
-
`__version__.py` files I know you have lying around. Yes
|
|
456
|
+
`__version__.py` files I know you have lying around. Yes[<sup>†</sup>](#dagger)!
|
|
449
457
|
|
|
450
458
|
* [The `pytest` testsuite][clu-testsuite]: CLU has a full set of [`pytest`][pytest-link]-compatible unit tests.
|
|
451
459
|
In addition to copious module-specific [CLU inline tests][clu.testing], you can run this test suite using
|
|
@@ -471,7 +479,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
471
479
|
|
|
472
480
|
<!--- LINKS! LINKS! LINKS! -->
|
|
473
481
|
[pypi-link]: https://pypi.org/project/python-clu/
|
|
474
|
-
[download-link]: https://
|
|
482
|
+
[download-link]: https://github.com/fish2000/CLU/archive/refs/heads/master.zip
|
|
475
483
|
[homage-replutilities-link]: https://github.com/fish2000/homage/blob/master/.script-bin/replutilities.py
|
|
476
484
|
[clu-tron-link]: https://tron.fandom.com/wiki/Clu
|
|
477
485
|
|
|
@@ -498,6 +506,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
498
506
|
[clu.config.keymapview]: https://github.com/fish2000/CLU/tree/master/clu/config/keymapview.py
|
|
499
507
|
[clu.config.ns]: https://github.com/fish2000/CLU/tree/master/clu/config/ns.py
|
|
500
508
|
[clu.config.proxy]: https://github.com/fish2000/CLU/tree/master/clu/config/proxy.py
|
|
509
|
+
[clu.config.keymaputils]: https://github.com/fish2000/CLU/tree/master/clu/config/keymaputils.py
|
|
501
510
|
|
|
502
511
|
[clu.constants]: https://github.com/fish2000/CLU/tree/master/clu/constants
|
|
503
512
|
[clu.constants.consts]: https://github.com/fish2000/CLU/tree/master/clu/constants/consts.py
|
|
@@ -558,6 +567,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
558
567
|
[clu.repr]: https://github.com/fish2000/CLU/tree/master/clu/repr.py
|
|
559
568
|
[clu.sanitizer]: https://github.com/fish2000/CLU/tree/master/clu/sanitizer.py
|
|
560
569
|
[clu.stdio]: https://github.com/fish2000/CLU/tree/master/clu/stdio.py
|
|
570
|
+
[clu.trie]: https://github.com/fish2000/CLU/tree/master/clu/trie.py
|
|
561
571
|
[clu.typology]: https://github.com/fish2000/CLU/tree/master/clu/typology.py
|
|
562
572
|
|
|
563
573
|
[instakit]: https://github.com/fish2000/instakit
|
|
@@ -82,7 +82,8 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
82
82
|
|
|
83
83
|
… and there are plenty of tools for rolling your own `KeyMap`s in [`clu.config`][clu.config]: the
|
|
84
84
|
[`proxy`][clu.config.proxy] subpackage has a `KeyMap` proxy class, [`ns`][clu.config.ns] has utility functions
|
|
85
|
-
for manipulating namespace strings, [`
|
|
85
|
+
for manipulating namespace strings, [`keymaputils`][clu.config.keymaputils] has more general utility functions (right now
|
|
86
|
+
the `freeze`/`thaw` functions live there), [`keymapview`][clu.config.keymapview] has a class tower for
|
|
86
87
|
[`KeyMap`][clu.config.keymap] key/value/item views, and [`abc`][clu.config.abc] has, as you’d expect, all
|
|
87
88
|
the abstract base classes upon which our [`KeyMap`s][clu.config.keymap] are built, for your perusal and
|
|
88
89
|
eventual enjoyment.
|
|
@@ -182,9 +183,9 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
182
183
|
[`types.ModuleType`][types.ModuleType] is to be found in `typespace.types.Module`, [`types.FunctionType`][types.FunctionType]
|
|
183
184
|
is `typespace.types.Function`, et cetera, ad nauseum, so you can just do `from clu.typespace import types`
|
|
184
185
|
to lose the redundant “Type” naming suffix – which I don’t know about you but that annoys me, I mean we all know
|
|
185
|
-
that these things are types because they are in the fucking [`types`][types] module and don’t need those overly
|
|
186
|
-
there at the end. ALSO, there are additional useful types, from Python’s standard
|
|
187
|
-
in the [`types` namespace][clu.typespace.namespace]. YOU’RE WELCOME!!
|
|
186
|
+
that these things are types because they are in the fucking [`types`][types] module and don’t need those overly
|
|
187
|
+
verbose extra four characters there at the end. ALSO, there are additional useful types, from Python’s standard
|
|
188
|
+
library and common packages, in the [`types` namespace][clu.typespace.namespace]. YOU’RE WELCOME!!
|
|
188
189
|
|
|
189
190
|
* [`enums`][clu.enums]: Furnishes `alias(…)` – which, spoiler alert, let you create aliases within your enums!
|
|
190
191
|
Oh yes. Like so:
|
|
@@ -364,6 +365,13 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
364
365
|
* [`sanitizer`][clu.sanitizer]: functions for cleaning up unicode. Right now there is just a list-based `sanitize(…)`
|
|
365
366
|
function that tones down anything with high-value code points to the point where it can be safely `ascii`-ified.
|
|
366
367
|
|
|
368
|
+
* [`trie`][clu.trie]: A relative newcomer, [`clu.trie`][clu.trie] is a toolkit for building trie-search type custom
|
|
369
|
+
systems for parsing specific things, i.e. error strings, program output… [`clu.config.keymap`][KeyMap keys] maybe,
|
|
370
|
+
who knows. It’s all shiny and new (meaning: the current contents will fail to blow your mind); if tries and/or other
|
|
371
|
+
similar tree-search dark arts are, like, your thing: do hit me up with suggestions or samples, or PULL REQUESTS!!
|
|
372
|
+
How do I love pull requests. I’ll toast your name for life, if you were to send me one good PR. On this or anything
|
|
373
|
+
else (you’re heartily invited to nitpick my abundantly horrid spelling errors too if you are into that). Yes!
|
|
374
|
+
|
|
367
375
|
* [`typology`][clu.typology]: This is like [`clu.predicates`][clu.predicates] but with more predicates, many of which are
|
|
368
376
|
based on typelists. The module is full of typelists and it uses them extensively in its predicates, via `isinstance(…)`,
|
|
369
377
|
`issubclass(…)` and a custom version of same called `subclasscheck(…)` which tries very hard to work with
|
|
@@ -375,7 +383,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
375
383
|
primitives amongst other things. The (skeletal) [`git_version`][clu.version.git_version] subpackage has a
|
|
376
384
|
couple of [Git-related][git-link] functions, but what you really want is in [`read_version`][clu.version.read_version]
|
|
377
385
|
– therein you’ll find a `read_version_file(…)` function that uses the `ast` module to read one of those
|
|
378
|
-
`__version__.py` files I know you have lying around. Yes
|
|
386
|
+
`__version__.py` files I know you have lying around. Yes[<sup>†</sup>](#dagger)!
|
|
379
387
|
|
|
380
388
|
* [The `pytest` testsuite][clu-testsuite]: CLU has a full set of [`pytest`][pytest-link]-compatible unit tests.
|
|
381
389
|
In addition to copious module-specific [CLU inline tests][clu.testing], you can run this test suite using
|
|
@@ -401,7 +409,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
401
409
|
|
|
402
410
|
<!--- LINKS! LINKS! LINKS! -->
|
|
403
411
|
[pypi-link]: https://pypi.org/project/python-clu/
|
|
404
|
-
[download-link]: https://
|
|
412
|
+
[download-link]: https://github.com/fish2000/CLU/archive/refs/heads/master.zip
|
|
405
413
|
[homage-replutilities-link]: https://github.com/fish2000/homage/blob/master/.script-bin/replutilities.py
|
|
406
414
|
[clu-tron-link]: https://tron.fandom.com/wiki/Clu
|
|
407
415
|
|
|
@@ -428,6 +436,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
428
436
|
[clu.config.keymapview]: https://github.com/fish2000/CLU/tree/master/clu/config/keymapview.py
|
|
429
437
|
[clu.config.ns]: https://github.com/fish2000/CLU/tree/master/clu/config/ns.py
|
|
430
438
|
[clu.config.proxy]: https://github.com/fish2000/CLU/tree/master/clu/config/proxy.py
|
|
439
|
+
[clu.config.keymaputils]: https://github.com/fish2000/CLU/tree/master/clu/config/keymaputils.py
|
|
431
440
|
|
|
432
441
|
[clu.constants]: https://github.com/fish2000/CLU/tree/master/clu/constants
|
|
433
442
|
[clu.constants.consts]: https://github.com/fish2000/CLU/tree/master/clu/constants/consts.py
|
|
@@ -488,6 +497,7 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
488
497
|
[clu.repr]: https://github.com/fish2000/CLU/tree/master/clu/repr.py
|
|
489
498
|
[clu.sanitizer]: https://github.com/fish2000/CLU/tree/master/clu/sanitizer.py
|
|
490
499
|
[clu.stdio]: https://github.com/fish2000/CLU/tree/master/clu/stdio.py
|
|
500
|
+
[clu.trie]: https://github.com/fish2000/CLU/tree/master/clu/trie.py
|
|
491
501
|
[clu.typology]: https://github.com/fish2000/CLU/tree/master/clu/typology.py
|
|
492
502
|
|
|
493
503
|
[instakit]: https://github.com/fish2000/instakit
|
|
@@ -504,4 +514,4 @@ So do have a look around. Here’s an abridged breakdown of some things within:
|
|
|
504
514
|
[types.FunctionType]: https://docs.python.org/3/library/types.html#types.FunctionType
|
|
505
515
|
[types.SimpleNamespace]: https://docs.python.org/3/library/types.html#additional-utility-classes-and-functions
|
|
506
516
|
[zipfile]: https://docs.python.org/3/library/zipfile.html
|
|
507
|
-
[dicts]: https://docs.python.org/3/tutorial/datastructures.html#dictionaries
|
|
517
|
+
[dicts]: https://docs.python.org/3/tutorial/datastructures.html#dictionaries
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.12.14'
|