Poliastro
poliastro - :rocket: Astrodynamics in Python
Install / Use
/learn @poliastro/PoliastroREADME
poliastro is archived and will not be developed any further, see https://github.com/poliastro/poliastro/issues/1640 for more context. Forks welcome, please respect the license by retaining attribution, and consider rebranding your fork if you intend to develop it in the long run. If you still use poliastro in your work, see below how to cite it. For a more complete background of the project, see https://conference.scipy.org/proceedings/scipy2022/juanluis_cano_poliastro.html. Per Python ad astra!
| Name | Website | Authors | Maintainers | Version | |:---------:|:----------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------:|:----------------------------------------------------:| | poliastro | https://www.poliastro.space | Juan Luis Cano Rodriguez Jorge Martinez | poliastro development team | 0.18.dev0 |
![poliastro_badge] ![ci_badge] ![docs_badge] ![coverage_badge] ![pre_commit_badge] ![python_badge] ![pypi_badge] ![license_badge] ![doi_badge] ![astropy_badge] ![mailing_badge] ![chat_badge] ![backers_badge] ![sponsors_badge] ![binder_badge] ![code_badge]
poliastro is an open source (MIT) pure Python library for interactive Astrodynamics and Orbital Mechanics, with a focus on ease of use, speed, and quick visualization. It provides a simple and intuitive API, and handles physical quantities with units.
Some features include orbit propagation, solution of the Lambert's problem, conversion between position and velocity vectors and classical orbital elements and orbit plotting, among others. It focuses on interplanetary applications, but can also be used to analyze artificial satellites in Low-Earth Orbit (LEO).
If you use poliastro on your project, please [let us know]. Use the DOI to cite poliastro in your publications:
Juan Luis Cano Rodríguez, Jorge Martinez, et al.. (2023). poliastro: poliastro 0.17.0. Zenodo. 10.5281/zenodo.6817189

Requirements
poliastro requires the following Python packages:
- numpy for basic numerical routines
- astropy for physical units and time handling
- numba for accelerating the code
- jplephem for the planetary ephemerides using SPICE kernels
- matplotlib for orbit plotting
- plotly for 2D and 3D interactive orbit plotting
- scipy for root finding and numerical propagation
poliastro is supported on Linux, macOS and Windows on Python 3.8 to 3.10.
Installation
Multiple installation methods are supported by poliastro, including:
| Logo | Platform | Command |
|:-----------------------------------------------------------------:|:------------:|:---------------------------------------------------------------------------------:|
| | PyPI |
python -m pip install poliastro |
| | Conda Forge |
conda install poliastro --channel conda-forge |
| | GitHub |
python -m pip install https://github.com/poliastro/poliastro/archive/main.zip |
For other installation methods, see the [alternative installation methods].
Documentation
Complete documentation, including a [quickstart guide] and an [API reference], can be read on the wonderful [Read the Docs]. Multi-version documentation includes:
Examples, background and talks
There is a great variety of examples demostrating the capabilities of poliastro. Examples can be accessed in various ways:
- Examples source code collected in the [examples directory]
- Rendered [gallery of examples] presented in the documentation
- Interactive examples powered by [binder] so users can try poliastro without installing it
poliastro is also promoted through conferences and talks. These are the latest talks in some of the most popular conferences about scientific software:
| Conference | Talk | |:---------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| | SciPy 2022 | Per Python ad astra: Interactive Astrodynamics with poliastro | | OSCW 2019 | Interplanetary mission analysis with poliastro | | EuroSciPy 2019 | Can we make Python fast without sacrificing readability? numba for Astrodynamics | | EuroPython 2016 | Per Python ad Astra |
License
poliastro is released under the MIT license, hence allowing commercial use of the library. Please refer to the [COPYING] file.
The MIT License (MIT)
Copyright (c) 2012-2023 Juan Luis Cano Rodríguez, Jorge Martínez Garrido, and the poliastro development team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
If you are planning to use poliastro with commercial purposes consider sponsoring the project.
Problems and suggestions
If for any reason you get an unexpected error message or an incorrect result, or you want to let the developers know about your use case, please open a new issue in the [issue tracker] and we will try to answer promptly.
Contributing and community support
This project exists thanks to all the people who contribute! poliastro is a community project, hence all contributions are more than welcome! For more information, head to the [CONTRIBUTING.md] file.
Release announcements and general discussion take place on our [mailing list].
For further clarifications and discussions, feel free to join poliastro's [chat room].
Backers and sponsors
poliastro requires finnacial support to mantain its high quality standars. The money is use
Related Skills
node-connect
328.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
openai-image-gen
328.6kBatch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
claude-opus-4-5-migration
80.9kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
80.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

