poliastro - Astrodynamics in Python¶
poliastro is an open source collection of Python subroutines 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
- Hohmann and bielliptic maneuvers computation
- Trajectory plotting
- Initial orbit determination (Lambert problem)
- Planetary ephemerides (SPICE kernels)
And more to come!
You can browse the gallery of examples using binder, a cloud Jupyter notebook server:
Release announcements and general discussion take place on our mailing list. Feel free to join!
poliastro works on recent Python versions and is released under the MIT license, hence allowing commercial use of the library.
from poliastro.examples import molniya from poliastro.plotting import plot plot(molniya)
“We, at the Institute of Space and Planetary Astrophysics (ISPA, University of Karachi), are using Poliastro as part of Space Flight Dynamics Text Book development program. The idea is to develop a book suitable for undergrad students which will not only cover theoretical background but will also focus on some computational tools. We chose Poliastro as one of the packages because it was very well written and provided results with good accuracy. It is especially useful in covering some key topics like the Lambert’s problem. We support the use of Poliastro and open source software because they are easily accessible to students (without any charges, unlike some other tools). A great plus point for Poliastro is that it is Python based and Python is now becoming a very important tool in areas related to Space Sciences and Technologies.”
—Prof. Jawed iqbal, Syed Faisal ur Rahman (ISPA, University of Karachi)
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.
- About poliastro
- Getting started
- User guide
- What’s new
- API Reference
- Jupyter notebooks
- Comparing Hohmann and bielliptic transfers
- New Horizons launch and trajectory
- Going to Jupiter with Python using Jupyter and poliastro
- Going to Mars with Python using poliastro
- Cowell’s formulation
- Quickly solving Kepler’s Problem in Python using numba
- Revisiting Lambert’s problem in Python
- Solving Lambert’s problem in Python
- Studying Hohmann transfers