At the SciPy conference last year, several talks pointed to the need for better resources to help scientists and students get oriented with all the tools around scientific Python—tools for version control, testing, and documentation that are essential for supporting collaboration and maintenance. A basic familiarity with these tools enables someone to create an open-source scientific Python project that invites collaboration and reuse, and it enables them to contribute to an existing project.

I gave a lightning talk on a project I started to help scientists and students get started with the essentials: organizing code in modules, adding tests and running them using pytest, writing numpydoc docstrings and narrative examples, publishing HTML documentation using sphinx, setting up a continuous integration service, and publishing releases. The project includes a template (“cookiecutter”) and, more importantly, documentation on the most essential aspects of each tool.

The project is documented at nsls-ii.github.io/scientific-python-cookiecutter/.

I hope that this project lowers the barrier to entry to contributing to the scientific Python ecosystem.

comments powered by Disqus