[flake8]
ignore =
    # No space before colon
    E203
    W503
    # Missing docstring in __init__ (we do it in the class)
    D107
    # "First line should be in imperative mood" -- this doesn't work for properties, see https://github.com/PyCQA/pydocstyle/issues/301
    D401
    # allow method names to be the same as python builtins
    A003
    # inline strong start-string without end-string. This is OK in the case of **kwargs in parameters.
    RST210
    # Ignore public methods without docstrings, because it doesn't check for inheritance :/
    D102
    # TODO: remove. (one-line docstring should fit on one line with quotes)
    D200
    # TODO: remove. (first line should end with a period)
    D400
    # TODO: remove (line too long)
    E501
    # TODO: remove
    D105
    # TODO: remove
    D204
    # TODO: remove
    D202
    # TODO: remove
    D205
    # logging statement uses f-string
    G004
    # No explicit stacklevel keyword argument in warn calls
    B028
max-line-length = 88
# Should be 18.
max-complexity = 25
exclude =
    development/*
# Not ready for this yet.
per-file-ignores =
    tests/*:D,T001,T201   # print statements allowed in tests
    scripts/*: F821, T001
    docs/conf.py:D,A
    */__init__.py:F401
    src/hmf/mass_function/fitting_functions.py:D101
rst-roles =
    class
    func
    mod
    data
    const
    meth
    attr
    exc
    obj
rst-directives =
    note
    warning
    versionadded
    versionchanged
    deprecated
    seealso
