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.
Files changed (283) hide show
  1. {python_clu-0.12.5 → python_clu-0.12.8}/.bumpversion.toml +1 -1
  2. {python_clu-0.12.5 → python_clu-0.12.8}/CHANGELOG.md +60 -1
  3. {python_clu-0.12.5 → python_clu-0.12.8}/PKG-INFO +1 -1
  4. python_clu-0.12.8/clu/__version__.py +1 -0
  5. {python_clu-0.12.5 → python_clu-0.12.8}/clu/naming.py +13 -3
  6. {python_clu-0.12.5 → python_clu-0.12.8}/clu/predicates.py +6 -0
  7. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/ansi.py +8 -4
  8. python_clu-0.12.8/clu/repl/cli/ansidocs.py +54 -0
  9. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/print_version.py +0 -1
  10. {python_clu-0.12.5 → python_clu-0.12.8}/pyproject.toml +1 -0
  11. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/PKG-INFO +1 -1
  12. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/SOURCES.txt +1 -0
  13. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/entry_points.txt +1 -0
  14. {python_clu-0.12.5 → python_clu-0.12.8}/setup.py +2 -1
  15. python_clu-0.12.5/clu/__version__.py +0 -1
  16. {python_clu-0.12.5 → python_clu-0.12.8}/.coveragerc +0 -0
  17. {python_clu-0.12.5 → python_clu-0.12.8}/.editorconfig +0 -0
  18. {python_clu-0.12.5 → python_clu-0.12.8}/.gitchangelog.rc +0 -0
  19. {python_clu-0.12.5 → python_clu-0.12.8}/.gitignore +0 -0
  20. {python_clu-0.12.5 → python_clu-0.12.8}/.landscape.yml +0 -0
  21. {python_clu-0.12.5 → python_clu-0.12.8}/.travis.yml +0 -0
  22. {python_clu-0.12.5 → python_clu-0.12.8}/ABOUT.md +0 -0
  23. {python_clu-0.12.5 → python_clu-0.12.8}/CLASSIFIERS.txt +0 -0
  24. {python_clu-0.12.5 → python_clu-0.12.8}/CLU_Treatment.md +0 -0
  25. {python_clu-0.12.5 → python_clu-0.12.8}/CODE_OF_CONDUCT.md +0 -0
  26. {python_clu-0.12.5 → python_clu-0.12.8}/LICENSE.txt +0 -0
  27. {python_clu-0.12.5 → python_clu-0.12.8}/MANIFEST.in +0 -0
  28. {python_clu-0.12.5 → python_clu-0.12.8}/Makefile +0 -0
  29. {python_clu-0.12.5 → python_clu-0.12.8}/README.md +0 -0
  30. {python_clu-0.12.5 → python_clu-0.12.8}/appveyor.yml +0 -0
  31. {python_clu-0.12.5 → python_clu-0.12.8}/clu/__init__.py +0 -0
  32. {python_clu-0.12.5 → python_clu-0.12.8}/clu/__main__.py +0 -0
  33. {python_clu-0.12.5 → python_clu-0.12.8}/clu/abstract.py +0 -0
  34. {python_clu-0.12.5 → python_clu-0.12.8}/clu/all.py +0 -0
  35. {python_clu-0.12.5 → python_clu-0.12.8}/clu/api/__init__.py +0 -0
  36. {python_clu-0.12.5 → python_clu-0.12.8}/clu/api/__main__.py +0 -0
  37. {python_clu-0.12.5 → python_clu-0.12.8}/clu/application.py +0 -0
  38. {python_clu-0.12.5 → python_clu-0.12.8}/clu/compilation/__init__.py +0 -0
  39. {python_clu-0.12.5 → python_clu-0.12.8}/clu/compilation/compiledb.py +0 -0
  40. {python_clu-0.12.5 → python_clu-0.12.8}/clu/compilation/macros.py +0 -0
  41. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/__init__.py +0 -0
  42. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/abc.py +0 -0
  43. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/codecs.py +0 -0
  44. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/env.py +0 -0
  45. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/filebase.py +0 -0
  46. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/__init__.py +0 -0
  47. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/jsonfile.py +0 -0
  48. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/picklefile.py +0 -0
  49. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/tomlfile.py +0 -0
  50. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/formats/yamlfile.py +0 -0
  51. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/keymap.py +0 -0
  52. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/keymapview.py +0 -0
  53. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/__init__.py +0 -0
  54. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/base.py +0 -0
  55. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/fieldtypes.py +0 -0
  56. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/legacy/settings.py +0 -0
  57. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/ns.py +0 -0
  58. {python_clu-0.12.5 → python_clu-0.12.8}/clu/config/proxy.py +0 -0
  59. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/__init__.py +0 -0
  60. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/__main__.py +0 -0
  61. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/consts.py +0 -0
  62. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/data.py +0 -0
  63. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/enums.py +0 -0
  64. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/exceptions.py +0 -0
  65. {python_clu-0.12.5 → python_clu-0.12.8}/clu/constants/polyfills.py +0 -0
  66. {python_clu-0.12.5 → python_clu-0.12.8}/clu/csv.py +0 -0
  67. {python_clu-0.12.5 → python_clu-0.12.8}/clu/dicts.py +0 -0
  68. {python_clu-0.12.5 → python_clu-0.12.8}/clu/dispatch.py +0 -0
  69. {python_clu-0.12.5 → python_clu-0.12.8}/clu/enums.py +0 -0
  70. {python_clu-0.12.5 → python_clu-0.12.8}/clu/exporting.py +0 -0
  71. {python_clu-0.12.5 → python_clu-0.12.8}/clu/extending.py +0 -0
  72. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/__init__.py +0 -0
  73. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/abc.py +0 -0
  74. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/appdirectories.py +0 -0
  75. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/filesystem.py +0 -0
  76. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/misc.py +0 -0
  77. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/pypath.py +0 -0
  78. {python_clu-0.12.5 → python_clu-0.12.8}/clu/fs/sourcetree.py +0 -0
  79. {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/__init__.py +0 -0
  80. {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/__main__.py +0 -0
  81. {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/base.py +0 -0
  82. {python_clu-0.12.5 → python_clu-0.12.8}/clu/importing/proxy.py +0 -0
  83. {python_clu-0.12.5 → python_clu-0.12.8}/clu/keyvalue.py +0 -0
  84. {python_clu-0.12.5 → python_clu-0.12.8}/clu/mathematics.py +0 -0
  85. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/__init__.py +0 -0
  86. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/banners.py +0 -0
  87. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/__init__.py +0 -0
  88. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/boilerplate.py +0 -0
  89. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/cli/boilerplate_copy.py +0 -0
  90. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/columnize.py +0 -0
  91. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repl/modules.py +0 -0
  92. {python_clu-0.12.5 → python_clu-0.12.8}/clu/repr.py +0 -0
  93. {python_clu-0.12.5 → python_clu-0.12.8}/clu/sanitizer.py +0 -0
  94. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/.gitignore +0 -0
  95. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/README.md +0 -0
  96. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/__init__.py +0 -0
  97. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/ansicolors.py +0 -0
  98. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/boilerplate.py +0 -0
  99. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/dictroast.py +0 -0
  100. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/forkumask.py +0 -0
  101. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-bpython.py +0 -0
  102. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-ipython.py +0 -0
  103. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-ptpython.py +0 -0
  104. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/repl-pyzo.py +0 -0
  105. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/legacy/xdg-runtime.py +0 -0
  106. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/prediversus.py +0 -0
  107. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/repl.py +0 -0
  108. {python_clu-0.12.5 → python_clu-0.12.8}/clu/scripts/treeline.py +0 -0
  109. {python_clu-0.12.5 → python_clu-0.12.8}/clu/shelving/__init__.py +0 -0
  110. {python_clu-0.12.5 → python_clu-0.12.8}/clu/shelving/redat.py +0 -0
  111. {python_clu-0.12.5 → python_clu-0.12.8}/clu/shelving/redis.conf +0 -0
  112. {python_clu-0.12.5 → python_clu-0.12.8}/clu/stdio.py +0 -0
  113. {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/__init__.py +0 -0
  114. {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/hook.py +0 -0
  115. {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/obsolete.py +0 -0
  116. {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/pytest.py +0 -0
  117. {python_clu-0.12.5 → python_clu-0.12.8}/clu/testing/utils.py +0 -0
  118. {python_clu-0.12.5 → python_clu-0.12.8}/clu/typespace/__init__.py +0 -0
  119. {python_clu-0.12.5 → python_clu-0.12.8}/clu/typespace/__main__.py +0 -0
  120. {python_clu-0.12.5 → python_clu-0.12.8}/clu/typespace/namespace.py +0 -0
  121. {python_clu-0.12.5 → python_clu-0.12.8}/clu/typology.py +0 -0
  122. {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/__init__.py +0 -0
  123. {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/__main__.py +0 -0
  124. {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/git_version.py +0 -0
  125. {python_clu-0.12.5 → python_clu-0.12.8}/clu/version/read_version.py +0 -0
  126. {python_clu-0.12.5 → python_clu-0.12.8}/codecov.yml +0 -0
  127. {python_clu-0.12.5 → python_clu-0.12.8}/conftest.py +0 -0
  128. {python_clu-0.12.5 → python_clu-0.12.8}/docs/.DS_Store +0 -0
  129. {python_clu-0.12.5 → python_clu-0.12.8}/docs/Makefile +0 -0
  130. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/api.doctree +0 -0
  131. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/environment.pickle +0 -0
  132. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/generated/clu.doctree +0 -0
  133. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/doctrees/index.doctree +0 -0
  134. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/.buildinfo +0 -0
  135. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_sources/api.rst.txt +0 -0
  136. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_sources/generated/clu.rst.txt +0 -0
  137. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_sources/index.rst.txt +0 -0
  138. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  139. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/alabaster.css +0 -0
  140. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/basic.css +0 -0
  141. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/badge_only.css +0 -0
  142. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  143. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  144. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  145. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  146. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  147. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  148. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  149. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  150. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  151. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  152. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  153. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
  154. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  155. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  156. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  157. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
  158. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  159. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/css/theme.css +0 -0
  160. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/custom.css +0 -0
  161. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/doctools.js +0 -0
  162. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/documentation_options.js +0 -0
  163. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/file.png +0 -0
  164. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/jquery-3.6.0.js +0 -0
  165. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/jquery.js +0 -0
  166. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/badge_only.js +0 -0
  167. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -0
  168. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/html5shiv.min.js +0 -0
  169. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/js/theme.js +0 -0
  170. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/language_data.js +0 -0
  171. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/minus.png +0 -0
  172. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/plus.png +0 -0
  173. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/pygments.css +0 -0
  174. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/searchtools.js +0 -0
  175. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/underscore-1.13.1.js +0 -0
  176. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/_static/underscore.js +0 -0
  177. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/api.html +0 -0
  178. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/generated/clu.html +0 -0
  179. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/genindex.html +0 -0
  180. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/index.html +0 -0
  181. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/objects.inv +0 -0
  182. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/py-modindex.html +0 -0
  183. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/search.html +0 -0
  184. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/html/searchindex.js +0 -0
  185. {python_clu-0.12.5 → python_clu-0.12.8}/docs/build/man/clu.1 +0 -0
  186. {python_clu-0.12.5 → python_clu-0.12.8}/docs/make.bat +0 -0
  187. {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/api.rst +0 -0
  188. {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/conf.py +0 -0
  189. {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/generated/clu.rst +0 -0
  190. {python_clu-0.12.5 → python_clu-0.12.8}/docs/source/index.rst +0 -0
  191. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/autohook.sh +0 -0
  192. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/post-push/00-coverage.sh +0 -0
  193. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/pre-push/00-noop.sh +0 -0
  194. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/pre-push/01-direnv-stdlib.sh +0 -0
  195. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/coverage.sh +0 -0
  196. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/display-issues.sh +0 -0
  197. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/git-pushex +0 -0
  198. {python_clu-0.12.5 → python_clu-0.12.8}/hooks/scripts/noop.sh +0 -0
  199. {python_clu-0.12.5 → python_clu-0.12.8}/mypy.ini +0 -0
  200. {python_clu-0.12.5 → python_clu-0.12.8}/noxfile.py +0 -0
  201. {python_clu-0.12.5 → python_clu-0.12.8}/pytest.ini +0 -0
  202. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/dependency_links.txt +0 -0
  203. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/requires.txt +0 -0
  204. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/top_level.txt +0 -0
  205. {python_clu-0.12.5 → python_clu-0.12.8}/python_clu.egg-info/zip-safe +0 -0
  206. {python_clu-0.12.5 → python_clu-0.12.8}/pytype.cfg +0 -0
  207. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/changelog.txt +0 -0
  208. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/dev.txt +0 -0
  209. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/docs.txt +0 -0
  210. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/install.txt +0 -0
  211. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/codecov.txt +0 -0
  212. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/docs.txt +0 -0
  213. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/manifest.txt +0 -0
  214. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/pyproject.txt +0 -0
  215. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/repl.txt +0 -0
  216. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/nox/tests.txt +0 -0
  217. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/tox.txt +0 -0
  218. {python_clu-0.12.5 → python_clu-0.12.8}/requirements/typecheck.txt +0 -0
  219. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/direnv_transformed_env.py +0 -0
  220. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-module-list-example-small.jpg +0 -0
  221. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-module-list-example.jpg +0 -0
  222. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-module-list-example.pxd +0 -0
  223. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-testing-time-totals-example-small.jpg +0 -0
  224. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-testing-time-totals-example.jpg +0 -0
  225. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/clu-testing-time-totals-example.pxd +0 -0
  226. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/construx-and-capsela-small.jpg +0 -0
  227. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/construx-and-capsela.jpg +0 -0
  228. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/construx-and-capsela.pxd +0 -0
  229. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/images/toml-module-rant.jpg +0 -0
  230. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/inline-tests-ImportError-uggggh.ipynb +0 -0
  231. {python_clu-0.12.5 → python_clu-0.12.8}/scratch/nteract.ipynb +0 -0
  232. {python_clu-0.12.5 → python_clu-0.12.8}/setup.cfg +0 -0
  233. {python_clu-0.12.5 → python_clu-0.12.8}/tests/__init__.py +0 -0
  234. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/1-58.jpg +0 -0
  235. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/3471426989_aa8e83cac5_o.jpg +0 -0
  236. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/3472236406_1fbf1a567d_o.jpg +0 -0
  237. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/8600JC.jpg +0 -0
  238. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/8ba.png +0 -0
  239. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/IMG_20180505_205153567.jpg +0 -0
  240. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/cheetah-003.jpg +0 -0
  241. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/config/clu-config.toml +0 -0
  242. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/config/yodogg.toml +0 -0
  243. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/shutterstock_90194617.jpg +0 -0
  244. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodata/09163d51421853.5608b3c2a1be0.jpg +0 -0
  245. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodata/5d0227342500004e12e3506d.jpg +0 -0
  246. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodata/BlackCat2_large-22.jpg +0 -0
  247. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodogg/Serval_Cat_Kitten-706.jpg +0 -0
  248. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodogg/Servals_Thoiry_19801.jpg +0 -0
  249. {python_clu-0.12.5 → python_clu-0.12.8}/tests/data/yodogg/video-pride-serval.jpg +0 -0
  250. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_abstract.py +0 -0
  251. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_all.py +0 -0
  252. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_boilerplate.py +0 -0
  253. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_config.py +0 -0
  254. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_config_abc.py +0 -0
  255. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_csv.py +0 -0
  256. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_dicts.py +0 -0
  257. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_dispatch.py +0 -0
  258. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_enum_aliases.py +0 -0
  259. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_exporting.py +0 -0
  260. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_extending.py +0 -0
  261. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_abc.py +0 -0
  262. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_appdirectories.py +0 -0
  263. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_filesystem.py +0 -0
  264. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_fs_misc.py +0 -0
  265. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_importing.py +0 -0
  266. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_keyvalue.py +0 -0
  267. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_mathematics.py +0 -0
  268. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_naming.py +0 -0
  269. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_predicates.py +0 -0
  270. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_repl_columnize.py +0 -0
  271. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_repl_modules.py +0 -0
  272. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_repr.py +0 -0
  273. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_scripts_repl.py +0 -0
  274. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_typespace_namespace.py +0 -0
  275. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_typology.py +0 -0
  276. {python_clu-0.12.5 → python_clu-0.12.8}/tests/test_version.py +0 -0
  277. {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/.tm_properties +0 -0
  278. {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/__init__.py +0 -0
  279. {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/__init__.py +0 -0
  280. {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/config.py +0 -0
  281. {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/exporting.py +0 -0
  282. {python_clu-0.12.5 → python_clu-0.12.8}/tests/yodogg/yodogg/iheard.py +0 -0
  283. {python_clu-0.12.5 → python_clu-0.12.8}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
 
2
2
  [tool.bumpversion]
3
- current_version = "0.12.5"
3
+ current_version = "0.12.8"
4
4
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
5
5
  serialize = ["{major}.{minor}.{patch}"]
6
6
  search = "{current_version}"
@@ -1,7 +1,62 @@
1
1
  # Changelog
2
2
 
3
3
 
4
- ## 0.12.4:pre12+g6e128ac [SNAPSHOT]
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-clu
3
- Version: 0.12.5
3
+ Version: 0.12.8
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
@@ -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
- if basepath is None:
83
+ from clu.predicates import attr
84
+
85
+ # Default:
86
+ if not basepath:
81
87
  basepath = BASEPATH
82
- return path_to_dotpath(__main__.__file__,
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 = importlib.import_module(tail)
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 test_one():
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 test_one_point_five():
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 test_two():
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())
@@ -46,5 +46,4 @@ def print_version_command():
46
46
  return os.EX_OK
47
47
 
48
48
  if __name__ == '__main__':
49
- # sys.argv += ['--version-only']
50
49
  sys.exit(print_version_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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-clu
3
- Version: 0.12.5
3
+ Version: 0.12.8
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
@@ -91,6 +91,7 @@ clu/repl/banners.py
91
91
  clu/repl/columnize.py
92
92
  clu/repl/modules.py
93
93
  clu/repl/cli/__init__.py
94
+ clu/repl/cli/ansidocs.py
94
95
  clu/repl/cli/boilerplate.py
95
96
  clu/repl/cli/boilerplate_copy.py
96
97
  clu/repl/cli/print_version.py
@@ -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.5'
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