Contributing#

Contributes to m_n_kappa are highly appreciated.

Found a bug?#

Please open an issue in the GitHub-Repository.

Make a commit#

In case you commit to the project please follow the recommendations for the Perfect Commit.

The following four points must be considered in the commit:

  1. Implementation

  2. Tests (unittest is the used testing-framework)

  3. Documentation

  4. Issue thread (see also Found a bug?)

Documentation#

Theory guide#

In case the newly implemented object introduces a new behavior that is not covered by the Theory guide than a description of the theoretical background must be given. The basic concept as well as the underlying assumption should be outlined. Furthermore an explanation should be given how the new concept fits into the current program.

Code / Doc-Strings#

The format of the doc-strings of an object may in general follow the recommendations by the Numpy style-guide.

Each object may at least comprise of the following sections:

  1. Short summary

  2. Version this object is

  3. Extended Summary

  4. Parameters: sometimes a descriptive figure is useful this may be included using the .. figure::-directive

  5. Returns in case the object returns a value

  6. Raises in case the object raises an exception. An appropriate description may be given, when an exception is raised.

  7. See Also to give cross-references to similar objects if available.

  8. Notes for additional notes and mathematical expression using the .. math::-directive.

  9. Examples are mandatory to illustrate usage of the object.

def the_method():
    """
    Short summmary

    .. versionadded: 0.1.0

    Extended summary

    Parameters
    ----------
    parameter_1 : float
        this is the first parameter
    parameter_2 : float, default = 10.0
        this is the second parameter

    Returns
    -------
    int
        this is the return-value

    Raises
    ------
    ValueError
        Error-description

    See also
    --------
    another_method : has similar behaviour as this method

    Notes
    -----
    In mathematical notation this function may be given as follows

    .. math::

       M = \\frac{q \\cdot L^2}{8}

    Keep in mind that the backspace-character (\)
    needs to be escaped by another backspace-character (\\).

    Examples
    --------
    This is the example usage of the method.

    >>> from m_n_kappa import Rectangle
    >>> rectangle = Rectangle(top_edge=10, bottom_edge=20, width=10)
    """