[flake8]
max-line-length = 120
extend-ignore =
    # E203: whitespace before ':'
    E203,
    # W503: line break before binary operator
    W503,
    # E501: line too long (handled by black)
    E501
exclude =
    .git,
    __pycache__,
    .venv,
    venv,
    build,
    dist,
    *.egg-info,
    .pytest_cache,
    .mypy_cache,
    proto/
per-file-ignores =
    __init__.py:F401
max-complexity = 10