Jupyter Notebook is the tool of choice of many data scientists in the early stages of ML workflows. The notebook format, however, has been criticized for inducing bad programming practices; indeed, researchers have already shown that open-source repositories are inundated by poor-quality notebooks. Low-quality output from the prototypical stages of ML workflows constitutes a clear bottleneck towards the productization of ML models. To foster the creation of better notebooks, we developed Pynblint, a static analyzer for Jupyter notebooks written in Python. The tool checks the compliance of notebooks (and surrounding repositories) with a set of empirically validated best practices and provides targeted recommendations when violations are detected.
@article{arxiv.2205.11934,
title = {Pynblint: a Static Analyzer for Python Jupyter Notebooks},
author = {Luigi Quaranta and Fabio Calefato and Filippo Lanubile},
journal= {arXiv preprint arXiv:2205.11934},
year = {2022}
}