[flake8] # Match Black and Ruff line length max-line-length = 120 # Ignore rules that conflict with Black formatting or are handled by other tools ignore = # E203: whitespace before ':' - Black intentionally does this E203, # E501: line too long - handled by Black/Ruff E501, # W503: line break before binary operator - conflicts with Black W503, # E226: missing whitespace around arithmetic operator - Black style E226, # W391: blank line at end of file - not critical W391, # C901: function is too complex - these are intentional for complex business logic C901, # F401: imported but unused - star imports for choice registration are intentional F401 # Exclude common directories exclude = .git, __pycache__, migrations, .venv, venv, build, dist, *.egg-info, node_modules, htmlcov, .pytest_cache # Complexity threshold - set high since we have intentional complex functions max-complexity = 50