📖 Generate markdown API documentation from Google-style Python docstring. The lazy alternative to Sphinx.

Overview

lazydocs

Generate markdown API documentation for Google-style Python docstring.

Getting StartedFeaturesDocumentationSupportContributionChangelog

Lazydocs makes it easy to generate beautiful markdown documentation for your Python API (see this example). It provides a simple command-line interface as well as a Python API to get full-fledged API documentation within seconds based on all of the Google-style docstrings in your code. This markdown documentation can be pushed to Github or integrated into your MkDocs site.

Highlights

  •   Simple CLI to generate markdown docs in seconds.
  • 📋   Supports Google-style Python Docstrings.
  • 📚   Compatible with Github Markdown and MkDocs.

Getting Started

Installation

Requirements: Python 3.6+.

pip install lazydocs

Usage

To generate Markdown-based API documentation for your Python project, simply execute:

lazydocs path/to/your/package

The path can be either a python package (folder) or a specific script. You can also specify one or multiple module-, class- or function-imports:

lazydocs my_package.AwesomeClass

With the default configuration, the Markdown documentation will be generated inside the ./docs folder in your working directory. You can find additional configuration options in the documentation section.

Support & Feedback

This project is maintained by Benjamin Räthlein, Lukas Masuch, and Jan Kalkan. Please understand that we won't be able to provide individual support via email. We also believe that help is much more valuable if it's shared publicly so that more people can benefit from it.

Type Channel
🚨   Bug Reports
🎁   Feature Requests
👩‍💻   Usage Questions
🗯   General Discussion
  Other Requests

Features

Source Code LinkingAPI OverviewMKDocs IntegrationDocstyle ValidationPrint to Console

Source Code Linking

Lazydocs is capable to insert a badge on the right side of every module, class, method or function with a link the correct source-code file and line number. The default configuration will create relative paths to navigate within the Github Repo. This is useful if the documentation is hosted within the same repository as the source-code. If, the documentation is hosted outside of the Github repository, it is recommended to set the src-base-url:

lazydocs --src-base-url="https://github.com/example/my-project/blob/main/" my_package

The src-base-url is used as a prefix for all source-code linkings in the documentation.

API Overview

An API overview might be very useful in case your project has a large number modules, classes and functions. You can specify an overview-file with the lazydocs command to activate the generation of an API overview:

lazydocs --overview-file="README.md" my_package

The API overview will be written as markdown to the specified file with separated lists for all modules, classes, and functions of your project:

MkDocs Integration

The markdown documentation generated by lazydocs can be easily integrated into your mkdocs documentation site:

  1. Generate the markdown documentation into a subfolder (e.g. api-docs) inside your mkdocs documentation. We recommend to use the overview-file option and set the source-code URL via src-base-url, otherwise the source-code linking would not work:
lazydocs \
    --output_path="./docs/api-docs" \
    --overview-file="README.md" \
    --src-base-url="https://github.com/example/my-project/blob/main/" \
    my_package
  1. Install and apply the awesome-pages mkdocs plugin. This enables mkdocs to automatically discover and include all markdown files. The alternative would be to manually include all generated markdown files in the navigation section of the mkdocs.yaml. In order to use the awesome-pages plugin you need to 1) install the plugin via pip 2) Include it in the plugin section mkdocs.yaml and remove the navigation section (needs to be handled with .pages files).

  2. If you used the overview-file option, a .pages file will be automatically created. You can also manually create the .pages file within the api-docs subfolder (e.g. api-docs) with the following content:

    title: API Reference
    nav:
       - Overview: README.md
       - ...

Once you run or deploy your mkdocs documentation, you will see the API Reference section with all of your API markdown documentation.

Docstyle Validation

Lazydocs can only parse valid Google-style docstring. To prevent the generation of invalid markdown documentation, you can use the validate flag:

layzdocs --validate my_package

This will run pydocstyle on your docstring and cancel the generation if an issue is found.

Print to Console

To get the markdown documentation as console output instead of the file generation, specify stdout as the output-path:

layzdocs --output-path=stdout my_package

Documentation

CLI Interface

laydocs [OPTIONS] PATHS...

Arguments:

  • PATHS...: Selected paths or imports for markdown generation. [required]

