Run ruff, isort, pyupgrade, mypy, pylint, flake8, and more on Jupyter Notebooks
Added autopep8
as runtime dependency. This is used
to do some preprocessing on the notebooks before running the
given tool them, thus solving a historic bug in which users
would get errors to do with cell separators (which they couldn't
do anything about). Thanks @felix-cw for the report!