[FORMAT]
# Essential to be able to compare code side-by-side (`black` default setting)
# and best compromise to minimize file size
max-line-length=88

[TYPECHECK]
# NumPy's floating-point limits are populated dynamically.
ignored-classes=finfo
ignored-modules=qtpy.QtWidgets,qtpy.QtCore,qtpy.QtGui,cv2,plotpy._scaler,scipy.special,skimage.draw,skimage.restoration,skimage.feature

[MESSAGES CONTROL]
# Ruff owns import ordering. The remaining exclusions reflect accepted complexity in
# numerical algorithms, compatibility layers, and parallel object APIs.
disable=duplicate-code,
	fixme,
	too-many-arguments,
	too-many-branches,
	too-many-instance-attributes,
	too-many-lines,
	too-many-locals,
	too-many-public-methods,
	too-many-statements,
	wrong-import-order

[DESIGN]
max-args=10  # default: 5
max-positional-arguments=11  # default: 5
max-attributes=12  # default: 7
max-branches=20  # default: 12
max-locals=20  # default: 15
min-public-methods=0  # default: 2
max-public-methods=25  # default: 20