Getting started


poliastro requires the following Python packages:

  • NumPy, for basic numerical routines
  • Astropy, for physical units and time handling
  • numba (optional), for accelerating the code
  • jplephem, for the planetary ephemerides using SPICE kernels
  • matplotlib, for orbit plotting
  • scipy, for root finding and numerical propagation
  • pytest, for running the tests from the package

poliastro is usually tested on Linux, Windows and OS X on Python 3.5 and 3.6 against latest NumPy.


The easiest and fastest way to get the package up and running is to install poliastro using conda:

$ conda install poliastro --channel conda-forge

You can also install poliastro from PyPI using pip, given that you already have all the requirements:

$ pip install poliastro

You can also download poliastro source from GitHub and type:

$ pip install .

Development installations are also supported thanks to setuptools:

$ pip install -e .


It is recommended that you never ever use sudo with distutils, pip, setuptools and friends in Linux because you might seriously break your system [1][2][3][4]. Options are per user directories, virtualenv or local installations.


If installed correctly, the tests can be run using pytest:

$ python -c "import poliastro.testing; poliastro.testing.test()"
Running unit tests for poliastro

If for some reason any test fails, please report it in the issue tracker.