Fetching contributors…
Cannot retrieve contributors at this time
95 lines (69 sloc) 2.81 KB

poliastro - Astrodynamics in Python


poliastro is an open source (MIT) collection of Python functions useful in Astrodynamics and Orbital Mechanics, focusing on interplanetary applications. It provides a simple and intuitive API and handles physical quantities with units. Some of its awesome features are:

  • Analytical and numerical orbit propagation
  • Conversion between position and velocity vectors and classical orbital elements
  • Coordinate frame transformations
  • Hohmann and bielliptic maneuvers computation
  • Trajectory plotting
  • Initial orbit determination (Lambert problem)
  • Planetary ephemerides (using SPICE kernels via Astropy)
  • Computation of Near-Earth Objects (NEOs)

And more to come!

poliastro is developed by an open, international community. Release announcements and general discussion take place on our mailing list and chat.

Molniya orbit

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

The source code, issue tracker and wiki are hosted on GitHub, and all contributions and feedback are more than welcome. You can test poliastro in your browser using binder, a cloud Jupyter notebook server:

poliastro works on recent versions of Python and is released under the MIT license, hence allowing commercial use of the library.

import matplotlib.pyplot as plt

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



.. toctree::
   :maxdepth: 2



Older versions of poliastro relied 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 a permissive license.