[flake8]
max-line-length = 88
extend-ignore = E203, W503, S101, G001, G002, BLK
exclude =
    .git,
    __pycache__,
    build,
    dist,
    .eggs,
    *.egg-info,
    .pytest_cache,
    .mypy_cache,
    scripts
per-file-ignores = 
    # Allow imports after path manipulation in bin files
    src/sgn_manifold/bin/cbc.py:E402
    # Allow imports after gi.require_version in GStreamer files
    src/sgn_manifold/snr_optimizer.py:E402
    # Allow long lines inside embedded HTML/CSS/JS templates
    src/sgn_manifold/bin/manifold_report.py:E501
    # Allow assert and test passwords in tests
    tests/*:S101,S105,S110
    # Allow long lines in docstrings
    */examples/*:E501
    # Ignore future annotations in auto-generated version file
    src/sgn_manifold/_version.py:FA100