python-clu 0.12.9__tar.gz → 0.12.12__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.9 → python_clu-0.12.12}/.bumpversion.toml +1 -1
- {python_clu-0.12.9 → python_clu-0.12.12}/CHANGELOG.md +63 -1
- {python_clu-0.12.9 → python_clu-0.12.12}/CLASSIFIERS.txt +0 -1
- {python_clu-0.12.9 → python_clu-0.12.12}/CODE_OF_CONDUCT.md +7 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/PKG-INFO +1 -2
- python_clu-0.12.12/clu/__version__.py +1 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/enums.py +5 -5
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/naming.py +16 -5
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/cli/ansidocs.py +3 -2
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/repl.py +8 -6
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/treeline.py +1 -1
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/PKG-INFO +1 -2
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/dev.txt +0 -1
- {python_clu-0.12.9 → python_clu-0.12.12}/setup.py +8 -12
- python_clu-0.12.9/clu/__version__.py +0 -1
- {python_clu-0.12.9 → python_clu-0.12.12}/.coveragerc +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/.editorconfig +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/.gitchangelog.rc +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/.gitignore +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/.landscape.yml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/.travis.yml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/ABOUT.md +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/CLU_Treatment.md +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/LICENSE.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/MANIFEST.in +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/Makefile +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/README.md +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/appveyor.yml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/__main__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/abstract.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/all.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/api/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/api/__main__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/application.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/compilation/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/compilation/compiledb.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/compilation/macros.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/abc.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/codecs.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/env.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/filebase.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/formats/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/formats/jsonfile.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/formats/picklefile.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/formats/tomlfile.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/formats/yamlfile.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/keymap.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/keymapview.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/legacy/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/legacy/base.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/legacy/fieldtypes.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/legacy/settings.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/ns.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/config/proxy.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/__main__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/consts.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/data.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/enums.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/exceptions.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/constants/polyfills.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/csv.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/dicts.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/dispatch.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/exporting.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/extending.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/abc.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/appdirectories.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/filesystem.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/misc.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/pypath.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/fs/sourcetree.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/importing/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/importing/__main__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/importing/base.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/importing/proxy.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/keyvalue.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/mathematics.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/predicates.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/ansi.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/banners.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/cli/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/cli/boilerplate.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/cli/boilerplate_copy.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/cli/print_version.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/columnize.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repl/modules.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/repr.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/sanitizer.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/.gitignore +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/README.md +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/ansicolors.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/boilerplate.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/dictroast.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/legacy/forkumask.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/legacy/repl-bpython.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/legacy/repl-ipython.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/legacy/repl-ptpython.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/legacy/repl-pyzo.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/legacy/xdg-runtime.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/scripts/prediversus.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/shelving/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/shelving/redat.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/shelving/redis.conf +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/stdio.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/testing/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/testing/hook.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/testing/obsolete.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/testing/pytest.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/testing/utils.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/typespace/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/typespace/__main__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/typespace/namespace.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/typology.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/version/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/version/__main__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/version/git_version.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/clu/version/read_version.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/codecov.yml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/conftest.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/.DS_Store +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/Makefile +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/doctrees/api.doctree +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/doctrees/environment.pickle +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/doctrees/generated/clu.doctree +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/doctrees/index.doctree +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/.buildinfo +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_sources/api.rst.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_sources/generated/clu.rst.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_sources/index.rst.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/alabaster.css +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/basic.css +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/badge_only.css +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/css/theme.css +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/custom.css +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/doctools.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/documentation_options.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/file.png +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/jquery-3.6.0.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/jquery.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/js/badge_only.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/js/html5shiv.min.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/js/theme.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/language_data.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/minus.png +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/plus.png +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/pygments.css +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/searchtools.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/underscore-1.13.1.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/_static/underscore.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/api.html +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/generated/clu.html +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/genindex.html +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/index.html +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/objects.inv +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/py-modindex.html +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/search.html +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/html/searchindex.js +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/build/man/clu.1 +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/make.bat +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/source/api.rst +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/source/conf.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/source/generated/clu.rst +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/docs/source/index.rst +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/autohook.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/post-push/00-coverage.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/pre-push/00-noop.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/pre-push/01-direnv-stdlib.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/scripts/coverage.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/scripts/display-issues.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/scripts/git-pushex +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/hooks/scripts/noop.sh +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/mypy.ini +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/noxfile.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/pyproject.toml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/pytest.ini +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/SOURCES.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/dependency_links.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/entry_points.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/requires.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/top_level.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/python_clu.egg-info/zip-safe +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/pytype.cfg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/changelog.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/docs.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/install.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/nox/codecov.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/nox/docs.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/nox/manifest.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/nox/pyproject.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/nox/repl.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/nox/tests.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/tox.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/requirements/typecheck.txt +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/direnv_transformed_env.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/clu-module-list-example-small.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/clu-module-list-example.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/clu-module-list-example.pxd +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/clu-testing-time-totals-example-small.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/clu-testing-time-totals-example.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/clu-testing-time-totals-example.pxd +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/construx-and-capsela-small.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/construx-and-capsela.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/construx-and-capsela.pxd +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/images/toml-module-rant.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/inline-tests-ImportError-uggggh.ipynb +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/scratch/nteract.ipynb +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/setup.cfg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/1-58.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/3471426989_aa8e83cac5_o.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/3472236406_1fbf1a567d_o.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/8600JC.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/8ba.png +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/IMG_20180505_205153567.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/cheetah-003.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/config/clu-config.toml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/config/yodogg.toml +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/shutterstock_90194617.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/yodata/09163d51421853.5608b3c2a1be0.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/yodata/5d0227342500004e12e3506d.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/yodata/BlackCat2_large-22.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/yodogg/Serval_Cat_Kitten-706.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/yodogg/Servals_Thoiry_19801.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/data/yodogg/video-pride-serval.jpg +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_abstract.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_all.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_boilerplate.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_config.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_config_abc.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_csv.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_dicts.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_dispatch.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_enum_aliases.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_exporting.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_extending.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_fs_abc.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_fs_appdirectories.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_fs_filesystem.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_fs_misc.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_importing.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_keyvalue.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_mathematics.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_naming.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_predicates.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_repl_columnize.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_repl_modules.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_repr.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_scripts_repl.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_typespace_namespace.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_typology.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/test_version.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/yodogg/.tm_properties +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/yodogg/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/yodogg/yodogg/__init__.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/yodogg/yodogg/config.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/yodogg/yodogg/exporting.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tests/yodogg/yodogg/iheard.py +0 -0
- {python_clu-0.12.9 → python_clu-0.12.12}/tox.ini +0 -0
|
@@ -1,7 +1,65 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
## 0.12.
|
|
4
|
+
## 0.12.11:pre6+gf6ef978 [SNAPSHOT]
|
|
5
|
+
|
|
6
|
+
### Other
|
|
7
|
+
|
|
8
|
+
* Reaffirming the commands’ non-erroneousness AGAIN!! [Alexander Böhn]
|
|
9
|
+
|
|
10
|
+
* Reaffirming the commands’ non-erroneousness. [Alexander Böhn]
|
|
11
|
+
|
|
12
|
+
* Supress raising pointless `ValueError`s when running “clu-ansidocs” [Alexander Böhn]
|
|
13
|
+
|
|
14
|
+
* Properly assigning `__doc__` string. [Alexander Böhn]
|
|
15
|
+
|
|
16
|
+
* Small updates to `clu.enums` and `clu.naming.qualified_import(…)` [Alexander Böhn]
|
|
17
|
+
|
|
18
|
+
… “clu.enums” uses its DUNDER constant internally
|
|
19
|
+
… “clu.naming.qualified_import(…)” has an internally-used “recurse”
|
|
20
|
+
argument that basically disables the whole “qualified” check,
|
|
21
|
+
which by the way I am starting to see as totally unnecessary
|
|
22
|
+
|
|
23
|
+
* Docstring MUST OCCUR FIRST!!! in a thing. [Alexander Böhn]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## v0.12.11 (2025-05-25)
|
|
27
|
+
|
|
28
|
+
### Other
|
|
29
|
+
|
|
30
|
+
* Bumped version: 0.12.10 → 0.12.11. [Alexander Böhn]
|
|
31
|
+
|
|
32
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
33
|
+
|
|
34
|
+
* Ahhhh my home-brewed classifier didn’t work, booooo. [Alexander Böhn]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## v0.12.10 (2025-05-25)
|
|
38
|
+
|
|
39
|
+
### Other
|
|
40
|
+
|
|
41
|
+
* Bumped version: 0.12.9 → 0.12.10. [Alexander Böhn]
|
|
42
|
+
|
|
43
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
44
|
+
|
|
45
|
+
* Fixed `clu.naming.qualified_name_tuple(…)` to work for module objects. [Alexander Böhn]
|
|
46
|
+
|
|
47
|
+
… this involved special-casing the whole thing, but it was worth it,
|
|
48
|
+
as it just wasn’t fucking working for this entire case this whole
|
|
49
|
+
time, which is fucking embarrasing. Yes!
|
|
50
|
+
|
|
51
|
+
* More requirement/REPL-import adjustments. [Alexander Böhn]
|
|
52
|
+
|
|
53
|
+
* Code of Conduct clarification. [Alexander Böhn]
|
|
54
|
+
|
|
55
|
+
* Classifier tidy-up. [Alexander Böhn]
|
|
56
|
+
|
|
57
|
+
* Gentlemen prefer f-strings. [Alexander Böhn]
|
|
58
|
+
|
|
59
|
+
* Updating straggling little info corners that didn’t get the memo. [Alexander Böhn]
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## v0.12.9 (2025-05-24)
|
|
5
63
|
|
|
6
64
|
### Add
|
|
7
65
|
|
|
@@ -13,6 +71,10 @@
|
|
|
13
71
|
|
|
14
72
|
### Other
|
|
15
73
|
|
|
74
|
+
* Bumped version: 0.12.8 → 0.12.9. [Alexander Böhn]
|
|
75
|
+
|
|
76
|
+
* [make] New changelog added. [Alexander Böhn]
|
|
77
|
+
|
|
16
78
|
* Removed (fortunately vestigial) Click package dependency. [Alexander Böhn]
|
|
17
79
|
|
|
18
80
|
* Expanded “getdoc” codepath in `clu.repl.ansi.signature(…)` [Alexander Böhn]
|
|
@@ -74,3 +74,10 @@ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.ht
|
|
|
74
74
|
|
|
75
75
|
For answers to common questions about this code of conduct, see
|
|
76
76
|
https://www.contributor-covenant.org/faq
|
|
77
|
+
|
|
78
|
+
## The Main Thing
|
|
79
|
+
|
|
80
|
+
Do not be dicks. If you or people you happen to like are dicks, they will have to go
|
|
81
|
+
be dickish elsewhere, and in exrtreme cases you’ll be reported to the FBI or perhaps
|
|
82
|
+
shot at dawn through the lungs, to prevent you from being such dickhead morons.
|
|
83
|
+
OK? OK.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-clu
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.12
|
|
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
|
|
@@ -24,7 +24,6 @@ Classifier: Topic :: Software Development
|
|
|
24
24
|
Classifier: Topic :: Software Development :: Testing
|
|
25
25
|
Classifier: Topic :: Utilities
|
|
26
26
|
Classifier: Operating System :: MacOS
|
|
27
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
28
27
|
Classifier: Operating System :: OS Independent
|
|
29
28
|
Classifier: Operating System :: POSIX
|
|
30
29
|
Classifier: Operating System :: Unix
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.12.12'
|
|
@@ -16,8 +16,6 @@ MIFFLIN = SUNDER = '_aliases_'
|
|
|
16
16
|
@export
|
|
17
17
|
class alias(clu.abstract.BaseDescriptor, metaclass=clu.abstract.Slotted):
|
|
18
18
|
|
|
19
|
-
__slots__ = ('name', 'aliased')
|
|
20
|
-
|
|
21
19
|
""" Alias one Enum class instance to another. To wit:
|
|
22
20
|
|
|
23
21
|
@unique
|
|
@@ -48,6 +46,8 @@ class alias(clu.abstract.BaseDescriptor, metaclass=clu.abstract.Slotted):
|
|
|
48
46
|
ISN’T ALL OF THAT FUCKING AWESOME?!?!? I think so. Yes!
|
|
49
47
|
"""
|
|
50
48
|
|
|
49
|
+
__slots__ = ('name', 'aliased')
|
|
50
|
+
|
|
51
51
|
def __init__(self, instance, name=None, cls=None):
|
|
52
52
|
""" Set up the alias, passing an enum instance.
|
|
53
53
|
|
|
@@ -94,7 +94,7 @@ class alias(clu.abstract.BaseDescriptor, metaclass=clu.abstract.Slotted):
|
|
|
94
94
|
if it has a dictionary attribute “__aliases__”).
|
|
95
95
|
"""
|
|
96
96
|
self.name = name
|
|
97
|
-
if hasattr(cls,
|
|
97
|
+
if hasattr(cls, DUNDER): # check for __aliases__
|
|
98
98
|
if self.name in cls.__aliases__:
|
|
99
99
|
message = f"Enum already contains an alias named {self.name}"
|
|
100
100
|
raise AttributeError(message)
|
|
@@ -113,8 +113,8 @@ class AliasingEnumMeta(EnumMeta):
|
|
|
113
113
|
the normal enum `__members__` directory only with aliases. Yes.
|
|
114
114
|
"""
|
|
115
115
|
|
|
116
|
-
if
|
|
117
|
-
attributes[
|
|
116
|
+
if DUNDER not in attributes:
|
|
117
|
+
attributes[DUNDER] = {}
|
|
118
118
|
|
|
119
119
|
return super().__new__(metacls, name,
|
|
120
120
|
bases,
|
|
@@ -32,7 +32,7 @@ def determine_module(thing, name=None):
|
|
|
32
32
|
import pickle
|
|
33
33
|
return pickle.whichmodule(thing, name) # type: ignore
|
|
34
34
|
|
|
35
|
-
"""
|
|
35
|
+
__doc__ = """
|
|
36
36
|
NAME AND MODULE SEARCH FUNCTIONS: the “nameof(…)” and “moduleof(…)”
|
|
37
37
|
functions each search through, in order:
|
|
38
38
|
|
|
@@ -248,17 +248,17 @@ def dotpath_split(dotpath):
|
|
|
248
248
|
return head, tail or None
|
|
249
249
|
|
|
250
250
|
@export
|
|
251
|
-
def qualified_import(qualified):
|
|
251
|
+
def qualified_import(qualified, *, recurse=False):
|
|
252
252
|
""" Import a thing based on its full thing-name.
|
|
253
253
|
e.g. 'instakit.processors.halftone.FloydSteinberg'
|
|
254
254
|
"""
|
|
255
|
-
if QUALIFIER not in qualified:
|
|
255
|
+
if not recurse and QUALIFIER not in qualified:
|
|
256
256
|
raise ValueError(f"qualified name required (got {qualified})")
|
|
257
257
|
try:
|
|
258
258
|
imported = importlib.import_module(qualified)
|
|
259
259
|
except ModuleNotFoundError:
|
|
260
260
|
head, tail = dotpath_split(qualified)
|
|
261
|
-
module = qualified_import(tail)
|
|
261
|
+
module = qualified_import(tail, recurse=True)
|
|
262
262
|
imported = getattr(module, head)
|
|
263
263
|
return imported
|
|
264
264
|
|
|
@@ -267,7 +267,18 @@ def qualified_name_tuple(thing):
|
|
|
267
267
|
""" Get the thing-name and module/package name for a class or module.
|
|
268
268
|
e.g. ('FloydSteinberg', 'instakit.processors.halftone')
|
|
269
269
|
"""
|
|
270
|
-
from clu.predicates import pyqualname
|
|
270
|
+
from clu.predicates import pyqualname, pyname
|
|
271
|
+
from clu.typology import ismodule
|
|
272
|
+
|
|
273
|
+
# Special case for figuring out module names:
|
|
274
|
+
if ismodule(thing):
|
|
275
|
+
putative = pyname(thing)
|
|
276
|
+
if QUALIFIER in putative:
|
|
277
|
+
partition = putative.rpartition(QUALIFIER)
|
|
278
|
+
return partition[-1:][0], partition[:-1][0]
|
|
279
|
+
else:
|
|
280
|
+
return putative, ''
|
|
281
|
+
|
|
271
282
|
return pyqualname(thing) or nameof(thing), \
|
|
272
283
|
moduleof(thing)
|
|
273
284
|
|
|
@@ -18,9 +18,9 @@ def actually_print_ansidocs(dotpath):
|
|
|
18
18
|
|
|
19
19
|
# Attempt to import it:
|
|
20
20
|
try:
|
|
21
|
-
thing = qualified_import(dotpath)
|
|
21
|
+
thing = qualified_import(dotpath, recurse=True)
|
|
22
22
|
except ValueError:
|
|
23
|
-
thing =
|
|
23
|
+
thing = actually_print_ansidocs(dotpath)
|
|
24
24
|
except AttributeError as error:
|
|
25
25
|
error_string = str(error)
|
|
26
26
|
print(f"[ERROR] {error_string}", file=ansidocs.iohandle)
|
|
@@ -28,6 +28,7 @@ def actually_print_ansidocs(dotpath):
|
|
|
28
28
|
|
|
29
29
|
# This goes directly to stdout:
|
|
30
30
|
ansidocs(thing)
|
|
31
|
+
return thing
|
|
31
32
|
|
|
32
33
|
def ansidocs_command():
|
|
33
34
|
""" Print out the ANSI-ified docstring for the given thing(s) """
|
|
@@ -76,16 +76,13 @@ GLOBALS = globals()
|
|
|
76
76
|
starmods = ('clu.repl.ansi',
|
|
77
77
|
'clu.repl.columnize',
|
|
78
78
|
'clu.repl.modules',
|
|
79
|
-
'clu.constants.enums',
|
|
80
|
-
'clu.constants.data',
|
|
81
|
-
'clu.application',
|
|
82
79
|
'clu.config.abc',
|
|
83
80
|
'clu.config.env',
|
|
84
81
|
'clu.config.keymap',
|
|
85
82
|
'clu.config.proxy',
|
|
86
|
-
'clu.dicts', 'clu.
|
|
83
|
+
'clu.dicts', 'clu.exporting',
|
|
87
84
|
'clu.importing', 'clu.naming', 'clu.predicates', 'clu.typology',
|
|
88
|
-
'clu.fs.
|
|
85
|
+
'clu.fs.filesystem', 'clu.fs.misc',
|
|
89
86
|
'clu.scripts.treeline',
|
|
90
87
|
'clu.typespace.namespace',
|
|
91
88
|
'clu.testing.utils')
|
|
@@ -94,15 +91,20 @@ mods = ('clu',
|
|
|
94
91
|
'clu.all',
|
|
95
92
|
'clu.abstract',
|
|
96
93
|
'clu.constants.consts',
|
|
94
|
+
'clu.constants.data',
|
|
95
|
+
'clu.constants.enums',
|
|
97
96
|
'clu.constants.polyfills',
|
|
98
97
|
'clu.config.codecs',
|
|
99
98
|
'clu.config.ns',
|
|
100
99
|
'clu.csv',
|
|
100
|
+
'clu.enums',
|
|
101
|
+
'clu.fs.abc',
|
|
101
102
|
'clu.fs.appdirectories',
|
|
102
103
|
'clu.keyvalue',
|
|
103
104
|
'clu.mathematics',
|
|
104
105
|
'clu.dispatch', 'clu.sanitizer', 'clu.fs.pypath',
|
|
105
106
|
'clu.extending', 'clu.shelving.redat',
|
|
107
|
+
'clu.repr',
|
|
106
108
|
'clu.scripts.ansicolors',
|
|
107
109
|
'clu.scripts.treeline',
|
|
108
110
|
'clu.stdio',
|
|
@@ -113,7 +115,7 @@ mods = ('clu',
|
|
|
113
115
|
'datetime', 'functools', 'importlib', 'inspect',
|
|
114
116
|
'itertools', 'math', 'operator', 'pathlib',
|
|
115
117
|
'pickle', 'six', 'shutil', 'sysconfig', 'weakref',
|
|
116
|
-
'numpy', '
|
|
118
|
+
'numpy', 'colorama',
|
|
117
119
|
'xerox', 'zict')
|
|
118
120
|
|
|
119
121
|
# “Star-import” all starmods – this is equivalent to doing:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-clu
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.12
|
|
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
|
|
@@ -24,7 +24,6 @@ Classifier: Topic :: Software Development
|
|
|
24
24
|
Classifier: Topic :: Software Development :: Testing
|
|
25
25
|
Classifier: Topic :: Utilities
|
|
26
26
|
Classifier: Operating System :: MacOS
|
|
27
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
28
27
|
Classifier: Operating System :: OS Independent
|
|
29
28
|
Classifier: Operating System :: POSIX
|
|
30
29
|
Classifier: Operating System :: Unix
|
|
@@ -23,13 +23,12 @@
|
|
|
23
23
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
24
|
# SOFTWARE.
|
|
25
25
|
#
|
|
26
|
-
''' CLU - Common Lightweight Utilities
|
|
26
|
+
''' CLU - Common Lightweight Utilities '''
|
|
27
27
|
|
|
28
28
|
from __future__ import print_function
|
|
29
29
|
from setuptools import setup, find_packages
|
|
30
30
|
|
|
31
|
-
import os
|
|
32
|
-
import sys
|
|
31
|
+
import sys, os, io
|
|
33
32
|
import sysconfig
|
|
34
33
|
|
|
35
34
|
# CONSTANTS
|
|
@@ -40,11 +39,9 @@ AUTHOR_USER = 'fish2000'
|
|
|
40
39
|
GITHUB = 'github.com'
|
|
41
40
|
GMAIL = 'gmail.com'
|
|
42
41
|
|
|
43
|
-
AUTHOR_EMAIL = '
|
|
44
|
-
PROJECT_GH_URL = 'https
|
|
45
|
-
|
|
46
|
-
PROJECT_NAME)
|
|
47
|
-
PROJECT_DL_URL = '%s/zipball/master' % PROJECT_GH_URL
|
|
42
|
+
AUTHOR_EMAIL = f'{AUTHOR_USER}@{GMAIL}'
|
|
43
|
+
PROJECT_GH_URL = f'https://{GITHUB}/{AUTHOR_USER}/{PROJECT_NAME}'
|
|
44
|
+
PROJECT_DL_URL = f'{PROJECT_GH_URL}/zipball/master'
|
|
48
45
|
|
|
49
46
|
KEYWORDS = ('command',
|
|
50
47
|
'utilities', PROJECT_NAME,
|
|
@@ -69,15 +66,14 @@ ENTRY_POINTS = {
|
|
|
69
66
|
}
|
|
70
67
|
|
|
71
68
|
def project_content(*filenames):
|
|
72
|
-
import io
|
|
73
69
|
filepath = os.path.join(CWD, *filenames)
|
|
74
70
|
if not os.path.isfile(filepath):
|
|
75
|
-
raise IOError("
|
|
71
|
+
raise IOError(f"File {filepath} doesn't exist")
|
|
76
72
|
out = ''
|
|
77
73
|
with io.open(filepath, 'r') as handle:
|
|
78
74
|
out += handle.read()
|
|
79
75
|
if not out:
|
|
80
|
-
raise ValueError("
|
|
76
|
+
raise ValueError(f"File {filepath} couldn't be read")
|
|
81
77
|
return out.strip()
|
|
82
78
|
|
|
83
79
|
# PROJECT VERSION & METADATA
|
|
@@ -88,7 +84,7 @@ try:
|
|
|
88
84
|
'__version__.py')).read(),
|
|
89
85
|
'__version__.py', 'exec'))
|
|
90
86
|
except:
|
|
91
|
-
__version__ = '0.12.
|
|
87
|
+
__version__ = '0.12.12'
|
|
92
88
|
|
|
93
89
|
# PROJECT DESCRIPTION
|
|
94
90
|
LONG_DESCRIPTION = project_content('ABOUT.md')
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.12.9'
|
|
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
|