Overview

These are some Python wrappers to Fortran subroutines useful in
Orbital Mechanics, such as orbit propagation, solution of the Lambert’s
problem, conversion between position and velocity vectors and classical
orbital elements and orbit plotting.

Fortran subroutines

The core of poliastro is possible thanks to several 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.

Some of them were slightly modified due to errors in the build process,
the handling of relative errors in comparisons and to make them more
suitable to use with different gravitational parameters.

Requirements

poliastro requires NumPy, Astropy and matplotlib and is usually tested on Linux
on Python 2.7 and Python 3.3 (single codebase).

Besides, a Fortran compiler is needed to build the extensions. poliastro
is usually built with gfortran.

There is no reason it shouldn’t work under Windows or Mac OS X with
properly configured tools (not tested).

Testing

Contributing

Code writing

Code contributions are welcome! Just send a pull request and we’ll discuss it.
In the wiki you can find some documents explaining the overall design of
poliastro, and in the issue tracker you may find pending tasks waiting for
someone to complete them.

Bug reporting

I am one of those that writes bug-free code every single time, but if you
think you’ve found one please refer to the issue tracker on GitHub.

FAQ

Does it work on Windows?

What’s up with the name?

poliastro comes from Polimi, which is the shortened name of the Politecnico di
Milano, the Italian university where I was studying while writing this
software. It’s my tiny tribute to a place I came to love. Grazie mille!