[flake8]
max-line-length = 127
max-complexity = 10
exclude =
    .git,
    __pycache__,
    .mypy_cache,
    .pytest_cache,
    venv,
    env,
    build,
    dist,
    *.egg-info,
    .tox
ignore =
    # W503: line break before binary operator (conflicts with Black)
    W503,
    # E203: whitespace before ':' (conflicts with Black)
    E203,
    # E501: line too long (we use max-line-length)
    E501

per-file-ignores =
    # Allow unused imports in __init__.py files
    __init__.py:F401,F403
    # Allow assertions in tests
    tests/*:S101
    # Allow higher complexity for Gemini prompt module
    kikotools/tools/gemini_prompt/logic.py:C901
    kikotools/tools/gemini_prompt/models.py:C901
    kikotools/tools/gemini_prompt/node.py:C901

# Statistics
count = True
statistics = True
