Crates.io | satkit |
lib.rs | satkit |
version | 0.5.3 |
source | src |
created_at | 2024-03-22 01:29:06.226265 |
updated_at | 2024-12-05 02:44:21.988694 |
description | Satellite Toolkit |
homepage | https://github.com/ssmichael1/satkit |
repository | https://github.com/ssmichael1/satkit |
max_upload_size | |
id | 1182225 |
size | 1,126,169 |
An accurate, high-performance satellite orbital kinematics toolkit, written in Rust with a sensible interface.
Also includes python bindings for all functions via via pyo3
pip install satkit
The high-precision numerical satellite orbit propagation makes use of standard Runga-Kutta methods for integration of ordinary differential equations. The ODE solver is included as part of the library.
The methods use Runga-Kutta pairs for ODE integration and error estimation generated by Jim Verner: https://www.sfu.ca/~jverner/
This code makes reference to and relies on models generated by the following:
The code includes rust test modules and python test modules for verification of nearly calculations, including but not limited to:
Simply include the code in your Cargo.toml file to use. Once installed, make sure you run utils.update_datafiles
to download the most-recent data files necessary for many calculations. This only needs to be done once, unless more-recent space weather and Earth orientation parameter data is required (these are updated at least daily).
satkit.utils.update_datafiles()?;
Satkit is available via pypi.org, and can be installed via the pip
command:
python -m pip install satkit
Binaries are available for Windows (AMD64), Mac (Intel, Apple Silicon) and Linux (x86_64) for python versions 3.8 through 3.13.
Once installed, make sure you download the most-recent data files necessary for many calculations. This only needs to be done once, unless more-recent space weather and Earth orientation parameter data is required (these are updated at least daily).
import satkit as sk
sk.utils.update_datafiles()
Steven Michael (ssmichael@gmail.com)
Please reach out of you find errors in code or calculations, are interested in contributing to this repository, or have suggestions for improvements to the API.