Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks
Jupyter Notebook is widely recognized as a crucial tool for data science professionals and students. Its interactive and self-documenting nature makes it particularly suitable for data-driven programming tasks. Nonetheless, it faces criticism for its limited support for software engineering best pra...
Saved in:
| Main Authors: | , , |
|---|---|
| Format: | Article |
| Language: | English |
| Published: |
Elsevier
2024-12-01
|
| Series: | SoftwareX |
| Subjects: | |
| Online Access: | http://www.sciencedirect.com/science/article/pii/S2352711024003297 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| _version_ | 1850266390248816640 |
|---|---|
| author | Luigi Quaranta Fabio Calefato Filippo Lanubile |
| author_facet | Luigi Quaranta Fabio Calefato Filippo Lanubile |
| author_sort | Luigi Quaranta |
| collection | DOAJ |
| description | Jupyter Notebook is widely recognized as a crucial tool for data science professionals and students. Its interactive and self-documenting nature makes it particularly suitable for data-driven programming tasks. Nonetheless, it faces criticism for its limited support for software engineering best practices and its tendency to encourage bad programming habits, such as non-linear code execution. These issues often result in non-reproducible, poorly documented, and low-quality notebook code. In this paper, we introduce Pynblint, a static analyzer for Python Jupyter notebooks. Pynblint is designed to help data scientists write better notebooks, easy to understand and reproduce. We report on how we validated Pynblint with both professional data scientists and students, receiving overall positive feedback. Additionally, we discuss the potential of Pynblint to facilitate research inquiries into computational notebooks. |
| format | Article |
| id | doaj-art-e322c737136649d3909d8d010d680e32 |
| institution | OA Journals |
| issn | 2352-7110 |
| language | English |
| publishDate | 2024-12-01 |
| publisher | Elsevier |
| record_format | Article |
| series | SoftwareX |
| spelling | doaj-art-e322c737136649d3909d8d010d680e322025-08-20T01:54:11ZengElsevierSoftwareX2352-71102024-12-012810195910.1016/j.softx.2024.101959Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooksLuigi Quaranta0Fabio Calefato1Filippo Lanubile2Corresponding author.; Department of Computer Science, University of Bari, ItalyDepartment of Computer Science, University of Bari, ItalyDepartment of Computer Science, University of Bari, ItalyJupyter Notebook is widely recognized as a crucial tool for data science professionals and students. Its interactive and self-documenting nature makes it particularly suitable for data-driven programming tasks. Nonetheless, it faces criticism for its limited support for software engineering best practices and its tendency to encourage bad programming habits, such as non-linear code execution. These issues often result in non-reproducible, poorly documented, and low-quality notebook code. In this paper, we introduce Pynblint, a static analyzer for Python Jupyter notebooks. Pynblint is designed to help data scientists write better notebooks, easy to understand and reproduce. We report on how we validated Pynblint with both professional data scientists and students, receiving overall positive feedback. Additionally, we discuss the potential of Pynblint to facilitate research inquiries into computational notebooks.http://www.sciencedirect.com/science/article/pii/S2352711024003297Computational notebookStatic analyzerLinterQAData scienceMachine learning |
| spellingShingle | Luigi Quaranta Fabio Calefato Filippo Lanubile Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks SoftwareX Computational notebook Static analyzer Linter QA Data science Machine learning |
| title | Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks |
| title_full | Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks |
| title_fullStr | Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks |
| title_full_unstemmed | Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks |
| title_short | Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks |
| title_sort | pynblint a quality assurance tool to improve the quality of python jupyter notebooks |
| topic | Computational notebook Static analyzer Linter QA Data science Machine learning |
| url | http://www.sciencedirect.com/science/article/pii/S2352711024003297 |
| work_keys_str_mv | AT luigiquaranta pynblintaqualityassurancetooltoimprovethequalityofpythonjupyternotebooks AT fabiocalefato pynblintaqualityassurancetooltoimprovethequalityofpythonjupyternotebooks AT filippolanubile pynblintaqualityassurancetooltoimprovethequalityofpythonjupyternotebooks |