Provided by: pydocstyle_6.3.0-1.1_all 

NAME
pydocstyle - pydocstyle Documentation pydocstyle is a static analysis tool for checking compliance with Python docstring conventions. pydocstyle supports most of PEP 257 out of the box, but it should not be considered a reference implementation. pydocstyle supports Python 3.7 through 3.11. Although pydocstyle is tries to be compatible with Python 3.6, it is not tested. 1. Install pip install pydocstyle 2. Run $ pydocstyle test.py test.py:18 in private nested class `meta`: D101: Docstring missing test.py:27 in public function `get_user`: D300: Use """triple double quotes""" (found '''-quotes) test:75 in public function `init_database`: D201: No blank lines allowed before function docstring (found 1) ... 3. Fix your code :) Contents:
USAGE
Installation Use pip or easy_install: pip install pydocstyle Alternatively, you can use pydocstyle.py source file directly - it is self-contained. Command Line Interface Usage Usage: pydocstyle [options] [<file|dir>...] Options: --version show program's version number and exit -h, --help show this help message and exit -e, --explain show explanation of each error -s, --source show source for each error -d, --debug print debug information -v, --verbose print status information --count print total number of errors to stdout --config=<path> use given config file and disable config discovery --match=<pattern> check only files that exactly match <pattern> regular expression; default is --match='(?!test_).*\.py' which matches files that don't start with 'test_' but end with '.py' --match-dir=<pattern> search only dirs that exactly match <pattern> regular expression; default is --match-dir='[^\.].*', which matches all dirs that don't start with a dot --ignore-decorators=<decorators> ignore any functions or methods that are decorated by a function with a name fitting the <decorators> regular expression; default is --ignore-decorators='' which does not ignore any decorated functions. Note: When using --match, --match-dir or --ignore-decorators consider whether you should use a single quote (') or a double quote ("), depending on your OS, Shell, etc. Error Check Options: Only one of --select, --ignore or --convention can be specified. If none is specified, defaults to `--convention=pep257`. These three options select the "basic list" of error codes to check. If you wish to change that list (for example, if you selected a known convention but wish to ignore a specific error from it or add a new one) you can use `--add-[ignore/select]` in order to do so. --select=<codes> choose the basic list of checked errors by specifying which errors to check for (with a list of comma- separated error codes or prefixes). for example: --select=D101,D2 --ignore=<codes> choose the basic list of checked errors by specifying which errors to ignore out of all of the available error codes (with a list of comma-separated error codes or prefixes). for example: --ignore=D101,D2 --convention=<name> choose the basic list of checked errors by specifying an existing convention. Possible conventions: pep257, numpy, google. --add-select=<codes> add extra error codes to check to the basic list of errors previously set by --select, --ignore or --convention. --add-ignore=<codes> ignore extra error codes by removing them from the basic list previously set by --select, --ignore or --convention. NOTE: When using any of the --select, --ignore, --add-select, or --add-ignore command line flags, it is possible to pass a prefix for an error code. It will be expanded so that any code beginning with that prefix will match. For example, running the command pydocstyle --ignore=D4 will ignore all docstring content issues as their error codes beginning with "D4" (i.e. D400, D401, D402, D403, and D404). Return Code ┌───┬───────────────────────────────────┐ │ 0 │ Success - no violations │ ├───┼───────────────────────────────────┤ │ 1 │ Some code violations were found │ ├───┼───────────────────────────────────┤ │ 2 │ Illegal usage - see error message │ └───┴───────────────────────────────────┘ Configuration Files pydocstyle supports ini-like and toml configuration files. In order for pydocstyle to use a configuration file automatically, it must be named one of the following options. • setup.cfg • tox.ini • .pydocstyle • .pydocstyle.ini • .pydocstylerc • .pydocstylerc.ini • pyproject.toml When searching for a configuration file, pydocstyle looks for one of the file specified above in that exact order. ini-like configuration files must have a [pydocstyle] section while toml configuration files must have a [tool.pydocstyle] section. If a configuration file was not found, pydocstyle keeps looking for one up the directory tree until one is found or uses the default configuration. NOTE: toml configuration file support is only enabled if the toml python package is installed. You can ensure that this is the case by installing the pydocstyle[toml] optional dependency. NOTE: For backwards compatibility purposes, pydocstyle supports configuration files named .pep257, as well as section header [pep257]. However, these are considered deprecated and support will be removed in the next major version. Available Options Not all configuration options are available in the configuration files. Available options are: • convention • select • ignore • add_select • add_ignore • match • match_dir • ignore_decorators • property_decorators • ignore_self_only_init See the Usage section for more information. Inheritance By default, when finding a configuration file, pydocstyle tries to inherit the parent directory's configuration and merge them to the local ones. The merge process is as follows: • If one of select, ignore or convention was specified in the child configuration - Ignores the parent configuration and set the new error codes to check. Otherwise, simply copies the parent checked error codes. • If add-ignore or add-select were specified, adds or removes the specified error codes from the checked error codes list. • If match or match-dir were specified - use them. Otherwise, use the parent's. In order to disable this (useful for configuration files located in your repo's root), simply add inherit=false to your configuration file. NOTE: If any of select, ignore or convention were specified in the CLI, the configuration files will take no part in choosing which error codes will be checked. match and match-dir will still take effect. Example [pydocstyle] inherit = false ignore = D100,D203,D405 match = .*\.py In-file configuration pydocstyle supports inline commenting to skip specific checks on specific functions or methods. The supported comments that can be added are: 1. "# noqa" skips all checks. 2. "# noqa: D102,D203" can be used to skip specific checks. Note that this is compatible with skips from flake8, e.g. # noqa: D102,E501,D203. For example, this will skip the check for a period at the end of a function docstring: >>> def bad_function(): # noqa: D400 ... """Omit a period in the docstring as an exception""" ... pass Usage with the pre-commit git hooks framework pydocstyle can be included as a hook for pre-commit. The easiest way to get started is to add this configuration to your .pre-commit-config.yaml: - repo: https://github.com/pycqa/pydocstyle rev: 0.0.0 # pick a git hash / tag to point to hooks: - id: pydocstyle See the pre-commit docs for how to customize this configuration. Checked-in python files will be passed as positional arguments so no need to use --match=*.py. You can also use command line arguments instead of configuration files to achieve the same effect with less files. - id: pydocstyle args: - --ignore=D100,D203,D405 # or multiline - |- --select= D101, D2
ERROR CODES
Grouping ──────────────────────────────────────────────────────────────────── Missing Docstrings ──────────────────────────────────────────────────────────────────── D100 Missing docstring in public module ──────────────────────────────────────────────────────────────────── D101 Missing docstring in public class ──────────────────────────────────────────────────────────────────── D102 Missing docstring in public method ──────────────────────────────────────────────────────────────────── D103 Missing docstring in public function ──────────────────────────────────────────────────────────────────── D104 Missing docstring in public package ──────────────────────────────────────────────────────────────────── D105 Missing docstring in magic method ──────────────────────────────────────────────────────────────────── D106 Missing docstring in public nested class ──────────────────────────────────────────────────────────────────── D107 Missing docstring in __init__ ──────────────────────────────────────────────────────────────────── Whitespace Issues ──────────────────────────────────────────────────────────────────── D200 One-line docstring should fit on one line with quotes ──────────────────────────────────────────────────────────────────── D201 No blank lines allowed before function docstring ──────────────────────────────────────────────────────────────────── D202 No blank lines allowed after function docstring ──────────────────────────────────────────────────────────────────── D203 1 blank line required before class docstring ──────────────────────────────────────────────────────────────────── D204 1 blank line required after class docstring ──────────────────────────────────────────────────────────────────── D205 1 blank line required between summary line and description ──────────────────────────────────────────────────────────────────── D206 Docstring should be indented with spaces, not tabs ──────────────────────────────────────────────────────────────────── D207 Docstring is under-indented ──────────────────────────────────────────────────────────────────── D208 Docstring is over-indented ──────────────────────────────────────────────────────────────────── D209 Multi-line docstring closing quotes should be on a separate line ──────────────────────────────────────────────────────────────────── D210 No whitespaces allowed surrounding docstring text ──────────────────────────────────────────────────────────────────── D211 No blank lines allowed before class docstring ──────────────────────────────────────────────────────────────────── D212 Multi-line docstring summary should start at the first line ──────────────────────────────────────────────────────────────────── D213 Multi-line docstring summary should start at the second line ──────────────────────────────────────────────────────────────────── D214 Section is over-indented ──────────────────────────────────────────────────────────────────── D215 Section underline is over-indented ──────────────────────────────────────────────────────────────────── Quotes Issues ──────────────────────────────────────────────────────────────────── D300 Use """triple double quotes""" ──────────────────────────────────────────────────────────────────── D301 Use r""" if any backslashes in a docstring ──────────────────────────────────────────────────────────────────── D302 Deprecated: Use u""" for Unicode docstrings ──────────────────────────────────────────────────────────────────── Docstring Content Issues ──────────────────────────────────────────────────────────────────── D400 First line should end with a period ──────────────────────────────────────────────────────────────────── D401 First line should be in imperative mood ──────────────────────────────────────────────────────────────────── D401 First line should be in imperative mood; try rephrasing ──────────────────────────────────────────────────────────────────── D402 First line should not be the function's "signature" ──────────────────────────────────────────────────────────────────── D403 First word of the first line should be properly capitalized ──────────────────────────────────────────────────────────────────── D404 First word of the docstring should not be This ──────────────────────────────────────────────────────────────────── D405 Section name should be properly capitalized ──────────────────────────────────────────────────────────────────── D406 Section name should end with a newline ──────────────────────────────────────────────────────────────────── D407 Missing dashed underline after section ──────────────────────────────────────────────────────────────────── D408 Section underline should be in the line following the section's name ──────────────────────────────────────────────────────────────────── D409 Section underline should match the length of its name ──────────────────────────────────────────────────────────────────── D410 Missing blank line after section ──────────────────────────────────────────────────────────────────── D411 Missing blank line before section ──────────────────────────────────────────────────────────────────── D412 No blank lines allowed between a section header and its content ──────────────────────────────────────────────────────────────────── D413 Missing blank line after last section ──────────────────────────────────────────────────────────────────── D414 Section has no content ──────────────────────────────────────────────────────────────────── D415 First line should end with a period, question mark, or exclamation point ──────────────────────────────────────────────────────────────────── D416 Section name should end with a colon ──────────────────────────────────────────────────────────────────── D417 Missing argument descriptions in the docstring ──────────────────────────────────────────────────────────────────── D418 Function/ Method decorated with @overload shouldn't contain a docstring ──────────────────────────────────────────────────────────────────── D419 Docstring is empty ┌──────────────────────────┬───────────────────────────────────────┐ │ │ │ Default conventions │ │ │ --
AUTHOR
Amir Rachum
COPYRIGHT
2024, Amir Rachum, Sambhav Kothari 0.0.0 2024-01-14 PYDOCSTYLE(1)