2014-01-18 12:56:23 -06:00
|
|
|
:mod:`sphinx.ext.napoleon` -- Support for NumPy and Google style docstrings
|
2018-06-08 11:27:13 -05:00
|
|
|
===========================================================================
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
.. module:: sphinx.ext.napoleon
|
|
|
|
:synopsis: Support for NumPy and Google style docstrings
|
|
|
|
|
|
|
|
.. moduleauthor:: Rob Ruana
|
|
|
|
|
|
|
|
.. versionadded:: 1.3
|
|
|
|
|
2018-06-08 11:27:13 -05:00
|
|
|
Overview
|
|
|
|
--------
|
2014-01-18 12:56:23 -06:00
|
|
|
|
2016-02-14 02:37:55 -06:00
|
|
|
.. highlight:: text
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
Are you tired of writing docstrings that look like this::
|
|
|
|
|
|
|
|
:param path: The path of the file to wrap
|
|
|
|
:type path: str
|
|
|
|
:param field_storage: The :class:`FileStorage` instance to wrap
|
|
|
|
:type field_storage: FileStorage
|
|
|
|
:param temporary: Whether or not to delete the file when the File
|
|
|
|
instance is destructed
|
|
|
|
:type temporary: bool
|
|
|
|
:returns: A buffered writable file descriptor
|
|
|
|
:rtype: BufferedFileStorage
|
|
|
|
|
2018-06-08 11:27:13 -05:00
|
|
|
`reStructuredText`_ is great, but it creates visually dense, hard to read
|
2014-01-18 12:56:23 -06:00
|
|
|
`docstrings`_. Compare the jumble above to the same thing rewritten
|
|
|
|
according to the `Google Python Style Guide`_::
|
|
|
|
|
|
|
|
Args:
|
|
|
|
path (str): The path of the file to wrap
|
|
|
|
field_storage (FileStorage): The :class:`FileStorage` instance to wrap
|
|
|
|
temporary (bool): Whether or not to delete the file when the File
|
|
|
|
instance is destructed
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
BufferedFileStorage: A buffered writable file descriptor
|
|
|
|
|
|
|
|
Much more legible, no?
|
|
|
|
|
2018-06-08 11:27:13 -05:00
|
|
|
Napoleon is a :term:`extension` that enables Sphinx to parse both `NumPy`_ and
|
|
|
|
`Google`_ style docstrings - the style recommended by `Khan Academy`_.
|
2014-04-26 18:43:46 -05:00
|
|
|
|
|
|
|
Napoleon is a pre-processor that parses `NumPy`_ and `Google`_ style
|
|
|
|
docstrings and converts them to reStructuredText before Sphinx attempts to
|
|
|
|
parse them. This happens in an intermediate step while Sphinx is processing
|
|
|
|
the documentation, so it doesn't modify any of the docstrings in your actual
|
|
|
|
source code files.
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
.. _ReStructuredText: http://docutils.sourceforge.net/rst.html
|
2016-02-13 09:00:42 -06:00
|
|
|
.. _docstrings: https://www.python.org/dev/peps/pep-0287/
|
2014-01-18 12:56:23 -06:00
|
|
|
.. _Google Python Style Guide:
|
2018-01-20 16:04:57 -06:00
|
|
|
https://google.github.io/styleguide/pyguide.html
|
2014-01-18 12:56:23 -06:00
|
|
|
.. _Google:
|
2018-01-20 16:04:57 -06:00
|
|
|
https://google.github.io/styleguide/pyguide.html#Comments
|
2014-01-18 12:56:23 -06:00
|
|
|
.. _NumPy:
|
2019-11-26 09:12:32 -06:00
|
|
|
https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard
|
2014-01-18 12:56:23 -06:00
|
|
|
.. _Khan Academy:
|
2015-03-07 07:07:46 -06:00
|
|
|
https://github.com/Khan/style-guides/blob/master/style/python.md#docstrings
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
Getting Started
|
2018-06-08 11:27:13 -05:00
|
|
|
~~~~~~~~~~~~~~~
|
2014-01-18 12:56:23 -06:00
|
|
|
|
2017-11-03 07:44:00 -05:00
|
|
|
1. After :doc:`setting up Sphinx </usage/quickstart>` to build your docs,
|
|
|
|
enable napoleon in the Sphinx `conf.py` file::
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
# conf.py
|
|
|
|
|
2017-11-11 06:53:20 -06:00
|
|
|
# Add napoleon to the extensions list
|
|
|
|
extensions = ['sphinx.ext.napoleon']
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
2. Use `sphinx-apidoc` to build your API documentation::
|
|
|
|
|
|
|
|
$ sphinx-apidoc -f -o docs/source projectdir
|
|
|
|
|
|
|
|
|
|
|
|
Docstrings
|
2018-06-08 11:27:13 -05:00
|
|
|
~~~~~~~~~~
|
2014-01-18 12:56:23 -06:00
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
Napoleon interprets every docstring that :mod:`autodoc <sphinx.ext.autodoc>`
|
|
|
|
can find, including docstrings on: ``modules``, ``classes``, ``attributes``,
|
2014-01-18 12:56:23 -06:00
|
|
|
``methods``, ``functions``, and ``variables``. Inside each docstring,
|
|
|
|
specially formatted `Sections`_ are parsed and converted to
|
|
|
|
reStructuredText.
|
|
|
|
|
|
|
|
All standard reStructuredText formatting still works as expected.
|
|
|
|
|
|
|
|
|
|
|
|
.. _Sections:
|
|
|
|
|
|
|
|
Docstring Sections
|
2018-06-08 11:27:13 -05:00
|
|
|
~~~~~~~~~~~~~~~~~~
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
All of the following section headers are supported:
|
|
|
|
|
|
|
|
* ``Args`` *(alias of Parameters)*
|
|
|
|
* ``Arguments`` *(alias of Parameters)*
|
2018-06-21 07:10:52 -05:00
|
|
|
* ``Attention``
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Attributes``
|
2018-06-21 07:10:52 -05:00
|
|
|
* ``Caution``
|
|
|
|
* ``Danger``
|
|
|
|
* ``Error``
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Example``
|
|
|
|
* ``Examples``
|
2018-06-21 07:10:52 -05:00
|
|
|
* ``Hint``
|
|
|
|
* ``Important``
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Keyword Args`` *(alias of Keyword Arguments)*
|
|
|
|
* ``Keyword Arguments``
|
|
|
|
* ``Methods``
|
|
|
|
* ``Note``
|
|
|
|
* ``Notes``
|
|
|
|
* ``Other Parameters``
|
|
|
|
* ``Parameters``
|
|
|
|
* ``Return`` *(alias of Returns)*
|
|
|
|
* ``Returns``
|
2020-06-29 04:15:49 -05:00
|
|
|
* ``Raise`` *(alias of Raises)*
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Raises``
|
|
|
|
* ``References``
|
|
|
|
* ``See Also``
|
2018-06-21 07:10:52 -05:00
|
|
|
* ``Tip``
|
2015-10-19 07:27:04 -05:00
|
|
|
* ``Todo``
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Warning``
|
|
|
|
* ``Warnings`` *(alias of Warning)*
|
2020-06-29 04:15:49 -05:00
|
|
|
* ``Warn`` *(alias of Warns)*
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Warns``
|
2015-06-09 20:18:22 -05:00
|
|
|
* ``Yield`` *(alias of Yields)*
|
2014-01-18 12:56:23 -06:00
|
|
|
* ``Yields``
|
|
|
|
|
|
|
|
Google vs NumPy
|
2018-06-08 11:27:13 -05:00
|
|
|
~~~~~~~~~~~~~~~
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
Napoleon supports two styles of docstrings: `Google`_ and `NumPy`_. The
|
2018-12-25 12:10:25 -06:00
|
|
|
main difference between the two styles is that Google uses indentation to
|
2014-01-18 12:56:23 -06:00
|
|
|
separate sections, whereas NumPy uses underlines.
|
|
|
|
|
2016-02-14 02:37:55 -06:00
|
|
|
Google style:
|
|
|
|
|
|
|
|
.. code-block:: python3
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
def func(arg1, arg2):
|
|
|
|
"""Summary line.
|
|
|
|
|
|
|
|
Extended description of function.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
arg1 (int): Description of arg1
|
|
|
|
arg2 (str): Description of arg2
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
bool: Description of return value
|
|
|
|
|
|
|
|
"""
|
|
|
|
return True
|
|
|
|
|
2016-02-14 02:37:55 -06:00
|
|
|
NumPy style:
|
|
|
|
|
|
|
|
.. code-block:: python3
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
def func(arg1, arg2):
|
|
|
|
"""Summary line.
|
|
|
|
|
|
|
|
Extended description of function.
|
|
|
|
|
|
|
|
Parameters
|
|
|
|
----------
|
|
|
|
arg1 : int
|
|
|
|
Description of arg1
|
|
|
|
arg2 : str
|
|
|
|
Description of arg2
|
|
|
|
|
|
|
|
Returns
|
|
|
|
-------
|
|
|
|
bool
|
|
|
|
Description of return value
|
|
|
|
|
|
|
|
"""
|
|
|
|
return True
|
|
|
|
|
|
|
|
NumPy style tends to require more vertical space, whereas Google style
|
|
|
|
tends to use more horizontal space. Google style tends to be easier to
|
|
|
|
read for short and simple docstrings, whereas NumPy style tends be easier
|
|
|
|
to read for long and in-depth docstrings.
|
|
|
|
|
|
|
|
The `Khan Academy`_ recommends using Google style.
|
|
|
|
|
|
|
|
The choice between styles is largely aesthetic, but the two styles should
|
|
|
|
not be mixed. Choose one style for your project and be consistent with it.
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
For complete examples:
|
|
|
|
|
|
|
|
* :ref:`example_google`
|
|
|
|
* :ref:`example_numpy`
|
|
|
|
|
2016-06-23 14:25:00 -05:00
|
|
|
|
|
|
|
Type Annotations
|
2018-06-08 11:27:13 -05:00
|
|
|
~~~~~~~~~~~~~~~~
|
2016-06-23 14:25:00 -05:00
|
|
|
|
|
|
|
`PEP 484`_ introduced a standard way to express types in Python code.
|
|
|
|
This is an alternative to expressing types directly in docstrings.
|
|
|
|
One benefit of expressing types according to `PEP 484`_ is that
|
|
|
|
type checkers and IDEs can take advantage of them for static code
|
|
|
|
analysis.
|
|
|
|
|
|
|
|
Google style with Python 3 type annotations::
|
|
|
|
|
|
|
|
def func(arg1: int, arg2: str) -> bool:
|
|
|
|
"""Summary line.
|
|
|
|
|
|
|
|
Extended description of function.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
arg1: Description of arg1
|
|
|
|
arg2: Description of arg2
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
Description of return value
|
|
|
|
|
|
|
|
"""
|
|
|
|
return True
|
|
|
|
|
|
|
|
Google style with types in docstrings::
|
|
|
|
|
|
|
|
def func(arg1, arg2):
|
|
|
|
"""Summary line.
|
|
|
|
|
|
|
|
Extended description of function.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
arg1 (int): Description of arg1
|
|
|
|
arg2 (str): Description of arg2
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
bool: Description of return value
|
|
|
|
|
|
|
|
"""
|
|
|
|
return True
|
2015-06-09 20:18:22 -05:00
|
|
|
|
2016-07-02 10:43:55 -05:00
|
|
|
.. Note::
|
|
|
|
`Python 2/3 compatible annotations`_ aren't currently
|
|
|
|
supported by Sphinx and won't show up in the docs.
|
|
|
|
|
2015-06-09 20:18:22 -05:00
|
|
|
.. _PEP 484:
|
|
|
|
https://www.python.org/dev/peps/pep-0484/
|
|
|
|
|
2016-06-23 14:25:00 -05:00
|
|
|
.. _Python 2/3 compatible annotations:
|
|
|
|
https://www.python.org/dev/peps/pep-0484/#suggested-syntax-for-python-2-7-and-straddling-code
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
Configuration
|
2018-06-08 11:27:13 -05:00
|
|
|
-------------
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
Listed below are all the settings used by napoleon and their default
|
|
|
|
values. These settings can be changed in the Sphinx `conf.py` file. Make
|
2017-11-11 06:53:20 -06:00
|
|
|
sure that "sphinx.ext.napoleon" is enabled in `conf.py`::
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
# conf.py
|
|
|
|
|
|
|
|
# Add any Sphinx extension module names here, as strings
|
2017-11-11 06:53:20 -06:00
|
|
|
extensions = ['sphinx.ext.napoleon']
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
# Napoleon settings
|
|
|
|
napoleon_google_docstring = True
|
|
|
|
napoleon_numpy_docstring = True
|
2016-06-11 19:28:48 -05:00
|
|
|
napoleon_include_init_with_doc = False
|
2014-01-18 12:56:23 -06:00
|
|
|
napoleon_include_private_with_doc = False
|
|
|
|
napoleon_include_special_with_doc = True
|
|
|
|
napoleon_use_admonition_for_examples = False
|
|
|
|
napoleon_use_admonition_for_notes = False
|
|
|
|
napoleon_use_admonition_for_references = False
|
|
|
|
napoleon_use_ivar = False
|
2014-03-09 00:56:56 -06:00
|
|
|
napoleon_use_param = True
|
|
|
|
napoleon_use_rtype = True
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
.. _Google style:
|
2018-01-20 16:04:57 -06:00
|
|
|
https://google.github.io/styleguide/pyguide.html
|
2014-01-18 12:56:23 -06:00
|
|
|
.. _NumPy style:
|
|
|
|
https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_google_docstring
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to parse `Google style`_ docstrings. False to disable support
|
2014-01-19 12:43:54 -06:00
|
|
|
for Google style docstrings. *Defaults to True.*
|
|
|
|
|
|
|
|
.. confval:: napoleon_numpy_docstring
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
True to parse `NumPy style`_ docstrings. False to disable support
|
2014-01-19 12:43:54 -06:00
|
|
|
for NumPy style docstrings. *Defaults to True.*
|
|
|
|
|
2016-06-11 19:28:48 -05:00
|
|
|
.. confval:: napoleon_include_init_with_doc
|
|
|
|
|
|
|
|
True to list ``__init___`` docstrings separately from the class
|
|
|
|
docstring. False to fall back to Sphinx's default behavior, which
|
|
|
|
considers the ``__init___`` docstring as part of the class
|
|
|
|
documentation. *Defaults to False.*
|
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
\"\"\"
|
|
|
|
This will be included in the docs because it has a docstring
|
|
|
|
\"\"\"
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
# This will NOT be included in the docs
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_include_private_with_doc
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
True to include private members (like ``_membername``) with docstrings
|
|
|
|
in the documentation. False to fall back to Sphinx's default behavior.
|
2014-01-19 12:43:54 -06:00
|
|
|
*Defaults to False.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
def _included(self):
|
|
|
|
"""
|
|
|
|
This will be included in the docs because it has a docstring
|
|
|
|
"""
|
|
|
|
pass
|
|
|
|
|
|
|
|
def _skipped(self):
|
|
|
|
# This will NOT be included in the docs
|
|
|
|
pass
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_include_special_with_doc
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to include special members (like ``__membername__``) with
|
|
|
|
docstrings in the documentation. False to fall back to Sphinx's
|
2014-01-19 12:43:54 -06:00
|
|
|
default behavior. *Defaults to True.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
"""
|
|
|
|
This will be included in the docs because it has a docstring
|
|
|
|
"""
|
|
|
|
return unicode(self).encode('utf-8')
|
|
|
|
|
|
|
|
def __unicode__(self):
|
|
|
|
# This will NOT be included in the docs
|
|
|
|
return unicode(self.__class__.__name__)
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_use_admonition_for_examples
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to use the ``.. admonition::`` directive for the **Example** and
|
|
|
|
**Examples** sections. False to use the ``.. rubric::`` directive
|
|
|
|
instead. One may look better than the other depending on what HTML
|
2014-01-19 12:43:54 -06:00
|
|
|
theme is used. *Defaults to False.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
This `NumPy style`_ snippet will be converted as follows::
|
|
|
|
|
|
|
|
Example
|
|
|
|
-------
|
|
|
|
This is just a quick example
|
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
.. admonition:: Example
|
|
|
|
|
|
|
|
This is just a quick example
|
|
|
|
|
|
|
|
**If False**::
|
|
|
|
|
|
|
|
.. rubric:: Example
|
|
|
|
|
|
|
|
This is just a quick example
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_use_admonition_for_notes
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to use the ``.. admonition::`` directive for **Notes** sections.
|
2014-01-19 12:43:54 -06:00
|
|
|
False to use the ``.. rubric::`` directive instead. *Defaults to False.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
.. note:: The singular **Note** section will always be converted to a
|
|
|
|
``.. note::`` directive.
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
:attr:`napoleon_use_admonition_for_examples`
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_use_admonition_for_references
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to use the ``.. admonition::`` directive for **References**
|
|
|
|
sections. False to use the ``.. rubric::`` directive instead.
|
2014-01-19 12:43:54 -06:00
|
|
|
*Defaults to False.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
:attr:`napoleon_use_admonition_for_examples`
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_use_ivar
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to use the ``:ivar:`` role for instance variables. False to use
|
2014-01-19 12:43:54 -06:00
|
|
|
the ``.. attribute::`` directive instead. *Defaults to False.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
This `NumPy style`_ snippet will be converted as follows::
|
|
|
|
|
|
|
|
Attributes
|
|
|
|
----------
|
|
|
|
attr1 : int
|
|
|
|
Description of `attr1`
|
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
:ivar attr1: Description of `attr1`
|
|
|
|
:vartype attr1: int
|
|
|
|
|
|
|
|
**If False**::
|
|
|
|
|
|
|
|
.. attribute:: attr1
|
2014-06-13 15:06:39 -05:00
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
Description of `attr1`
|
|
|
|
|
2018-09-23 08:26:17 -05:00
|
|
|
:type: int
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_use_param
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to use a ``:param:`` role for each function parameter. False to
|
|
|
|
use a single ``:parameters:`` role for all the parameters.
|
2014-03-09 00:56:56 -06:00
|
|
|
*Defaults to True.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
This `NumPy style`_ snippet will be converted as follows::
|
|
|
|
|
|
|
|
Parameters
|
|
|
|
----------
|
|
|
|
arg1 : str
|
|
|
|
Description of `arg1`
|
|
|
|
arg2 : int, optional
|
|
|
|
Description of `arg2`, defaults to 0
|
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
:param arg1: Description of `arg1`
|
|
|
|
:type arg1: str
|
|
|
|
:param arg2: Description of `arg2`, defaults to 0
|
|
|
|
:type arg2: int, optional
|
|
|
|
|
|
|
|
**If False**::
|
|
|
|
|
|
|
|
:parameters: * **arg1** (*str*) --
|
|
|
|
Description of `arg1`
|
|
|
|
* **arg2** (*int, optional*) --
|
|
|
|
Description of `arg2`, defaults to 0
|
|
|
|
|
2016-03-15 15:24:16 -05:00
|
|
|
.. confval:: napoleon_use_keyword
|
|
|
|
|
|
|
|
True to use a ``:keyword:`` role for each function keyword argument.
|
|
|
|
False to use a single ``:keyword arguments:`` role for all the
|
|
|
|
keywords.
|
|
|
|
*Defaults to True.*
|
|
|
|
|
|
|
|
This behaves similarly to :attr:`napoleon_use_param`. Note unlike docutils,
|
|
|
|
``:keyword:`` and ``:param:`` will not be treated the same way - there will
|
|
|
|
be a separate "Keyword Arguments" section, rendered in the same fashion as
|
|
|
|
"Parameters" section (type links created if possible)
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
:attr:`napoleon_use_param`
|
|
|
|
|
2014-01-19 12:43:54 -06:00
|
|
|
.. confval:: napoleon_use_rtype
|
|
|
|
|
2014-01-18 12:56:23 -06:00
|
|
|
True to use the ``:rtype:`` role for the return type. False to output
|
2014-03-09 00:56:56 -06:00
|
|
|
the return type inline with the description. *Defaults to True.*
|
2014-01-18 12:56:23 -06:00
|
|
|
|
|
|
|
This `NumPy style`_ snippet will be converted as follows::
|
|
|
|
|
|
|
|
Returns
|
|
|
|
-------
|
|
|
|
bool
|
|
|
|
True if successful, False otherwise
|
|
|
|
|
|
|
|
**If True**::
|
|
|
|
|
|
|
|
:returns: True if successful, False otherwise
|
|
|
|
:rtype: bool
|
|
|
|
|
|
|
|
**If False**::
|
|
|
|
|
|
|
|
:returns: *bool* -- True if successful, False otherwise
|