Skip to content

Jorge-C/poliastro

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

poliastro

Overview

Name

poliastro

Website

https://pybonacci.github.io/poliastro

Author

Juan Luis Cano <juanlu001@gmail.com>

Version

0.2.0-dev

image

These are some Python wrappers to Fortran and MATLAB 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 and Astropy 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 from source, just type:

$ python setup.py install

This might require superuser privileges. To install in a local directory:

$ python setup.py install --user

Installations through PyPI are also supported:

$ pip install poliastro --user

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]. Apart from per user directories, other options are using virtualenv or local installations.

Testing

If installed correctly, this should work:

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

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 scikit-aero 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.

The function gcal2jd was borrowed from jdcal by Prasanth Nair, available under this same license.

TODO

These tasks are in my checklist:

  • Test in Windows
  • Expand constants module
  • Investigate astropy integration
  • Add examples
  • Add benchmarks

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've been studying while writing this software. It's my tiny tribute to a place I've come to love. Grazie mille!

About

poliastro - Utilities and Python wrappers for Orbital Mechanics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Fortran 92.4%
  • Python 7.6%