πŸ“– 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 Started β€’ Features β€’ Documentation β€’ Support β€’ Contribution β€’ Changelog

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 Linking β€’ API Overview β€’ MKDocs Integration β€’ Docstyle Validation β€’ Print 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)

    PyPi Release

    🎁 Features & Improvements

    • Ignore sub-modules from ignored packages.

    πŸ‘₯ Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • 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)

    PyPi Release

    πŸ‘· Maintenance & Refactoring

    • Update to universal-build version 0.6.6

    πŸ‘₯ Contributors

    Thanks to @LukasMasuch for the contributions.

    Source code(tar.gz)
    Source code(zip)
  • 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
This is a repository for "100 days of code challenge" projects. You can reach all projects from beginner to professional which are written in Python.

100 Days of Code It's a challenge that aims to gain code practice and enhance programming knowledge. Day #1 Create a Band Name Generator It's actually

SelenNB 2 May 12, 2022
Speed up Sphinx builds by selectively removing toctrees from some pages

Remove toctrees from Sphinx pages Improve your Sphinx build time by selectively removing TocTree objects from pages. This is useful if your documentat

Executable Books 8 Jan 04, 2023
Canonical source repository for PyYAML

PyYAML - The next generation YAML parser and emitter for Python. To install, type 'python setup.py install'. By default, the setup.py script checks

The YAML Project 2k Jan 01, 2023
advance python series: Data Classes, OOPs, python

Working With Pydantic - Built-in Data Process ========================== Normal way to process data (reading json file): the normal princiople, it's f

Phung HΖ°ng Binh 1 Nov 08, 2021
PythonCoding Tutorials - Small functions that would summarize what is needed for python coding

PythonCoding_Tutorials Small functions that would summarize what is needed for p

Hosna Hamdieh 2 Jan 03, 2022
Some code that takes a pipe-separated input and converts that into a table!

tablemaker A program that takes an input: a | b | c # With comments as well. e | f | g h | i |jk And converts it to a table: β”Œβ”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”€β” β”‚ a β”‚ b β”‚

CodingSoda 2 Aug 30, 2022
Software engineering course project. Secondhand trading system.

PigeonSale Software engineering course project. Secondhand trading system. Documentation API doumenatation: list of APIs Backend documentation: notes

Harry Lee 1 Sep 01, 2022
EasyModerationKit is an open-source framework designed to moderate and filter inappropriate content.

EasyModerationKit is a public transparency statement. It declares any repositories and legalities used in the EasyModeration system. It allows for implementing EasyModeration into an advanced charact

Aarav 1 Jan 16, 2022
step by step guide for beginners for getting started with open source

Step-by-Step Guide for beginners for getting started with Open-Source Here The Contribution Begins πŸ’» If you are a beginner then this repository is fo

Arpit Jain 66 Jan 03, 2023
Service for visualisation of high dimensional for hydrosphere

hydro-visualization Service for visualization of high dimensional for hydrosphere DEPENDENCIES DEBUG_ENV = bool(os.getenv("DEBUG_ENV", False)) APP_POR

hydrosphere.io 1 Nov 12, 2021
🌱 Complete API wrapper of Seedr.cc

Python API Wrapper of Seedr.cc Table of Contents Installation How I got the API endpoints? Start Guide Getting Token Logging with Username and Passwor

Hemanta Pokharel 43 Dec 26, 2022
Python bindings to OpenSlide

OpenSlide Python OpenSlide Python is a Python interface to the OpenSlide library. OpenSlide is a C library that provides a simple interface for readin

OpenSlide 297 Dec 21, 2022
Automatically open a pull request for repositories that have no CONTRIBUTING.md file

automatic-contrib-prs Automatically open a pull request for repositories that have no CONTRIBUTING.md file for a targeted set of repositories. What th

GitHub 8 Oct 20, 2022
A curated list of python programming language blogs

Python Blogs A curated list of python programming language blogs Contribute Companies/Organization # A B C D E F G H I J K L M N O P Q R S T U V W X Y

Rizky D. Onto 48 Nov 15, 2022
Parser manager for parsing DOC, DOCX, PDF or HTML files

Parser manager Description Parser gets PDF, DOC, DOCX or HTML file via API and saves parsed data to the database. Implemented in Ruby 3.0.1 using Acti

Π­Π΄Π΅ΠΌ 4 Dec 04, 2021
A Collection of Cheatsheets, Books, Questions, and Portfolio For DS/ML Interview Prep

Here are the sections: Data Science Cheatsheets Data Science EBooks Data Science Question Bank Data Science Case Studies Data Science Portfolio Data J

James Le 2.5k Jan 02, 2023
PowerApps-docstring is a console based, pipeline ready application that automatically generates user and technical documentation for Power Apps.

powerapps-docstring PowerApps-docstring is a console based, pipeline ready application that automatically generates user and technical documentation f

Sebastian Muthwill 30 Nov 23, 2022
Simple yet powerful CAD (Computer Aided Design) library, written with Python.

Py-MADCAD it's time to throw parametric softwares out ! Simple yet powerful CAD (Computer Aided Design) library, written with Python. Installation

jimy byerley 124 Jan 06, 2023
This is the repository that includes the code material for the ESweek 2021 for the Education Class Lecture A3 "Learn to Drive (and Race!) Autonomous Vehicles"

ESweek2021_educationclassA3 This is the repository that includes the code material for the ESweek 2021 for the Education Class Lecture A3 "Learn to Dr

F1TENTH Autonomous Racing Community 29 Dec 06, 2022
Plotting and analysis tools for ARTIS simulations

Artistools Artistools is collection of plotting, analysis, and file format conversion tools for the ARTIS radiative transfer code. Installation First

ARTIS Monte Carlo Radiative Transfer 8 Nov 07, 2022