[flake8]
# Maximum line length (matches Black formatter)
max-line-length = 88

# Exclude common directories that shouldn't be linted
exclude = 
    .git,
    __pycache__,
    .venv,
    venv,
    env,
    .env,
    migrations,
    node_modules,
    .tox,
    .mypy_cache,
    .pytest_cache,
    build,
    dist,
    *.egg-info

# Ignore line break style warnings which are style preferences
# W503: line break before binary operator (conflicts with PEP8 W504)
# W504: line break after binary operator (conflicts with PEP8 W503)
# These warnings contradict each other, so it's best to ignore one or both
ignore = W503,W504

# Maximum complexity for McCabe complexity checker
max-complexity = 10
