python-clu 0.12.5__tar.gz → 0.12.8__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.5 → python_clu-0.12.8}/.bumpversion.toml +1 -1
- {python_clu-0.12.5 → python_clu-0.12.8}/CHANGELOG.md +60 -1
- {python_clu-0.12.5 → python_clu-0.12.8}/PKG-INFO +1 -1
- python_clu-0.12.8/clu/__version__.py +1 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/naming.py +13 -3
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/predicates.py +6 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/ansi.py +8 -4
- python_clu-0.12.8/clu/repl/cli/ansidocs.py +54 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/print_version.py +0 -1
- {python_clu-0.12.5 → python_clu-0.12.8}/pyproject.toml +1 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/PKG-INFO +1 -1
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/SOURCES.txt +1 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/entry_points.txt +1 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/setup.py +2 -1
- python_clu-0.12.5/clu/__version__.py +0 -1
- {python_clu-0.12.5 → python_clu-0.12.8}/.coveragerc +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/.editorconfig +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/.gitchangelog.rc +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/.gitignore +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/.landscape.yml +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/.travis.yml +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/ABOUT.md +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/CLASSIFIERS.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/CLU_Treatment.md +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/CODE_OF_CONDUCT.md +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/LICENSE.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/MANIFEST.in +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/Makefile +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/README.md +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/appveyor.yml +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/__main__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/abstract.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/all.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/api/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/api/__main__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/application.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/compilation/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/compilation/compiledb.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/compilation/macros.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/abc.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/codecs.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/env.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/filebase.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/jsonfile.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/picklefile.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/tomlfile.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/yamlfile.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/keymap.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/keymapview.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/base.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/fieldtypes.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/settings.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/ns.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/proxy.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/__main__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/consts.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/data.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/enums.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/exceptions.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/polyfills.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/csv.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/dicts.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/dispatch.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/enums.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/exporting.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/extending.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/abc.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/appdirectories.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/filesystem.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/misc.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/pypath.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/sourcetree.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/__main__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/base.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/proxy.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/keyvalue.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/mathematics.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/banners.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/boilerplate.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/boilerplate_copy.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/columnize.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/modules.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/repr.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/sanitizer.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/.gitignore +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/README.md +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/ansicolors.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/boilerplate.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/dictroast.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/forkumask.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-bpython.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-ipython.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-ptpython.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-pyzo.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/xdg-runtime.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/prediversus.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/repl.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/treeline.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/shelving/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/shelving/redat.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/shelving/redis.conf +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/stdio.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/hook.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/obsolete.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/pytest.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/utils.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/typespace/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/typespace/__main__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/typespace/namespace.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/typology.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/__main__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/git_version.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/read_version.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/codecov.yml +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/conftest.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/.DS_Store +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/Makefile +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/api.doctree +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/environment.pickle +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/generated/clu.doctree +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/index.doctree +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/.buildinfo +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_sources/api.rst.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_sources/generated/clu.rst.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_sources/index.rst.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/alabaster.css +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/basic.css +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/badge_only.css +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/theme.css +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/custom.css +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/doctools.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/documentation_options.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/file.png +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/jquery-3.6.0.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/jquery.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/badge_only.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/html5shiv.min.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/theme.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/language_data.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/minus.png +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/plus.png +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/pygments.css +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/searchtools.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/underscore-1.13.1.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/underscore.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/api.html +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/generated/clu.html +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/genindex.html +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/index.html +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/objects.inv +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/py-modindex.html +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/search.html +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/searchindex.js +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/man/clu.1 +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/make.bat +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/api.rst +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/conf.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/generated/clu.rst +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/index.rst +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/autohook.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/post-push/00-coverage.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/pre-push/00-noop.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/pre-push/01-direnv-stdlib.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/coverage.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/display-issues.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/git-pushex +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/noop.sh +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/mypy.ini +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/noxfile.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/pytest.ini +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/dependency_links.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/requires.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/top_level.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/zip-safe +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/pytype.cfg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/changelog.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/dev.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/docs.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/install.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/codecov.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/docs.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/manifest.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/pyproject.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/repl.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/tests.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/tox.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/requirements/typecheck.txt +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/direnv_transformed_env.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-module-list-example-small.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-module-list-example.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-module-list-example.pxd +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-testing-time-totals-example-small.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-testing-time-totals-example.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-testing-time-totals-example.pxd +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/construx-and-capsela-small.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/construx-and-capsela.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/construx-and-capsela.pxd +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/toml-module-rant.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/inline-tests-ImportError-uggggh.ipynb +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/scratch/nteract.ipynb +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/setup.cfg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/1-58.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/3471426989_aa8e83cac5_o.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/3472236406_1fbf1a567d_o.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/8600JC.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/8ba.png +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/IMG_20180505_205153567.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/cheetah-003.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/config/clu-config.toml +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/config/yodogg.toml +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/shutterstock_90194617.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodata/09163d51421853.5608b3c2a1be0.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodata/5d0227342500004e12e3506d.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodata/BlackCat2_large-22.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodogg/Serval_Cat_Kitten-706.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodogg/Servals_Thoiry_19801.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodogg/video-pride-serval.jpg +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_abstract.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_all.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_boilerplate.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_config.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_config_abc.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_csv.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_dicts.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_dispatch.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_enum_aliases.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_exporting.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_extending.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_abc.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_appdirectories.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_filesystem.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_misc.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_importing.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_keyvalue.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_mathematics.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_naming.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_predicates.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_repl_columnize.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_repl_modules.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_repr.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_scripts_repl.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_typespace_namespace.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_typology.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_version.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/.tm_properties +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/__init__.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/config.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/exporting.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/iheard.py +0 -0
- {python_clu-0.12.5 → python_clu-0.12.8}/tox.ini +0 -0
|
@@ -1,7 +1,62 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
## 0.12.
|
|
4
|
+
## 0.12.7:pre5+gf7f3ce2 [SNAPSHOT]
|
|
5
|
+
|
|
6
|
+
### Other
|
|
7
|
+
|
|
8
|
+
* Fixes in `clu.naming.{qualified_import,main_module_mame}(…)` [Alexander Böhn]
|
|
9
|
+
|
|
10
|
+
… “main_module_name(…)” was failing when called within bpython; now,
|
|
11
|
+
it’s cool
|
|
12
|
+
… “qualified_import(…)” calls itself recursively when an exception
|
|
13
|
+
is raised during an internal import call – this should mean its
|
|
14
|
+
own error-handling should keep runtime import errors from reaching
|
|
15
|
+
a user when it’s being called correctly (!)
|
|
16
|
+
|
|
17
|
+
* Very slight, and likely premature, optimization. [Alexander Böhn]
|
|
18
|
+
|
|
19
|
+
* Dead code cleanup. [Alexander Böhn]
|
|
20
|
+
|
|
21
|
+
* Don’t want to leave that test-ish line in there. [Alexander Böhn]
|
|
22
|
+
|
|
23
|
+
* A wee bit of error-handling in “clu-ansidocs” [Alexander Böhn]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## v0.12.7 (2025-05-19)
|
|
27
|
+
|
|
28
|
+
### Other
|
|
29
|
+
|
|
30
|
+
* Bumped version: 0.12.6 → 0.12.7. [Alexander Böhn]
|
|
31
|
+
|
|
32
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## v0.12.6 (2025-05-19)
|
|
36
|
+
|
|
37
|
+
### Other
|
|
38
|
+
|
|
39
|
+
* Bumped version: 0.12.5 → 0.12.6. [Alexander Böhn]
|
|
40
|
+
|
|
41
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
42
|
+
|
|
43
|
+
* The ANSI docstring CLU command seems to be up to snuff. [Alexander Böhn]
|
|
44
|
+
|
|
45
|
+
* Further along the prettyprinting path. [Alexander Böhn]
|
|
46
|
+
|
|
47
|
+
* Started on a new CLU command to prettyprint ANSI docstrings. [Alexander Böhn]
|
|
48
|
+
|
|
49
|
+
… please bear with as we travel on this journey together
|
|
50
|
+
|
|
51
|
+
* Gratuitously expanded the docstring for `negate(…)` in `clu.predicates` [Alexander Böhn]
|
|
52
|
+
|
|
53
|
+
… comparing the function to a child with oppositional-defiant disorder.
|
|
54
|
+
It makes a lot of sense, no?
|
|
55
|
+
|
|
56
|
+
* Spruced up the ANSI inline tests. [Alexander Böhn]
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## v0.12.5 (2025-05-19)
|
|
5
60
|
|
|
6
61
|
### Add
|
|
7
62
|
|
|
@@ -9,6 +64,10 @@
|
|
|
9
64
|
|
|
10
65
|
### Other
|
|
11
66
|
|
|
67
|
+
* Bumped version: 0.12.4 → 0.12.5. [Alexander Böhn]
|
|
68
|
+
|
|
69
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
70
|
+
|
|
12
71
|
* Starting to remove the legacy parts of `clu.config` [Alexander Böhn]
|
|
13
72
|
|
|
14
73
|
… fucking finally. These bits were an early draft of what became
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.12.8'
|
|
@@ -76,10 +76,20 @@ indication that you need to change something, dogg.
|
|
|
76
76
|
|
|
77
77
|
@export
|
|
78
78
|
def main_module_name(basepath=None):
|
|
79
|
+
""" Get the name of the current __main__ module (which may
|
|
80
|
+
very well just be “__main__”), but still.
|
|
81
|
+
"""
|
|
79
82
|
import __main__
|
|
80
|
-
|
|
83
|
+
from clu.predicates import attr
|
|
84
|
+
|
|
85
|
+
# Default:
|
|
86
|
+
if not basepath:
|
|
81
87
|
basepath = BASEPATH
|
|
82
|
-
|
|
88
|
+
|
|
89
|
+
# In some REPLs “__main__.__file__” is not set:
|
|
90
|
+
attribute_name = attr(__main__, '__file__',
|
|
91
|
+
'__spec__.name')
|
|
92
|
+
return path_to_dotpath(attribute_name,
|
|
83
93
|
relative_to=basepath)
|
|
84
94
|
|
|
85
95
|
@export
|
|
@@ -234,7 +244,7 @@ def qualified_import(qualified):
|
|
|
234
244
|
imported = importlib.import_module(qualified)
|
|
235
245
|
except ModuleNotFoundError:
|
|
236
246
|
head, tail = dotpath_split(qualified)
|
|
237
|
-
module =
|
|
247
|
+
module = qualified_import(tail)
|
|
238
248
|
imported = getattr(module, head)
|
|
239
249
|
return imported
|
|
240
250
|
|
|
@@ -40,6 +40,12 @@ False
|
|
|
40
40
|
>>> uncallable = lambda thing: negate(callable)(thing) # see below!
|
|
41
41
|
>>> os.path.differentfile = negate(os.path.samefile) # I’ll admit to having done this
|
|
42
42
|
>>> misfnmatch = negate(shutil.fnmatch.fnmatch) # There are times when this makes sense
|
|
43
|
+
|
|
44
|
+
### … Basically, `negate(…)` is like oppositional-defiant disorder for functions. Like,
|
|
45
|
+
### if your mom asks you “Do you want dinner?” she is passing you a lambda function for
|
|
46
|
+
### you to evaluate, returning True or False accordingly. But the ODD child of course
|
|
47
|
+
### does not simply return True or False – the ODD child will `negate(…)` their moms’
|
|
48
|
+
### lambda and pass it back to her. Totally.
|
|
43
49
|
"""
|
|
44
50
|
|
|
45
51
|
# PREDICATE FUNCTIONS: boolean predicates for class types
|
|
@@ -776,27 +776,31 @@ def test():
|
|
|
776
776
|
from itertools import product
|
|
777
777
|
|
|
778
778
|
@inline
|
|
779
|
-
def
|
|
779
|
+
def test_print_ansi():
|
|
780
|
+
""" No-nonsense check of “print_ansi(…)” """
|
|
780
781
|
print_ansi('yo dogg')
|
|
781
782
|
print_ansi_centered('I heard you like non-ANSI-formatted text')
|
|
782
783
|
|
|
783
784
|
@inline
|
|
784
|
-
def
|
|
785
|
+
def test_legacy_ansidoc():
|
|
786
|
+
""" Try the legacy ANSIDoc functions """
|
|
785
787
|
old_ansidoc(Exporter)
|
|
786
788
|
old_ansidoc(product)
|
|
787
789
|
|
|
788
790
|
@inline
|
|
789
|
-
def
|
|
791
|
+
def test_ansidoc():
|
|
792
|
+
""" Test the current (class-based) ANSIDoc function """
|
|
790
793
|
ansidoc(Exporter)
|
|
791
794
|
ansidoc(product)
|
|
792
795
|
|
|
793
796
|
@inline
|
|
794
797
|
def test_three():
|
|
798
|
+
""" Manual test of the DocFormat class """
|
|
795
799
|
fmt = DocFormat()
|
|
796
800
|
fmt(Exporter)
|
|
797
801
|
fmt(product)
|
|
798
802
|
|
|
799
|
-
return inline.test()
|
|
803
|
+
return inline.test(10)
|
|
800
804
|
|
|
801
805
|
if __name__ == '__main__':
|
|
802
806
|
sys.exit(test())
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
from __future__ import print_function
|
|
4
|
+
|
|
5
|
+
import os
|
|
6
|
+
import sys
|
|
7
|
+
import shlex
|
|
8
|
+
|
|
9
|
+
from clu.repl.ansi import DocFormat
|
|
10
|
+
ansidocs = DocFormat()
|
|
11
|
+
|
|
12
|
+
def actually_print_ansidocs(dotpath):
|
|
13
|
+
""" This function prints the ANSI docs directly to standard output,
|
|
14
|
+
formatting accordingly (as in, no ANSI if we can’t ANSI)
|
|
15
|
+
"""
|
|
16
|
+
from clu.naming import qualified_import
|
|
17
|
+
from importlib import import_module
|
|
18
|
+
|
|
19
|
+
# Attempt to import it:
|
|
20
|
+
try:
|
|
21
|
+
thing = qualified_import(dotpath)
|
|
22
|
+
except ValueError:
|
|
23
|
+
thing = import_module(dotpath)
|
|
24
|
+
except AttributeError as error:
|
|
25
|
+
error_string = str(error)
|
|
26
|
+
print(f"[ERROR] {error_string}", file=ansidocs.iohandle)
|
|
27
|
+
sys.exit(os.EX_CONFIG)
|
|
28
|
+
|
|
29
|
+
# This goes directly to stdout:
|
|
30
|
+
ansidocs(thing)
|
|
31
|
+
|
|
32
|
+
def ansidocs_command():
|
|
33
|
+
""" Print out the ANSI-ified docstring for the given thing(s) """
|
|
34
|
+
from clu.constants import consts
|
|
35
|
+
|
|
36
|
+
command = " ".join(sys.argv)
|
|
37
|
+
executable, *dotpaths = shlex.split(command)
|
|
38
|
+
|
|
39
|
+
# If we’re debuggin’ lets’s talk about what we got:
|
|
40
|
+
if consts.DEBUG:
|
|
41
|
+
alldotpaths = " ".join(dotpaths)
|
|
42
|
+
print(f"EXECUTABLE: {executable}")
|
|
43
|
+
print(f"DOTPATHS: {alldotpaths}")
|
|
44
|
+
print()
|
|
45
|
+
|
|
46
|
+
# The actual dirty work
|
|
47
|
+
for dotpath in dotpaths:
|
|
48
|
+
actually_print_ansidocs(dotpath)
|
|
49
|
+
|
|
50
|
+
# Return nice-nice for my POSI(X)ES:
|
|
51
|
+
return os.EX_OK
|
|
52
|
+
|
|
53
|
+
if __name__ == '__main__':
|
|
54
|
+
sys.exit(ansidocs_command())
|
|
@@ -22,6 +22,7 @@ email = "fish2000@gmail.com"
|
|
|
22
22
|
|
|
23
23
|
[project.scripts]
|
|
24
24
|
clu-version = 'clu.repl.cli.print_version:print_version_command'
|
|
25
|
+
clu-ansidocs = 'clu.repl.cli.ansidocs:ansidocs_command'
|
|
25
26
|
clu-boilerplate = 'clu.repl.cli.boilerplate:boilerplate_command'
|
|
26
27
|
clu-boilercopy = 'clu.repl.cli.boilerplate:boilerplate_copy_command'
|
|
27
28
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
|
+
clu-ansidocs = clu.repl.cli.ansidocs:ansidocs_command
|
|
2
3
|
clu-boilercopy = clu.repl.cli.boilerplate:boilerplate_copy_command
|
|
3
4
|
clu-boilerplate = clu.repl.cli.boilerplate:boilerplate_command
|
|
4
5
|
clu-version = clu.repl.cli.print_version:print_version_command
|
|
@@ -62,6 +62,7 @@ BASE_PATH = os.path.join(
|
|
|
62
62
|
# ENTRY POINTS
|
|
63
63
|
ENTRY_POINTS = {
|
|
64
64
|
'console_scripts' : [ 'clu-version = clu.repl.cli.print_version:print_version_command',
|
|
65
|
+
'clu-ansidocs = clu.repl.cli.ansidocs:ansidocs_command',
|
|
65
66
|
'clu-boilerplate = clu.repl.cli.boilerplate:boilerplate_command',
|
|
66
67
|
'clu-boilercopy = clu.repl.cli.boilerplate:boilerplate_copy_command'],
|
|
67
68
|
'pytest11' : [ 'clu-testing = clu.testing.pytest']
|
|
@@ -87,7 +88,7 @@ try:
|
|
|
87
88
|
'__version__.py')).read(),
|
|
88
89
|
'__version__.py', 'exec'))
|
|
89
90
|
except:
|
|
90
|
-
__version__ = '0.12.
|
|
91
|
+
__version__ = '0.12.8'
|
|
91
92
|
|
|
92
93
|
# PROJECT DESCRIPTION
|
|
93
94
|
LONG_DESCRIPTION = project_content('ABOUT.md')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.12.5'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|