pynbody
=======
[![Build Status](https://github.com/pynbody/pynbody/actions/workflows/build-test.yaml/badge.svg?branch=master)](https://github.com/pynbody/pynbody/actions)

[Pynbody](https://github.com/pynbody/pynbody) is an analysis framework for
N-body and hydrodynamic astrophysical simulations supporting PKDGRAV/Gasoline,
Gadget, Gadget4/Arepo, N-Chilada and RAMSES AMR outputs. It supports Python 3
only (versions prior to 1.0 are still available on PyPI for Python 2).
Minor version support adheres roughly to [NEP29](https://numpy.org/neps/nep-0029-deprecation_policy.html).

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](http://nbviewer.ipython.org/github/pynbody/pynbody/blob/master/examples/pynbody_demo.ipynb).


### Getting started

If python and the standard pip package manager is installed and properly configured, you can simply do:

```
$ pip install pynbody
```

If this fails, you may need some more detailed [installation
instructions](http://pynbody.github.io/pynbody/installation.html). Once
you have the package installed, try the introductory
[tutorials](http://pynbody.github.io/pynbody/tutorials/tutorials.html).
The full documentation can be found
[here](http://pynbody.github.io/pynbody/).

### Contributing

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](http://pynbody.github.io/pynbody/tutorials/tutorials.html) or [cookbook](http://pynbody.github.io/pynbody/tutorials/tutorials.html#cookbook-recipes) 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](http://adsabs.harvard.edu/abs/2013ascl.soft05002P). Optionally you can also cite the Zenodo DOI for the specific version of pynbody that you are using, which may be found [here](https://doi.org/10.5281/zenodo.1297087).

### Support and Contact

If you have trouble with Pynbody or you have feature
requests/suggestions you can [submit an issue](https://github.com/pynbody/pynbody/issues),
and/or send us an email on the [Usergroup mailing
list](https://groups.google.com/forum/?fromgroups#!forum/pynbody-users).
