Python code packaging for scientific software

By Jo Bovy

(last changed August 04, 2021, rev. 9d76abf; last built November 04, 2021)

This is a brief set of notes with an overview of the steps involved in developing, publishing, and maintaining a scientific software package. The notes focuses on current best practices and the different tools available to build, release, and maintain a scientific software package.

A PDF version of these notes is available here.


All of the code snippets and examples in these notes are being shared under a CC0 1.0 Public Domain license, so you can re-use and re-mix them in your own work. Otherwise, the text is shared under a CC BY-NC-ND 4.0 International Creative Commons License, meaning that you may distribute the work in full only, you are not allowed to modify it in any way, and you may not use it for commercial means or to gain monetary compensation (note that this summary is no substitute for the full license terms).