科学 Python 库开发指南
本指南由科学 Python 社区维护,旨在惠及其他科学家和研究软件工程师。
从基础开始。 您是否有一堆越来越难以管理的科学 Python 脚本或 Jupyter Notebook?更改代码某些部分是否意外地破坏了代码的其他部分?您是否希望代码更易于维护、可重用和共享?从教程开始。
学习推荐的工具和最佳实践。 主题指南 提供了关于科学家和研究软件工程师在其项目发展和壮大的过程中可能遇到的主题的任务型说明。这涵盖了现代打包(简单或编译)、风格检查、测试、文档、静态类型、CI等等!
新项目模板
本指南附带了一个用于创建新仓库的 copier/cookiecutter/cruft 模板,scientific-python/cookie。九种构建后端(包括编译后端),在 Nox 中进行了生成测试,并与指南保持同步。
检查现有项目
我们提供了 sp-repo-review,这是一套用于将您的仓库与指南进行比较的 repo-review 检查,可以通过 WebAssembly 在指南中直接运行!所有检查都指向指南中的链接徽章。
学习编写更好的研究代码。 一份关于原则的高级文档提供了基于社区集体经验的建议,这些经验构建了更易于研究人员成功使用且更易于随着时间的推移进行维护的代码。
使用我们针对常见任务的解决方案。 一个不断增长的模式集合提供了针对任务的经过测试的方法,这些任务可能难以完全正确地执行,例如将数据文件与 Python 包一起包含。
相关资源
本指南不涵盖 Python 本身或科学 Python 库的基础知识;它专注于创建或维护包。如果您需要信息,我们建议您查看科学 Python 讲座。
本指南也不涵盖版本控制,但要成功使用这些工具,必须具备基本的 git 技能。我们建议您查看软件木匠关于 Git 的课程。
历史
本指南(以及 cookie 和 repo-review)于 2020 年在Scikit-HEP 中启动。它与NSLS-II 指南合并,并在2023 年科学 Python 开发者峰会上移至科学 Python,并进行了许多更新。对编译组件的改进支持部分由 NSF 资助 OAC-2209877 提供。