Skip to main content

poliastro - Utilities and Python wrappers for Orbital Mechanics

Project description

Overview

Name:

poliastro

Website:

https://pybonacci.github.io/poliastro

Author:

Juan Luis Cano <juanlu001@gmail.com>

Version:

0.2.0

https://travis-ci.org/Pybonacci/poliastro.svg?branch=master https://coveralls.io/repos/Pybonacci/poliastro/badge.png

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.

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

plot(molniya)
https://github.com/Pybonacci/poliastro/raw/master/examples/molniya.png

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).

Installation

To install poliastro just use pip:

$ pip install poliastro

To install poliastro from source, just type:

$ python setup.py install

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.

Testing

If installed correctly, the tests can be run using py.test:

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

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.

Citing

If you use poliastro on your project, please drop me a line.

License

poliastro is released under a 2-clause BSD license, hence allowing commercial use of the library. Please refer to the COPYING file. This includes the modified Fortran subroutines.

FAQ

Does it work on Windows?

I had some problems to find a free Fortran compiler for Windows 64-bit (but I am not alone).

Have you considered choosing another operative system?

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poliastro-0.2.0.tar.gz (84.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page