๐ค AI Summary
Scientific software often suffers from poor reproducibility and low sharing rates, primarily because researchers lack formal software engineering trainingโleading to version chaos, uncontrolled code quality, and cumbersome release processes. To address this, scikit-package introduces a progressive software engineering roadmap tailored for domain scientists. It provides standardized packaging tutorials, automated workflow templates (covering build systems, CI/CD pipelines, documentation generation, and package management), and community-maintained pedagogical resources. Its key innovation lies in adapting professional software engineering practices to the cognitive load of non-specialist programmers, enabling systematic progression from script-based functions to production-ready, open-source package releases. Empirical evaluation demonstrates that scikit-package significantly improves the reproducibility and maintainability of scientific code, enhances community sharing efficiency, and lowers barriers to standardized scientific software publication.
๐ Abstract
Scientific advancement relies on the ability to share and reproduce results. When data analysis or calculations are carried out using software written by scientists there are special challenges around code versions, quality and code sharing. scikit-package provides a roadmap to facilitate code reuse and sharing with minimal effort through tutorials coupled with automated and centralized reusable workflows. The goal of the project is to provide pedagogical and practical tools for scientists who are not professionally trained software engineers to write more reusable and maintainable software code. Code reuse can occur at multiple levels of complexity-from turning a code block into a function within a single script, to publishing a publicly installable, fully tested, and documented software package scikit-package provides a community maintained set of tools, and a roadmap, to help scientists bring their software higher levels of reproducibility and shareability.