Options:

  • --output-path TEXT: The output path for the creation of the markdown files. Set this to stdout to print all markdown to stdout. [default: ./docs/]
  • --src-base-url TEXT: The base repo link used as prefix for all source links. Should also include the branch name.
  • --overview-file TEXT: Filename of overview file. If not provided, no API overview file will be generated.
  • --remove-package-prefix / --no-remove-package-prefix: If True, the package prefix will be removed from all functions and methods. [default: True]
  • --ignored-modules TEXT: A list of modules that should be ignored. [default: ]
  • --watermark / --no-watermark: If True, add a watermark with a timestamp to bottom of the markdown files. [default: True]
  • --validate / --no-validate: If True, validate the docstrings via pydocstyle. Requires pydocstyle to be installed. [default: False]
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Programmatic API

Lazydocs can also be used and integrated via its Python API. For example, to generate markdown for an arbitrary Python import or object:

from lazydocs import MarkdownGenerator

generator = MarkdownGenerator()

# Select a module (e.g. my_module) to generate markdown documentation
markdown_docs = generator.import2md(my_module)

To programmatically generate all markdown documentation files you can use generate_docs:

from lazydocs import generate_docs

# The parameters of this function correspond to the CLI options
generate_docs(["my_module"], output_path="./docs")

The full Python API documentation can be found here (generated via lazydocs).

Contribution

Development

Requirements: Docker and Act are required to be installed on your machine to execute the build process.

To simplify the process of building this project from scratch, we provide build-scripts - based on universal-build - that run all necessary steps (build, check, test, and release) within a containerized environment. To build and test your changes, execute the following command in the project root folder:

act -b -j build

Refer to our contribution guides for more detailed information on our build scripts and development process.


Licensed MIT. Created and maintained with ❤️   by developers from Berlin.

