Skip to main content

Build Status Coverage Status PyPi Status

sphinx-autodoc-napoleon-typehints

This extension allows you to use Python 3 annotations for documenting acceptable argument types and return value types of functions. This allows you to use type hints in a very natural fashion, allowing you to migrate from this:

def format_unit(value, unit):
    """
    Formats the given value as a human readable string using the given units.

    :param float|int value: a numeric value
    :param str unit: the unit for the value (kg, m, etc.)
    :rtype: str
    """
    return '{} {}'.format(value, unit)

to this:

from typing import Union

def format_unit(value: Union[float, int], unit: str) -> str:
    """
    Formats the given value as a human readable string using the given units.

    :param value: a numeric value
    :param unit: the unit for the value (kg, m, etc.)
    """
    return '{} {}'.format(value, unit)

There is also support for google docstrings or numpy docstrings with help of the napoleon napoleon sphinx extention. This means that even docstrings like this:

def format_unit_google(self, value: Union[float, int], unit: str, test: Optional[Union[Iterable, str]]) -> str:
    """
    Formats the given value as a human readable string using the given units.

    Args:
        value: a numeric value
        unit: the unit for the value (kg, m, etc.)
        test: bla bla blathe unit for the value (kg, m, etc.)

    Returns:
       This function returns something of
       value: and does not overwrite this part.
    """
    return '{} {}'.format(value, unit)

def format_unit_numpy(self, value: Union[float, int], unit: str, test: Optional[Union[Iterable, str]]) -> str:
    """
    Formats the given value as a human readable string using the given units.

    Parameters
    ----------
    value: a numeric value
    unit: the unit for the value (kg, m, etc.)
    test: bla bla blathe unit for the value (kg, m, etc.)

    Returns
    -------
    This function returns something of
    value: and does not overwrite this part.
    """
    return '{} {}'.format(value, unit)

the result for which is the same as above

Installation and setup

First, use pip to download and install the extension:

$ pip install sphinx-autodoc-napoleon-typehints

Then, add the extension to your conf.py:

extensions = [
    'sphinx.ext.autodoc',
    'sphinx_autodoc_napoleon_typehints'
]

How it works

The extension listens to the autodoc-process-signature and autodoc-process-docstring Sphinx events. In the former, it strips the annotations from the function signature. In the latter, it injects the appropriate :type argname: and :rtype: directives into the docstring.

Only arguments that have an existing :param: directive in the docstring get their respective :type: directives added. The :rtype: directive is added if and only if no existing :rtype: is found.

This extension does not currently have any configuration options.

Metadata

Release files for sphinx-autodoc-napoleon-typehints 2.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sphinx-autodoc-napoleon-typehints 2.1.6
File Size Uploaded Provenance Actions
sphinx-autodoc-napoleon-typehints-2.1.6.tar.gz 13.1 kB Without provenance Details for sphinx-autodoc-napoleon-typehints-2.1.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sphinx-autodoc-napoleon-typehints 2.1.6
File Interpreter ABI Platform Actions
sphinx_autodoc_napoleon_typehints-2.1.6-py2.py3-none-any.whl Python 2, Python 3 none any Details for sphinx_autodoc_napoleon_typehints-2.1.6-py2.py3-none-any.whl

Total release size: 20.6 kB

Release files / sphinx-autodoc-napoleon-typehints-2.1.6.tar.gz

Download URL sphinx-autodoc-napoleon-typehints-2.1.6.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
67e36dc22d03362ab95c41d33b3a86fd8a7561a73648df112cdb57f989e1dae9
BLAKE2b-256 checksum
How to use checksums
050b8ccc320b7fdfbb8e57cafefb5d7fb45db383f651dca2eb1fd74b8f3d6f1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / sphinx_autodoc_napoleon_typehints-2.1.6-py2.py3-none-any.whl

Download URL sphinx_autodoc_napoleon_typehints-2.1.6-py2.py3-none-any.whl
Size 7.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ad2f6a89eff950b30b65097f41a9f7065df168998a5fab16bb94df2d6b45e087
BLAKE2b-256 checksum
How to use checksums
7f0e2d453296810270564bbafb6603d4cca2598f02fa9fb49c3177ba7ea40da0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for sphinx-autodoc-napoleon-typehints 2.1.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.1.6 This release

2 release files No provenance

2.0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page