[flake8]
application_import_names = eventing
docstring_convention = google
import_order_style = google
exclude =
    .git*,
    .mypy_cache,
    .pytest_cache,
    .tox,
    __pycache__,
    docs/source/conf.py,
    venv
# for ignore and select of E203, W503 and W504
# see https://black.readthedocs.io/en/stable/faq.html#why-are-flake8-s-e203-and-w503-violated
extend_ignore =
    # D203: 1 blank line required before class docstring
    D203,
    # E203: Whitespace before ':'
    E203,
    # W503: Line break occurred before a binary operator
    W503,
extend_select =
    # W504: Line break occurred after a binary operator
    W504,
per_file_ignores =
    # D100: Missing docstring in public module
    # D101: Missing docstring in public class
    # D102: Missing docstring in public method
    # D103: Missing docstring in public function
    # D104: Missing docstring in public package
    # D105: Missing docstring in magic method
    # D106: Missing docstring in public nested class
    # D107: Missing docstring in __init__
    # We don't care about docstrings in tests, they're not public API
    tests/*.py: D100,D101,D102,D103,D104,D105,D106,D107
    # TODO: Remove when public API has been established, right now we don't care
    src/eventing/*.py: D100,D101,D102,D103,D104,D105,D106,D107
