Skip to content

G1OJS/docu-lite

Repository files navigation

🧾 docu-lite PyPI Downloads

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)
docu-lite user docu-lite browse docu-lite text list

🛠 Installation

Install using pip: open a command window and type

pip install docu-lite

💡 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

About

Ultra light script to extract Python class & function objects and docstrings to HTML

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •