Installation#

Note

Scarabaeus has not been added to PyPi yet. You will need to compile Rust source code in order for it to function correctly, see the developer guide for further instructions.

Requirements#

Dependency

Version

Notes

Python

3.11+

Required

NumPy

latest

Array mathematics

SciPy

latest

Integrators and linear algebra

SpiceyPy

latest

SPICE toolkit Python wrapper

matplotlib

latest

Plotting utilities

Rust / Cargo

1.75+

Developer builds only — not required for users

The full dependency list is managed in pyproject.toml and is installed automatically by pip.

User Installation#

1. Clone the repository

git clone <repository-url>
cd scarabaeus

2. Create a virtual environment

python -m venv .venv
# macOS / Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate

3. Install Scarabaeus

pip install .

Once the package is published on PyPI, users will also be able to install with:

pip install scarabaeus

Note

SPICE kernels — Scarabaeus uses SPICE kernels for ephemeris, reference frames, and spacecraft clock data. These are not distributed with the package. Load them in your script with:

import scarabaeus as scb
scb.SpiceManager.load_kernel_from_mkfile("path/to/metakernel.tm")

See NAIF’s kernel guide for details on obtaining and configuring kernels.

Developer Installation#

Developer installation additionally requires Rust/Cargo to compile the high-performance integrator back-end.

# After the user installation steps above:
pip install -e . --group dev   # editable install with dev extras
maturin develop                # compile and bind the Rust back-end
pre-commit install             # install commit hooks

See the developer guide for the full developer setup guide.