[flake8]
exclude = .git,__pycache__,vendor,.venv,build,dist,.compiled,mnt
# match black expectations
max_line_length = 88

# enforce single quotes
docstring-quotes = '''
multiline-quotes = '''

extend-ignore =
    X100, E262,
    # See https://github.com/PyCQA/pycodestyle/issues/373
    E203,
    # comply with black
    # it will handle line lengths automatically
    E501,
    # it also controls trailing commas in general
    C812, C813, C815,

per-file-ignores =
# Allow misaligned array entries, crazy line lengths, unused variables,
# multiple spaces after commas in lists (for grid alignment), and put
# your imports in whatever order you want
	user_keymaps/**/*.py: E131,F401,E501,E241,E131,BLK100,I003
	boards/**/main.py: E131,F401,E501,E241,E131,BLK100,I003
	tests/test_data/keymaps/**/*.py: F401,E501

[isort]
known_standard_library =
    analogio,
    bitbangio,
    bleio,
    board,
    busio,
    digitalio,
    framebuf,
    gamepad,
    gc,
    machine,
    microcontroller,
    micropython,
    neopixel,
    pulseio,
    pyb,
    pyb,
    pydux,
    supervisor,
    ubluepy,
    uio,
    uos,
    usb_hid,

# black compat
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=0
use_parentheses=True
line_length=88