The mypy-baseline sync command is the first one you run. It creates a new baseline file or synchronizes the changes with an existing one.

mypy | mypy-baseline sync

The baseline file (mypy-baseline.txt by default) contains all errors that mypy spits out with line numbers replaced with zeros and colors removed. All errors recorded in the baseline will be filtered out from the future mypy runs by mypy-baseline filter.

The lines in the baseline come in the same order as mypy produeces them. This order is fragile, and the order of files analyzed (and so the lines in the baseline) might change as the dependency graph between modules changes and even be different on different machines. When syncing the changes with an existing baseline, we try to preserve the lines order there, but sometimes it cannot be done, and the lines may jump around. If that causes merge conflicts, simply re-run sync instead of trying to fix conflicts manually.

Jupyter notebooks

All mypy-baseline commands support nbQA for checking Jupyter notebooks:

python3 -m pip install nbqa
nbqa mypy . | mypy-baseline sync