Comments
  • Import Error while running lazydocs

    Import Error while running lazydocs

    Describe the bug:

    While trying to run it against the python directory I am getting an import error for get_terminal_size. Is there any way to sort out this error.

    Error Screenshot

    lazyDocs error

    Technical details:

    • Host Machine OS (Windows/Linux/Mac): Windows
    • Browser (Chrome/Firefox/Safari): Chrome

    Possible Fix:

    Additional context:

    bug stale 
    opened by RenukaMane 4
  • Generation of docs fails on windows network share because of different paths

    Generation of docs fails on windows network share because of different paths

    Hey!

    I just came across an issue with the following environment: I'm on Windows 10 and my python files are placed on a network volume (R:). Im calling lazydocs as an external tool from PyCharm. Therefore the path given to lazydocs starts with the drive letter. This all works fine until I initialise git. After this the docs creation fails. I think, the the reason are those lines:

    https://github.com/ml-tooling/lazydocs/blob/f19810ef020684abc7cac8e705ca1258478cdcbb/src/lazydocs/generation.py#L927

    The git command returns the path as UNC.

    https://github.com/ml-tooling/lazydocs/blob/f19810ef020684abc7cac8e705ca1258478cdcbb/src/lazydocs/generation.py#L512

    os.path.relpath(path, src_root_path) tries to combine the path with a drive letter with the unc path which does not work.

    Maybe the src_root_path could also be set via the cli? In that case the git command wouldn't run and the path would always start with the drive letter.

    Thanks, Claus

    bug stale 
    opened by claussteinmassl 4
  • Relative imports not supported: ImportError('attempted relative import beyond top-level package')

    Relative imports not supported: ImportError('attempted relative import beyond top-level package')

    Describe the bug:

    Relative imports not supported: ImportError('attempted relative import beyond top-level package')

    src/
        foo/
            __init__.py
            file_1.py
            file_2.py
        bar/
            __init__.py
            file_3.py
            file_4.py
    

    In my files, I have all relative imports like: from ..bar import Spam, Eggs.

    Expected behaviour:

    Support relative imports. For example, the pdoc and pydoc-markdown packages work fine with my imports.

    bug stale 
    opened by AIGeneratedUsername 3
  • GitLab wiki support in source reference and other links

    GitLab wiki support in source reference and other links

    Feature description:

    Add an option to prefix source url with ".py" before # (implementation possible at src/lazydocs/generation.py: _get_src_path()) and remove ".md" extensions from overview file. As such when correct base url is provided, it would also support GitLab. Alternatively: add an option to select which git provider to use.

    Problem and motivation:

    This feature would provide support for GitLab projects and perhaps more.

    feature stale 
    opened by KiliCode 2
  • --ignored-modules results in

    --ignored-modules results in"'tuple' object has no attribute 'append'"

    Would like to use the --ignored-modules feature via the CLI but all uses I can think of result in what is presumably an AttributeError: 'tuple' object has no attribute 'append' being raised.

    Am trying: lazydocs --overview-file="README.md" --ignored-modules __verison__ <my module>docs lazydocs --overview-file="README.md" --ignored-modules="__verison__" <my module>docs lazydocs --overview-file="README.md" --ignored-modules __verison__ <my module>docs

    How should the arguments to --overview-file be formatted?

    On Windows 10, Python 3.6.8

    bug stale 
    opened by sstucker 2
  • Fix img tag html. Closes #29

    Fix img tag html. Closes #29

    What kind of change does this PR introduce?

    • [X] Bugfix
    • [ ] New Feature
    • [ ] Feature Improvement
    • [ ] Refactoring
    • [ ] Documentation
    • [ ] Other, please describe:

    Description: Updates the generated markdown files, to have the <img /> tags correctly closed.

    Checklist:

    • [X] I have read the CONTRIBUTING document.
    • [X] My changes don't require a change to the documentation, or if they do, I've added all required information.
    documentation 
    opened by SamVanhoutte 2
  • Img tags are not closed in generated markdown

    Img tags are not closed in generated markdown

    Describe the bug:

    The generated .md files contain links to the source code, that include an <img> tag.
    When taking those markdown files and process them by html generators (which we do in our release pipelines, towards netlify), that html is considered as 'not compliant' by some generators.

    Expected behaviour:

    The image tag should be closed , like this : <img ... />, instead of this <img ...>

    Steps to reproduce the issue:

    1. Generate docs, using lazydocs.
    2. Navigate to the generated .md file
    3. Verify the <img> tag is not closed

    Possible Fix:

    The file lazydocs.generation.md should be adapted to close the img tags.

    bug stale 
    opened by SamVanhoutte 2
  • Tuple in return type signature showing as

    Tuple in return type signature showing as "uple", because of lstrip.

    Describe the bug:

    When the return type is tuple, it is being rendered as "uple" instead.

    Expected behaviour: I expect it to show tuple.

    Steps to reproduce the issue:

    def foo(x : int = 1, y: int = 2, z: tuple = (0.001, 2)) -> tuple:
        """Some function.
    
        Args:
            x (int, optional): An integer. Defaults to 1.
            y (int, optional): An integer. Defaults to 2.
            z (tuple, optional): Tuple. Defaults to (0.001, 2).
    
        Returns:
            tuple: (x, y).
        """     
        return (x, y)
    

    Lazydoc renders this as:

    image

    Note the "uple".

    Technical details:

    • Host Machine OS (Windows/Linux/Mac): Linux
    • Browser (Chrome/Firefox/Safari): Firefox

    Possible Fix: Again, seems to be a cosmetic issue like #18

    Additional context:

    bug 
    opened by ID56 2
  • Floating point default values not being rendered.

    Floating point default values not being rendered.

    Describe the bug: Decimal points are missed in default float values.

    For example, if I have a function def foo(x = 0.01):, the docs will show x = 01. The markdown generator is unable to handle floating point default values.

    Expected behaviour:

    I expect my default floating point values to show up how I specified them in the code.

    Steps to reproduce the issue:

    For example, for the following function:

    def foo(x : float = 0.01, y : int = 2) -> float:
        """Some function.
    
        Args:
            x (float, optional): A float number. Defaults to 0.01.
            y (int, optional): An integer. Defaults to 2.
    
        Returns:
            float: Their product.
        """     
    
        return x * y
    

    Lazydoc renders it as:

    image

    Note the x=01, missing the ".".

    Technical details:

    • Host Machine OS (Windows/Linux/Mac): Linux
    • Browser (Chrome/Firefox/Safari): Firefox

    Possible Fix:

    Most likely there isn't any floating point support, or something's missing somewhere. I believe this should be an easy fix.

    Additional context:

    bug 
    opened by ID56 2
  • Docs overritten when files have the same name under different folders

    Docs overritten when files have the same name under different folders

    Describe the bug:

    When using the function "generate_docs", if there are two files with the same name under different subpackages, (e.g. subpkg1/utils.py and subpkg2/utils.py), the docs generated for the second one will override the first "utils.py.md".

    Expected behaviour:

    Doc files are not to be overwritten.

    Steps to reproduce the issue:

    1. Have the following folder structure: src/subpkg1/utils.py src/subpkg2/utils.py
    2. call generate_docs(["src/subpkg1/utils.py","src/subpkg2/utils.py"], "docs/")
    3. Only one "docs/utils.py.md" is generated.

    Technical details:

    • Host Machine OS (Windows/Linux/Mac): Mac
    • Browser (Chrome/Firefox/Safari): Irrelevant

    Possible Fix:

    Maybe add an option to name the file with the subpackage name as prefix (e.g. "docs/subpkg1.utils.py.md" and "docs/subpkg2.utils.py.md")

    bug stale 
    opened by pauloburke 1
  • Typos in README.

    Typos in README.

    These two lines

    https://github.com/ml-tooling/lazydocs/blob/f19810ef020684abc7cac8e705ca1258478cdcbb/README.md?plain=1#L143

    https://github.com/ml-tooling/lazydocs/blob/f19810ef020684abc7cac8e705ca1258478cdcbb/README.md?plain=1#L153

    should read lazydocs.

    documentation stale 
    opened by jenstroeger 1
  • Make _SOURCE_BADGE_TEMPLATE src customizable

    Make _SOURCE_BADGE_TEMPLATE src customizable

    Feature description:

    Great tool! Thanks for publishing! Would you take a PR to make the src attribute of _SOURCE_BADGE_TEMPLATE configurable?

    Problem and motivation:

    Not a huge fan of the style=flat-square nor the cccccc color.

    https://github.com/ml-tooling/lazydocs/blob/3dde4373b2a36c51ed3679ba1b72d7d26ea4fa7a/src/lazydocs/generation.py#L31-L33

    Is this something you're interested in working on?

    Yes but not sure about timeline atm.

    feature 
    opened by janosh 2
  • Bump certifi from 2021.5.30 to 2022.12.7

    Bump certifi from 2021.5.30 to 2022.12.7

    Bumps certifi from 2021.5.30 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Local install fails due to bad version string

    Local install fails due to bad version string

    The version string in _about.py is set to __version__ = "0.5.0-dev.bugfix"

    This is causing a local install to fail:

    pip install -e .
    Defaulting to user installation because normal site-packages is not writeable
    Obtaining file:///home/ronny/Projects/py/lazydocs
      Installing build dependencies ... done
      Checking if build backend supports build_editable ... done
      Getting requirements to build editable ... done
      Preparing editable metadata (pyproject.toml) ... done
    Requirement already satisfied: typer in /home/ronny/.local/lib/python3.10/site-packages (from lazydocs===0.5.0-dev.bugfix) (0.7.0)
    Requirement already satisfied: click<9.0.0,>=7.1.1 in /home/ronny/.local/lib/python3.10/site-packages (from typer->lazydocs===0.5.0-dev.bugfix) (8.1.3)
    Building wheels for collected packages: lazydocs
      Building editable for lazydocs (pyproject.toml) ... done
      Created wheel for lazydocs: filename=lazydocs-0.5.0_dev.bugfix-0.editable-py3-none-any.whl size=7507 sha256=2e7e2db0870c4db46d7835ab7b0d332254a0bb1f77937c1e121d749bb2847329
      Stored in directory: /tmp/pip-ephem-wheel-cache-76bgkh38/wheels/be/58/4e/9b56ea8cf13cb4f82d2332c9d15c62432365e8066a6b70ac50
      WARNING: Built editable for lazydocs is invalid: Metadata 1.2 mandates PEP 440 version, but '0.5.0-dev.bugfix' is not
    Failed to build lazydocs
    ERROR: Could not build wheels for lazydocs, which is required to install pyproject.toml-based projects
    

    If I change the version to __version__ = "0.5.0-dev" a local install does work:

    pip install -e .
    Defaulting to user installation because normal site-packages is not writeable
    Obtaining file:///home/ronny/Projects/py/lazydocs
      Installing build dependencies ... done
      Checking if build backend supports build_editable ... done
      Getting requirements to build editable ... done
      Preparing editable metadata (pyproject.toml) ... done
    Requirement already satisfied: typer in /home/ronny/.local/lib/python3.10/site-packages (from lazydocs==0.5.0.dev0) (0.7.0)
    Requirement already satisfied: click<9.0.0,>=7.1.1 in /home/ronny/.local/lib/python3.10/site-packages (from typer->lazydocs==0.5.0.dev0) (8.1.3)
    Building wheels for collected packages: lazydocs
      Building editable for lazydocs (pyproject.toml) ... done
      Created wheel for lazydocs: filename=lazydocs-0.5.0.dev0-0.editable-py3-none-any.whl size=7412 sha256=67d515b4c0123e874d03545f509f539d240f7096a6f48b4a764f1c3ec0ed1978
      Stored in directory: /tmp/pip-ephem-wheel-cache-ekjj5skk/wheels/be/58/4e/9b56ea8cf13cb4f82d2332c9d15c62432365e8066a6b70ac50
    Successfully built lazydocs
    Installing collected packages: lazydocs
      Attempting uninstall: lazydocs
        Found existing installation: lazydocs 0.5.0.dev0
        Uninstalling lazydocs-0.5.0.dev0:
          Successfully uninstalled lazydocs-0.5.0.dev0
    Successfully installed lazydocs-0.5.0.dev0
    
    bug 
    opened by ronny-rentner 0
  • Generates HTML instead of markdown

    Generates HTML instead of markdown

    When I look at the generated code, it contains a lot of HTML without any necessity for it, e. g. my parameters are rendered like this

     - <b>`use_cache`</b> (bool):  If set to `False`, allows re-importing of the same source file even if it was imported before.
    

    which renders to

    • use_cache (bool): If set to False, allows re-importing of the same source file even if it was imported before.

    but it should be

     - **`use_cache`** (bool):  If set to `False`, allows re-importing of the same source file even if it was imported before.
    

    which renders to the same result with no HTML:

    • use_cache (bool): If set to False, allows re-importing of the same source file even if it was imported before.

    After all the point of markdown is that the file renders nicely in a web browser but is at the same time easy and natural to read in an ascii text editor.

    bug 
    opened by ronny-rentner 0
  • Strange results when you have a setup.py in your package

    Strange results when you have a setup.py in your package

    I run Python 3.10 on Debian 11:

    lazydocs --output-path="./docs/lazydocs" --overview-file="README.md" --src-base-url="https://github.com/ronny-rentner/ultraimport/blob/main/" --no-watermark .
    Generating docs for python package at: .
    /usr/lib/python3/dist-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
      warnings.warn(msg, _BetaConfiguration)
    usage: lazydocs [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: lazydocs --help [cmd1 cmd2 ...]
       or: lazydocs --help-commands
       or: lazydocs cmd --help
    
    error: option --output-path not recognized
    

    It works if I exclude setup.py:

    lazydocs --output-path="./docs/lazydocs" --overview-file="README.md" --src-base-url="https://github.com/ronny-rentner/ultraimport/blob/main/" --no-watermark --ignored-modules="setup" .
    Generating docs for python package at: .
    Writing ultraimport.md.
    Writing README.md.
    Writing mkdocs .pages file.
    

    Shouldn't setup.py be excluded automatically? What's the point in generating documentation for it?

    bug 
    opened by ronny-rentner 0
  • Add CodeQL workflow for GitHub code scanning

    Add CodeQL workflow for GitHub code scanning

    Hi ml-tooling/lazydocs!

    This is a one-off automatically generated pull request from LGTM.com :robot:. You might have heard that we’ve integrated LGTM’s underlying CodeQL analysis engine natively into GitHub. The result is GitHub code scanning!

    With LGTM fully integrated into code scanning, we are focused on improving CodeQL within the native GitHub code scanning experience. In order to take advantage of current and future improvements to our analysis capabilities, we suggest you enable code scanning on your repository. Please take a look at our blog post for more information.

    This pull request enables code scanning by adding an auto-generated codeql.yml workflow file for GitHub Actions to your repository — take a look! We tested it before opening this pull request, so all should be working :heavy_check_mark:. In fact, you might already have seen some alerts appear on this pull request!

    Where needed and if possible, we’ve adjusted the configuration to the needs of your particular repository. But of course, you should feel free to tweak it further! Check this page for detailed documentation.

    Questions? Check out the FAQ below!

    FAQ

    Click here to expand the FAQ section

    How often will the code scanning analysis run?

    By default, code scanning will trigger a scan with the CodeQL engine on the following events:

    • On every pull request — to flag up potential security problems for you to investigate before merging a PR.
    • On every push to your default branch and other protected branches — this keeps the analysis results on your repository’s Security tab up to date.
    • Once a week at a fixed time — to make sure you benefit from the latest updated security analysis even when no code was committed or PRs were opened.

    What will this cost?

    Nothing! The CodeQL engine will run inside GitHub Actions, making use of your unlimited free compute minutes for public repositories.

    What types of problems does CodeQL find?

    The CodeQL engine that powers GitHub code scanning is the exact same engine that powers LGTM.com. The exact set of rules has been tweaked slightly, but you should see almost exactly the same types of alerts as you were used to on LGTM.com: we’ve enabled the security-and-quality query suite for you.

    How do I upgrade my CodeQL engine?

    No need! New versions of the CodeQL analysis are constantly deployed on GitHub.com; your repository will automatically benefit from the most recently released version.

    The analysis doesn’t seem to be working

    If you get an error in GitHub Actions that indicates that CodeQL wasn’t able to analyze your code, please follow the instructions here to debug the analysis.

    How do I disable LGTM.com?

    If you have LGTM’s automatic pull request analysis enabled, then you can follow these steps to disable the LGTM pull request analysis. You don’t actually need to remove your repository from LGTM.com; it will automatically be removed in the next few months as part of the deprecation of LGTM.com (more info here).

    Which source code hosting platforms does code scanning support?

    GitHub code scanning is deeply integrated within GitHub itself. If you’d like to scan source code that is hosted elsewhere, we suggest that you create a mirror of that code on GitHub.

    How do I know this PR is legitimate?

    This PR is filed by the official LGTM.com GitHub App, in line with the deprecation timeline that was announced on the official GitHub Blog. The proposed GitHub Action workflow uses the official open source GitHub CodeQL Action. If you have any other questions or concerns, please join the discussion here in the official GitHub community!

    I have another question / how do I get in touch?

    Please join the discussion here to ask further questions and send us suggestions!

    maintenance 
    opened by lgtm-com[bot] 0
Releases(v0.4.8)
  • v0.4.8(Jul 27, 2021)

    PyPi Release

    • Fix 'character maps to ' issue on windows (#22) by writing the markdown file with utf-8 encoding by @koaleksa

    👥 Contributors

    Thanks to @koaleksa for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.4.7(Jun 30, 2021)

    PyPi Release

    🚨 Bug Fixes

    • Fixed issue with returns type signature (https://github.com/ml-tooling/lazydocs/issues/19)
    • Fixed issue with package removal from signature (https://github.com/ml-tooling/lazydocs/issues/18)

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.4.6(Mar 15, 2021)

  • v0.4.4(Mar 15, 2021)

    PyPi Release

    🎁 Features & Improvements

    • Add support for bullet lists in the docstring.
    • Allow ignoring modules, classes, or functions by adding lazydocs: ignore to the docstring.

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.4.3(Dec 13, 2020)

  • v0.4.1(Nov 25, 2020)

    PyPi Release

    👷 Maintenance & Refactoring

    • Ignore class methods from base classes
    • Prefix functions and classes with module name in the overview
    • Do not break if one module docs cannot be generated
    • Add additional unit tests

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Nov 20, 2020)

    👷 Maintenance & Refactoring

    • Use build environment from universal-build
    • Use python build utilities from universal-build
    • Add initial unit test

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.5(Nov 19, 2020)

  • v0.2.4(Nov 19, 2020)

  • v0.2.3(Nov 19, 2020)

    🎁 Features & Improvements

    • Generate .pages file for mkdocs documentation

    👷 Maintenance & Refactoring

    • Update build and setup process

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.2(Nov 17, 2020)

    🚨 Bug Fixes

    • Fix problem with text not concatenated into when split in docstring.

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Nov 16, 2020)

    🚨 Bug Fixes

    • Fix problem with __module__ not found for certain functions.

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Nov 16, 2020)

    🎁 Features & Improvements

    • Simple CLI to generate markdown docs in seconds
    • Supports Google-style Python Docstrings
    • Compatible with Github Markdown and MkDocs
    • Source-code linking
    • API overview generation
    • Docstyle validation
    • Programmatic API

    👥 Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
Owner
Machine Learning Tooling
Open-source machine learning tooling to boost your productivity.
Machine Learning Tooling
Sphinx-performance - CLI tool to measure the build time of different, free configurable Sphinx-Projects

CLI tool to measure the build time of different, free configurable Sphinx-Projec

useblocks 11 Nov 25, 2022
Markdown documentation generator from Google docstrings

mkgendocs A Python package for automatically generating documentation pages in markdown for Python source files by parsing Google style docstring. The

Davide Nunes 44 Dec 18, 2022
A curated list of awesome tools for Sphinx Python Documentation Generator

Awesome Sphinx (Python Documentation Generator) A curated list of awesome extra libraries, software and resources for Sphinx (Python Documentation Gen

Hyunjun Kim 831 Dec 27, 2022
sphinx builder that outputs markdown files.

sphinx-markdown-builder sphinx builder that outputs markdown files Please ★ this repo if you found it useful ★ ★ ★ If you want frontmatter support ple

Clay Risser 144 Jan 6, 2023
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 2, 2023
Main repository for the Sphinx documentation builder

Sphinx Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of mul

null 5.1k Jan 4, 2023
Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a livereload enabled web server.

sphinx-autobuild Rebuild Sphinx documentation on changes, with live-reload in the browser. Installation sphinx-autobuild is available on PyPI. It can

Executable Books 440 Jan 6, 2023
Seamlessly integrate pydantic models in your Sphinx documentation.

Seamlessly integrate pydantic models in your Sphinx documentation.

Franz Wöllert 71 Dec 26, 2022
Docov - Light-weight, recursive docstring coverage analysis for python modules

docov Light-weight, recursive docstring coverage analysis for python modules. Ov

Richard D. Paul 3 Feb 4, 2022
Project documentation with Markdown.

MkDocs Project documentation with Markdown. View the MkDocs documentation. Project release notes. Visit the MkDocs wiki for community resources, inclu

MkDocs 15.6k Jan 2, 2023
Explain yourself! Interrogate a codebase for docstring coverage.

interrogate: explain yourself Interrogate a codebase for docstring coverage. Why Do I Need This? interrogate checks your code base for missing docstri

Lynn Root 435 Dec 29, 2022
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.

Introduction Swagger UI allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without

Swagger 23.2k Dec 29, 2022
Literate-style documentation generator.

888888b. 888 Y88b 888 888 888 d88P 888 888 .d8888b .d8888b .d88b. 8888888P" 888 888 d88P" d88P" d88""88b 888 888 888

Pycco 808 Dec 27, 2022
python package sphinx template

python-package-sphinx-template python-package-sphinx-template

Soumil Nitin Shah 2 Dec 26, 2022
Sphinx theme for readthedocs.org

Read the Docs Sphinx Theme This Sphinx theme was designed to provide a great reader experience for documentation users on both desktop and mobile devi

Read the Docs 4.3k Dec 31, 2022
Numpy's Sphinx extensions

numpydoc -- Numpy's Sphinx extensions This package provides the numpydoc Sphinx extension for handling docstrings formatted according to the NumPy doc

NumPy 234 Dec 26, 2022
ReStructuredText and Sphinx bridge to Doxygen

Breathe Packagers: PGP signing key changes for Breathe >= v4.23.0. https://github.com/michaeljones/breathe/issues/591 This is an extension to reStruct

Michael Jones 643 Dec 31, 2022
Type hints support for the Sphinx autodoc extension

sphinx-autodoc-typehints This extension allows you to use Python 3 annotations for documenting acceptable argument types and return value types of fun

Alex Grönholm 462 Dec 29, 2022
Sphinx Bootstrap Theme

Sphinx Bootstrap Theme This Sphinx theme integrates the Bootstrap CSS / JavaScript framework with various layout options, hierarchical menu navigation

Ryan Roemer 584 Nov 16, 2022