General Coding Standards#

This document defines the code and documentation standards used in this repository.

Code Standards#

The code in this repository conforms to standards set by the following tools:

  • ruff for style checks and code formatting

  • mypy for static type checking

Supported Python Versions#

As a standard for the python versions to support, we should be matching the deprecation policy at https://numpy.org/neps/nep-0029-deprecation_policy.html.

Currently supported versions are: 3.10, 3.11.

Documentation Standards#

Docstrings are pre-processed using the Sphinx Napoleon extension. As such, google-style is considered as standard for this repository. Please use type hints in the function signature for types. For example:

def func(arg1: str, arg2: int) -> bool:
    """Summary line.

    Extended description of function.

    Args:
        arg1: Description of arg1
        arg2: Description of arg2

    Returns:
        Description of return value
    """
    return True

Documentation is contained in the docs directory and extracted from docstrings of the API.

Docs follow the underlining convention:

Headling 1 (page title)
=======================

Heading 2
---------

Heading 3
~~~~~~~~~

See also

How-to guide Build the docs using sphinx