hapsira requires a number of Python packages, notably:

  • Astropy, for physical units and time handling

  • NumPy, for basic numerical routines

  • jplephem, for the planetary ephemerides using SPICE kernels

  • matplotlib, for static orbit plotting

  • numba (when using CPython), for accelerating the code

  • Plotly, for interactive orbit plotting

  • SciPy, for root finding and numerical propagation

hapsira is supported on Linux, macOS and Windows on Python 3.8 to 3.11.

Using conda

The easiest and fastest way to get the package up and running is to install hapsira using conda:

$ conda install -c conda-forge hapsira

or, better yet, using mamba, which is a super fast replacement for conda:

$ conda install -c conda-forge mamba
$ mamba install -c conda-forge hapsira


We encourage users to use conda or mamba and the conda-forge packages for convenience, especially when developing on Windows. It is recommended to create a new environment.

If the installation fails for any reason, please open an issue in the issue tracker.

Alternative installation methods

You can also install hapsira from PyPI using pip:

$ pip install hapsira

Finally, you can also install the latest development version of hapsira directly from GitHub:

$ pip install

This is useful if there is some feature that you want to try, but we did not release it yet as a stable version. Although you might find some unpolished details, these development installations should work without problems. If you find any, please open an issue in the issue tracker.


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]. Use virtual environments instead.

Making hapsira work in your editor

Jupyter notebook and JupyterLab

To install the extra dependencies needed to make the interactive plots work on Jupyter, do

$ pip install hapsira[jupyter]

With Plotly versions older than 5 on JupyterLab, you will also need to install Node.js to enable the browser extensions. Check out their troubleshooting guide for further information.

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.