Python DocBlock Package

September 4, 2020 ยท View on GitHub

Build Status Plugin installs! Package version!

DocBlock is a package for Atom which helps you to document your python code.

Demo

Installation

From the command line run apm install docblock-python. You can also install it from the Atom Package manager.

Available styles

Project configuration file

It is possible to set configurations for different projects. You just need to add a .docblock.json file to the project root directory including any of the package settings. Below you can see an example JSON with all the settings set to their default value.

{
  "style": "numpy",
  "indent": true,
  "parameters": true,
  "quote_type": "double",
  "default_desc_text": true,
  "use_defaults": true,
  "returns": true,
  "raises": false,
  "examples": false,
  "types": {
    "use_types": true,
    "separate_types": false
  },
  "lint": false
}

You can generate the .docblock.json file by clicking on the Packages -> docblock-python -> Save current settings menu.

A full list of the options and their possible values are described below:

OptionValueDescription
style"numpy", "google", "sphinx" or "epytext"Docblock style
indenttrue or falseInitial indent
parameterstrue or falseDescribe parameters
quote_type"double" or "single"Type of triple quotes to use
default_desc_texttrue or falseShow default description text ("Description of...")
use_defaultstrue or falseAdd default value to parameter description
returnstrue or falseDescribe returned value
raisestrue or falseDescribe raised exceptions
examplestrue or falseShould illustrate how to use the function/class (doctest)
types.use_typestrue or falseParameter and attribute type
types.separate_typestrue or falseShow types in a different line (sphinx style only)
linttrue or falseEnable lint to show missing documentation (experimental)

Lint support

This experimental feature should show you when the documentation is not up-to-date. At the moment, it only checks if the current parameters and attributes are documented (not if you are documenting something that doesn't exist).

In order to this feature to work, you need to install Linter and enable the option in docblock-python settings.

Lint

TODO

This is a non-exhaustive list of future additions. If you have any suggestions, drop me an email.

  • Add Google style
  • Add Sphinx style
  • Scan for Exceptions
  • Convert between styles
  • Add support for Type Hints (PEP 484)
  • Add lint support to show incomplete documentation
  • Project configuration file
  • Add menu item to write current settings to config file.