GenDoc
- Generate a Markdown Documentation file from a Python Repository with DocStrings.
- See an output example here
- Pure 🐍 implementation with no external packages
- Tiny Tech Stack: os, ast, argparse
Installation
Use pip in your terminal to install GenDoc. The commands are listed below:
| Windows | Linux | MacOS |
|---|---|---|
pip install gendoc |
pip3 install gendoc |
pip3 install gendoc |
Use
GenDoc is a CLI based application. After installation, you can call the utility in any terminal application as follows:
| Windows | Linux | MacOS |
|---|---|---|
C:\> gendoc |
user@ubuntu:~$ gendoc |
mac:~ user$ gendoc |
- In all of these cases, you should be using
cdto set your terminal directory to your project folder - otherwise you'll have to use the--filesor--dircommands to specify your Python programs in order to avoid generating documentation for every single.pyfile on your computer!
You can also use any of the following flags in your terminal to customize your output (optional):
| Flag(s) | Value | Description |
|---|---|---|
--help, -h |
{None} |
Show a help dialog |
--name, --n |
{str} |
Project Name (included in Docs) (not included if not provided) |
--version, --v |
{str} |
Version Number (included in Docs) (Project Name required to use) (not included if not provided) |
--files, --f |
{str} {str (opt)} ... |
PATH to specific files you want to include in the Doc generation (separate by a single space if adding multiple files) (only pulls from these files) (defaults to all .py files in the current directory) |
--dir, --d |
{str} |
PATH to the parent directory of the codebase (defaults to all .py files in the current directory) |
--output, --o |
{str} |
PATH to the output Markdown file (defaults to DOCS.md in current directory) |
--emptyFunc, --e |
"{str}" |
Message for function without a DocString (enter multiple words surrounded by "Quotes") (accepts markdown syntax) (defaults to "No documentation provided.") |
--classSections, --cs |
{None} |
Add collapseable sections for classes (not generated if not called) |
--methodSections, --ms |
{None} |
Add collapseable sections for class methods (not generated if not called) |
--funcSections, --fs |
{None} |
Add collapseable sections for functions (not generated if not called) |
--fileHeaders, --fh |
{None} |
Add file name & relative path above it's classes and functions (creates GitHub-safe clickable link) (not generated if not called) |
--codeFence, --cf |
{None} |
Surround all DocStrings in a Python markdown code fence (not generated if not called) |
Notes:
- Use either
--filesor--dir, never both--diris used to change the directory and then scrape all files within it--filesis used to specify specific files to scrape (not the entire directory)- If you'd like to scrape specific files in a separate directory, simply use
--fileswith their absolute PATHs
- Anytime a PATH is requested, it does not need to be in the current directory, both relative and absolute PATHs are accepted
- If you'd like to exclude any functions that do not have their own DocString, you can use the
--emptyfuncflag and pass in the value0 - The current default behavior is to exclude any files that do not contain any functions or classes
- Clickable links generated with
--fileHeadersmight break if you are using a different directory with the--dirflag or placingDOCS.mdin a different directory with the--outputflag - If you aren't using markdown-styled DocStrings, passing the
--codeFenceflag will help auto-emphasize Python keywords, such as str, int, class, etc.
Future Development
GenDoc was developed to be a simple, plug-and-play package. However, due to the level of styling customization required for many projects' documentation, an additional html-based API is being developed so developers can use their own external stylesheets.
PRs are welcome, and please contact Samarth Chitgopekar for any questions, comments, or concerns.
Python DocStrings Generate DocStrings Python Markdown DocStrings DocStrings to Markdown Documentation Generator DocStrings Markdown Elegant Docs Module Doc Generator Pure Python DocString Scraper Python Doc Generator PyPI DocString Generator Markdown Docs API Documentation Generator Package Doc Generator
Metadata
Release files for GenDoc 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| GenDoc-1.0.1.tar.gz | 7.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| GenDoc-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.0 kB
Release files / GenDoc-1.0.1.tar.gz
| Download URL | GenDoc-1.0.1.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
56b0171f72f6aead7ca574cc4f751a3aa77aa91647f92475bac85d42f9226086
|
|
BLAKE2b-256 checksum How to use checksums |
edaf27e1dca271d950ba168419e164e46cbb405642f4d8e49114fa0511869113
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.5
|
Release files / GenDoc-1.0.1-py3-none-any.whl
| Download URL | GenDoc-1.0.1-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d44978425a118897ffe979417110000ef9d1abf9254c1adcbd78106bbdc16f6b
|
|
BLAKE2b-256 checksum How to use checksums |
f8d1c6f83ff6d14d0890d29a2dbcce4c62547a70672c3559effb3d253a54a60d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.5
|