Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks

IF 2.4 4区 计算机科学 Q2 COMPUTER SCIENCE, SOFTWARE ENGINEERING SoftwareX Pub Date : 2024-11-12 DOI:10.1016/j.softx.2024.101959
Luigi Quaranta, Fabio Calefato, Filippo Lanubile
{"title":"Pynblint: A quality assurance tool to improve the quality of Python Jupyter notebooks","authors":"Luigi Quaranta,&nbsp;Fabio Calefato,&nbsp;Filippo Lanubile","doi":"10.1016/j.softx.2024.101959","DOIUrl":null,"url":null,"abstract":"<div><div>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 <span>Pynblint</span>, a static analyzer for Python Jupyter notebooks. <span>Pynblint</span> is designed to help data scientists write better notebooks, easy to understand and reproduce. We report on how we validated <span>Pynblint</span> with both professional data scientists and students, receiving overall positive feedback. Additionally, we discuss the potential of <span>Pynblint</span> to facilitate research inquiries into computational notebooks.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"28 ","pages":"Article 101959"},"PeriodicalIF":2.4000,"publicationDate":"2024-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SoftwareX","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2352711024003297","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Pynblint:提高 Python Jupyter 笔记本质量的质量保证工具
Jupyter Notebook 被广泛认为是数据科学专业人员和学生的重要工具。其交互式和自文档化的特性使其特别适合数据驱动的编程任务。然而,Jupyter Notebook 因其对软件工程最佳实践的支持有限以及容易助长非线性代码执行等不良编程习惯而饱受批评。这些问题往往导致笔记本代码不可重现、文档记录不全和质量低下。在本文中,我们将介绍 Python Jupyter 笔记本的静态分析器 Pynblint。Pynblint 旨在帮助数据科学家编写更好的笔记本,易于理解和重现。我们报告了如何通过专业数据科学家和学生对 Pynblint 进行验证,得到了总体上积极的反馈。此外,我们还讨论了 Pynblint 在促进计算笔记本研究方面的潜力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
SoftwareX
SoftwareX COMPUTER SCIENCE, SOFTWARE ENGINEERING-
CiteScore
5.50
自引率
2.90%
发文量
184
审稿时长
9 weeks
期刊介绍: SoftwareX aims to acknowledge the impact of software on today''s research practice, and on new scientific discoveries in almost all research domains. SoftwareX also aims to stress the importance of the software developers who are, in part, responsible for this impact. To this end, SoftwareX aims to support publication of research software in such a way that: The software is given a stamp of scientific relevance, and provided with a peer-reviewed recognition of scientific impact; The software developers are given the credits they deserve; The software is citable, allowing traditional metrics of scientific excellence to apply; The academic career paths of software developers are supported rather than hindered; The software is publicly available for inspection, validation, and re-use. Above all, SoftwareX aims to inform researchers about software applications, tools and libraries with a (proven) potential to impact the process of scientific discovery in various domains. The journal is multidisciplinary and accepts submissions from within and across subject domains such as those represented within the broad thematic areas below: Mathematical and Physical Sciences; Environmental Sciences; Medical and Biological Sciences; Humanities, Arts and Social Sciences. Originating from these broad thematic areas, the journal also welcomes submissions of software that works in cross cutting thematic areas, such as citizen science, cybersecurity, digital economy, energy, global resource stewardship, health and wellbeing, etcetera. SoftwareX specifically aims to accept submissions representing domain-independent software that may impact more than one research domain.
期刊最新文献
CARLA-GymDrive: Autonomous driving episode generation for the Carla simulator in a gym environment Version [1.0]- HAT-VIS — A MATLAB-based hypergraph visualization tool The pymcdm-reidentify tool: Advanced methods for MCDA model re-identification COMBEAMS: A numerical tool for the structural verification of steel-concrete composite beams QMol-grid : A MATLAB package for quantum-mechanical simulations in atomic and molecular systems
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1