Pynbody is a light-weight, portable, format-transparent analysis framework for N-body and hydrodynamic astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, N-Chilada, and RAMSES AMR outputs.
Written in Python, the core tools are accompanied by a library of publication-level analysis routines. For a quick tour of some of the features, have a look at this IPython notebook.
Since August 2020, pynbody supports only Python 3.5 or later. To reflect this change, we are moving to a new semantic version numbering scheme, starting with 1.0.0. Earlier versions of pynbody (prior to 1.0) can be installed for users who are still transitioning away from Python 2, support for which ended in January 2020.
If python and the standard pip package manager is installed and properly configured, you can simply do:
$ pip install pynbody
Help us make pynbody better! As you develop analysis for your science with pynbody, consider making your code available for everyone else to use. You can do this by creating a tutorial or cookbook or by adding your code to the relevant sub-module and submitting a pull request (make a fork first -- see https://help.github.com/articles/using-pull-requests).
Acknowledging the code
When using pynbody, please acknowledge it by citing the Astrophysics Source Code Library entry. Optionally you can also cite the Zenodo DOI for the specific version of pynbody that you are using, which may be found here.