[flake8]
max-line-length = 88
extend-ignore = E203, W503, E501
exclude =
    .git,
    __pycache__,
    .venv,
    venv,
    build,
    dist,
    *.egg-info,
    .pre-commit-hooks
per-file-ignores =
    # Tests can be more lenient with imports and line length
    tests/*:F401,F841
    # __init__.py files often have unused imports by design
    __init__.py:F401
