Skip to content

hapsira - 🚀 Astrodynamics in Python - a poliastro fork

License

Notifications You must be signed in to change notification settings

pleiszenburg/hapsira

 
 

Repository files navigation

hapsira Logo

hapsira

🚀 Astrodynamics in Python - a poliastro fork

ci_badge docs_badge pre_commit_badge python_badge pypi_badge license_badge mailing_badge chat_badge

Synopsis

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

Multiple examples image

This project is a fork of the as of October 2023 unmaintained & archived poliastro package.

Installation

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 logo PyPI python -m pip install hapsira
Conda Forge logo Conda Forge conda install hapsira --channel conda-forge
GitHub logo GitHub python -m pip install https://github.com/pleiszenburg/hapsira/archive/main.zip

For other installation methods, see the alternative installation methods.

Migrating from poliastro to hapsira

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.

Documentation

Complete documentation, including a quickstart guide and an API reference can be read on Read the Docs.

Examples

There is a great variety of examples demonstrating the capabilities of hapsira. Examples can be accessed in various ways:

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! 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

Commercial support is provided by pleiszenburg.de - Independent Scientific Services.

Frequently asked questions

  • 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 of poliastro, which was validated against other commonly used Astrodynamics software such as GMAT and Orekit. Currently, hapsira's results are matching those of poliastro.

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