🧾 docu-lite 
NEWS:
I’m developing a set of tools based on docu-lite with the idea that they can be run standalone or in combination
from the command line or by importing to Python modules. Currently I’ve got the document parser part of docu-lite,
slightly improved, as a cli/importable module. The tools are available from pip and on GitHub: docu-lite-kit
⚡ Ultra-light Zero-dependency HTML outline generator for Python.
- 📖 Browse classes and functions with collapsible docstrings in a tidy, readable format
- 📘 Specify your own stylesheet(s) or rely on the default (will be generated on run)
- 🎈 No dependencies, short script
- ⚙️ Integrate into your GitHub Workflow to have automatically up-to-date outline(s) in your repo
- 🛠️ Includes a text list of classes and functions useful for creating a delta view of API changes (e.g. using GitHub’s compare)
- 👀 Example live output:
- 👀 Example live output (documentation mode):
Screenshots
User-facing |
Browsable outline |
Text file (e.g. for API delta) |
 |
 |
 |
🛠 Installation
Install using pip: open a command window and type
💡 Usage
Either edit and run docu-lite.py in an IDE, or run from the command line:
docu-lite # uses or creates docu-lite.ini
docu-lite --config alt.ini # uses alt.ini, errors if missing
Docu-lite will create a docu-lite.ini file if one doesn’t exist.
⚙️ Edit the docu-lite.ini file to control how docu-lite runs:
- pattern specifies where to look for input
- html specifies the name of the output html file
- css specifies the name of the input style sheet, which will be referenced from the output html file
- text_file specifies the name of the text results file (text_file =) prevents text file creation
- documentation_mode produces a less detailed output styled for use as or editing into documentation.
- ignores code blocks starting with _ (e.g. def _name)
- hides ‘self’ in function argument lists
- provides inner content only for docstrings, not code
- style sheet dedicated to this mode can be specified in the ini file
- ignore_docstrings_with can be followed by = word to ignore docstrings containing the word (e.g. License, useful to stop license blocks appearing in the output)
📝 If the specified css file is not found, docu-lite will generate one and reference it in the html
⚠️ Known Issues
- Doesn’t cleanly handle all variations of docstring layout. In particular, the single line docstring causes the body below the docstring to appear below it.
- Doesn’t cleanly handle function definitions that span several lines (only first line is shown)
PyPI link