Skip to main content

Galactic Dynamics in python

Project description

Galactic Dynamics in python

galpy is a Python 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.

AUTHOR

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 http://github.com/jobovy/galpy. See the acknowledgement documentation section for a more detailed guide to citing parts of the code. Thanks!

LOOKING FOR HELP?

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.

PYTHON VERSIONS AND DEPENDENCIES

galpy supports Python 3. Specifically, galpy supports Python 3.7, 3.8, and 3.9. It should also work on earlier Python 3.* versions, but this is not extensively tested on an ongoing basis and because libraries that galpy depends on are dropping earlier Python 3.* versions, galpy itself likely doesn't fully work on them. GitHub Actions CI builds regularly check support for Python 3.9 (and of 3.7, and 3.8 using a more limited, core set of tests) on Linux and Windows; Appveyor builds regularly check support for Python 3.9 on Windows. While most of galpy likely works in Python 2.7, this is no longer tested and Python 2.7 is no longer officially supported.

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. Other optional dependencies include:

  • Support for providing inputs and getting outputs as Quantities with units is provided through astropy.
  • Querying SIMBAD for the coordinates of an object in the Orbit.from_name initialization method requires astroquery.
  • Plotting arbitrary functions of Orbit attributes requires numexpr.
  • Constant-anisotropy DFs in galpy.df.constantbetadf require JAX.
  • Use of SnapshotRZPotential and InterpSnapshotRZPotential requires pynbody.

Other parts of the code may require additional packages and you will be alerted by the code if they are not installed.

CONTRIBUTING TO GALPY

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!

DISK DF CORRECTIONS

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 setup.py installation. E.g.:

curl -O https://github.s3.amazonaws.com/downloads/jobovy/galpy/galpy-dfcorrections.tar.gz
tar xvzf galpy-dfcorrections.tar.gz -C ./galpy/df/data/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for galpy, version 1.7.0
Filename, size File type Python version Upload date Hashes
Filename, size galpy-1.7.0-cp36-cp36m-macosx_10_9_x86_64.whl (732.8 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size galpy-1.7.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size galpy-1.7.0-cp36-cp36m-win_amd64.whl (737.7 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size galpy-1.7.0-cp37-cp37m-macosx_10_9_x86_64.whl (738.1 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size galpy-1.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size galpy-1.7.0-cp37-cp37m-win_amd64.whl (737.7 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size galpy-1.7.0-cp38-cp38-macosx_10_9_x86_64.whl (738.1 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size galpy-1.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size galpy-1.7.0-cp38-cp38-win_amd64.whl (737.7 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size galpy-1.7.0-cp39-cp39-macosx_10_9_x86_64.whl (734.6 kB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size galpy-1.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size galpy-1.7.0-cp39-cp39-win_amd64.whl (738.1 kB) File type Wheel Python version cp39 Upload date Hashes View
Filename, size galpy-1.7.0.tar.gz (502.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page