🚀 Astrodynamics in Python - a poliastro
fork
hapsira
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. Its features include orbit propagation, solution of 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).
This project is a fork of the as of October 2023 unmaintained & archived poliastro package.
hapsira
is supported on Linux, macOS and Windows on Python 3.8 to 3.11. Python 3.8 support will be dropped and Python 3.12 support will be added as soon as numba 0.59 gets released.
Multiple installation methods are supported by hapsira
, including:
Logo | Platform | Command |
---|---|---|
PyPI | python -m pip install hapsira |
|
Conda Forge | conda install hapsira --channel conda-forge |
|
GitHub | python -m pip install https://github.com/pleiszenburg/hapsira/archive/main.zip |
For other installation methods, see the alternative installation methods.
hapsira
is based on poliastro main
as of the date of its archival, October 14 2023, commit 1b01768c. Therefore, hapsira
's initial release already includes a number of changes made since poliastro
's last release, 0.17.0
. Most notably, the plotter framework saw a redesign and is backwards incompatible, see poliastro #1545. For further details, see changelog.
Complete documentation, including a quickstart guide and an API reference can be read on Read the Docs.
There is a great variety of examples demonstrating the capabilities of hapsira
. Examples can be accessed in various ways:
- Examples source code collected in the examples directory
- Rendered gallery of examples presented in the documentation
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.
This project exists thanks to all the people who contribute! hapsira
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, feature suggestions and discussions, feel free to join hapsira
's chat room.
Commercial support is provided by pleiszenburg.de - Independent Scientific Services.
-
What's up with the name?
"hapsira" is a shorthand for "hapësira kozmike", which is Albanian for "space". Why Albanian? Other than virtually every reasonable English (and German for that matter) package name related to this topic already taken, Wag the Dog is a film definitely worth watching.
-
Why a fork of poliastro?
See here.
-
Is hapsira validated?
hapsira
is a fork ofpoliastro
, which was validated against other commonly used Astrodynamics software such as GMAT and Orekit. Currently,hapsira
's results are matching those ofpoliastro
. -
Can I suggest new features for hapsira?
Sure, we encourage you to open an issue so we can discuss future feature additions!
-
What's the future of the project?
The best way to get an idea of the roadmap is to see the milestones of the project.