[flake8]
max-line-length = 120
max-doc-length = 100
select = B,C,E,F,W,Y,SIM
ignore =
    # E203: whitespace before ':'
    # E241: whitespace after ':'
    # E704: multiple statements on one line (def)
    # W503: line break before binary operator
    # W504: line break after binary operator
    # format by black
    E203,E241,E704,W503,W504,
    # E501: line too long
    # W505: doc line too long
    # too long docstring due to long example blocks
    E501,W505,
    # SIM105: Use 'contextlib.suppress(...)'
    # prefer try-except block
    SIM105,
per-file-ignores =
    # F401: module imported but unused
    # intentionally unused imports
    __init__.py: F401
    nvitop/api/host.py: F401
    nvitop/api/libnvml.py: F401
    # SIM113: use enumerate
    # false positive
    nvitop/tui/screens/main/process.py: SIM113
exclude =
    .git,
    .vscode,
    venv,
    __pycache__,
    docs/source/conf.py,
    build,
    dist
