Skip to content
Galactic Dynamics in python
Python C Other
Branch: master
Clone or download
Latest commit ff3aa25 Feb 10, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add stale bot [ci skip] Feb 10, 2020
doc Link to main website [ci skip] Feb 5, 2020
galpy Test whether astropy is loaded before using units Feb 6, 2020
nemo version of Makefile and PowSphwCut that compiles [ci skip] Dec 18, 2014
tests Fix #415: properly deal with scalar Quantity of scalar numpy int64 in… Feb 6, 2020
.coveragerc Exclude AMUSE code from tests Aug 5, 2019
.coveragerc_travis Exclude AMUSE code from tests Aug 5, 2019 much simpler lcov script with single_ext Aug 15, 2014
.gitignore Add .pyd to .gitignore Oct 13, 2018
.travis.yml Setuptools should be <45 Jan 16, 2020
AUTHORS.txt Merge branch 'master' into dehnensphere_c Nov 13, 2019 Add contributing guide as file in repository [ci skip] Aug 30, 2017
HISTORY.txt Add HomogeneousSpherePotential to HISTORY Dec 20, 2019
LICENSE Tweak the LICENSE text to make it an exact match to BSD 3-clause (w/o… Oct 8, 2018 Switch README format in and Feb 5, 2020 Some notes about 1D potentials in the dev README Oct 8, 2018 Update readthedocs README links to [ci skip] Feb 5, 2020
README.nemo rudimentary instructions on how to add a new NEMO potential Dec 18, 2014 Tweak about version number format [ci skip] Sep 12, 2019 fix a tiny bug and add comment [ci skip] Jul 1, 2019
gsl-config.bat Add simple Windows version of gsl-config Feb 26, 2018 Switch README format in and Feb 5, 2020

Galactic Dynamics in python

galpy is a Python 2 and 3 package for galactic dynamics. It supports orbit integration in a variety of potentials, evaluating and sampling various distribution functions, and the calculation of action-angle coordinates for all static potentials. galpy is an astropy affiliated package and provides full support for astropy’s Quantity framework for variables with units.

image image image image image image image image image image image image


Jo Bovy - bovy at astro dot utoronto dot ca

See AUTHORS.txt for a full list of contributors.

If you find this code useful in your research, please let me know. If you use galpy in a publication, please cite Bovy (2015) and link to See the acknowledgement documentation section for a more detailed guide to citing parts of the code. Please also send me a reference to the paper or send a pull request including your paper in the list of galpy papers on this page (this page is at doc/source/index.rst). Thanks!


The latest documentation can be found here. You can also join the galpy slack community for any questions related to galpy; join here.

If you find any bug in the code, please report these using the Issue Tracker or by joining the galpy slack community.

If you are having issues with the installation of galpy, please first consult the Installation FAQ.


galpy supports both Python 2 and 3. Specifically, galpy supports Python 2.7 and Python 3.6 and 3.7. It should also work on earlier Python 3.* versions, but this is not extensively tested on an ongoing basis. Travis CI builds regularly check support for Python 2.7 and 3.7 (and of 3.6 using a more limited, core set of tests) and Appveyor builds regularly check support for Python 3.7 on Windows.

This package requires Numpy, Scipy, and Matplotlib. Certain advanced features require the GNU Scientific Library (GSL), with action calculations requiring version 1.14 or higher. Use of SnapshotRZPotential and InterpSnapshotRZPotential requires pynbody. Support for providing inputs and getting outputs as Quantities with units is provided through astropy.


If you are interested in contributing to galpy's development, take a look at this brief guide on the wiki. This will hopefully help you get started!

Some further development notes can be found on the wiki. This includes a list of small and larger extensions of galpy that would be useful here as well as a longer-term roadmap here. Please let the main developer know if you need any help contributing!


The dehnendf and shudf disk distribution functions can be corrected to follow the desired surface-mass density and radial-velocity-dispersion profiles more closely (see 1999AJ....118.1201D). Calculating these corrections is expensive, and a large set of precalculated corrections can be found here [tar.gz archive]. Install these by downloading them and unpacking them into the galpy/df/data directory before running the installation. E.g.:

curl -O
tar xvzf galpy-dfcorrections.tar.gz -C ./galpy/df/data/
You can’t perform that action at this time.