poliastro - Astrodynamics in Python

Molniya orbit

Plot of a Molniya orbit around the Earth (\(a = 26600\,\mathrm{km}, e = 0.75, i = 63.4 \mathrm{{}^{\circ}} \)).

poliastro is an open source collection of Python subroutines useful in Astrodynamics and Orbital Mechanics. It tries to provide a simple and intuitive API and handles physical quantities with units (thanks to astropy.units). Some of its features are:

  • Orbit propagation
  • Conversion between position and velocity vectors and classical orbital elements
  • Hohmann and bielliptic maneuvers computation
  • Trajectory plotting

And more to come!

The source code, issue tracker and wiki are hosted on GitHub, and all contributions and feedback are more than welcome.

poliastro works on both Python 2 and 3 and is released under a 2-clause BSD license, hence allowing commercial use of the library.

from poliastro.examples import molniya
from poliastro.plotting import plot

plot(molniya)

poliastro relies on some Fortran subroutines written by David A. Vallado for his book “Fundamentals of Astrodynamics and Applications” and available on the Internet as the companion software of the book. The author explicitly gave permission to redistribute these subroutines in this project under the current license.