rust-spice
WOW! The complete NASA/NAIF Spice toolkit is actually usable on Rust
Intro | Temporary brief notice | In action | In development | Installation | License
Intro
SPICE is An Observation Geometry System for Space Science Missions. Visit their website.
Temporary brief notice
Apparently the crate is only available for Linux systems. It is due to the fact that the crate is built on top of the wrapper cspice-sys. This problem will be solved in short delays as I plan to remove this dependency and write a build script that uses the cspice library installed on the user's pc.
In action
A nice and idiomatic interface to Spice,
use spice;
let mut kernel = new?;
let et = str2et;
let = spkpos;
kernel.unload?;
Read more in the documentation online and see examples.
In development
Developing an idiomatic interface for Spice in Rust takes time, and not all functions are implemented yet. In the documentation online, a complete guide details which functions are available. If yours is not, you can always use the unsafe API which contains all cspice functions.
For instance, with the unsafe API, the example above would be,
use spice;
use CString;
unsafe
Much less friendly, but it's available. I would love some help in order to complete the idiomatic development. You can raise an issue or propose a pull request for the implementation of a specific function.
Installation
Add the dependency rust-spice to your Cargo.toml
:
...
[]
= "*" # replace * by the latest version of the crate
License
Licensed under the Apache License, Version 2.0.