Add
* Added a “consts” fixture to the pytest plugin. [Alexander Böhn]
Other
* Bump version: 0.4.10 → 0.5.0. [Alexander Böhn]
* Made “clu.importint.ProxyModule” a real thing ... with tests (both inline and unitary), docstrings and notes, differentiated support functions and classes… YOU NAME IT ... !!!!!!!!!!!!!!!!!! FUCK YES !!!!!!!!!!!!!!!!!!! [Alexander Böhn]
* Further notations, errata, and error-message minutiae. [Alexander Böhn]
* Bespoke (aka hack-tastic) one-off proxy-module typename reporting. [Alexander Böhn]
* De-redundifying proxy-module “__getattr__(…)” error handling. [Alexander Böhn]
* Position one arg for module name, keyword-only arg for docstring. [Alexander Böhn]
* Docstring for experimental proxy-module “__init__(…)” call. [Alexander Böhn]
* Uncluttering proxy module namespace via function inlining. [Alexander Böhn]
* Trimming class-module instance methods in “__execute__()” [Alexander Böhn]
* Trimming intermediate target lists from proxy module internals. [Alexander Böhn]
* Threw in an additional assert in old test, just to be safe. [Alexander Böhn]
* Updated “clu.typology” assertion regarding “clu.extending” ancestry. [Alexander Böhn]
* Experimental class-based module-wrapper proxy thing in tests ... the meat of this currently resides in “test_importing.py”, q.v. test function ‘test_module_dict_proxy_idea’ supra. for the module-class proxy reference implementation, a working example subclass and example code that does not fail to run ... basically it’s a ChainMap for module attributes (like literally as this implementation uses “clu.dicts.ChainMap” internally) ... also internally, the sub-sub-sub-sub-metaclass base for all class-based modules inherits from “clu.extending.Extensible” – which that type itself inherits from “clu.abstract.NonSlotted” instead of plain ol’ ‘type’ ... the implementation classes for the “clu.extending.doubledutch” decorator – “DoubleDutchRegistry” and “DoubleDutchFunction” – now leverage a number of CLU- and standard-library-based ABCs. [Alexander Böhn]
* The “clumods” pytest fixture now depends on the “consts” fixture. [Alexander Böhn]
* Session-scoping the “greektext” pytest fixture. [Alexander Böhn]
* Moreso deployment of the new “consts” pytest fixture. [Alexander Böhn]
* Updated comment note on module inclusion criterion. [Alexander Böhn]
* Import shuffle. [Alexander Böhn]
* Killed trailing whitespace. [Alexander Böhn]
* Generalized and centralized import-all-modules logic ... created a new module “clu.all”, containing two functions: • “import_all_modules(basepath, appname)” → Imports all modules, both file-based and class-based, from the app «appname» within the package rooted at «basepath» • “import_clu_modules()” → Imports all CLU-specific modules – a convenience call for “import_all_modules(consts.BASEPATH, consts.PROJECT_NAME)” ... the “clu.testing.pytest.clumods” fixture now simply delegates to a call to “clu.all.import_clu_modules()” ... the clu-module-importing function in ye olde “show-modules.py” script has been replaced with “clu.all.import_all_modules(…)” ... no specific tests have been added because this shit is already super-100%-plus covered by existing test code, doggie. [Alexander Böhn]
* Re-instating “rm_rf(…)” usage in pytest plugin’s exit handle. [Alexander Böhn]
* Using “shutil.rmtree(…)” in “clu.fs.filesystem.rm_rf(…)” ... instead of all of my tortured bespoke logic that apparently did not quite work right. [Alexander Böhn]
* Noting possible one-liner for “installed_appnames()” impl. [Alexander Böhn]