SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit


Operating in space necessitates quantifying the positions, velocities, geometries, and other properties of spacecraft and planetary bodies through time. Scientists and engineers working with robotic planetary spacecraft missions use the Spacecraft, Planet, Instrument, Cameramatrix, Events (SPICE) Toolkit (Acton, Bachman, Semenov, & Wright, 2018) to help plan observations and to quantify the positions of planetary bodies and spacecraft through time. SPICE is developed at the Jet Propulsion Laboratory by NASA’s Navigation and Ancillary Information Facility (NAIF). Scientists also use SPICE to analyze data returned by these missions and to plan hypothetical orbital trajectories for future missions (Acton et al., 2018). For example, SPICE can calculate future occultations of planets relative to a camera on a rover or spacecraft. The NAIF provides SPICE in Fortran 77, C, and they also provide Matlab and IDL wrappers; however, as of 2014, they did not offer a Python interface. The growth of Python and movement away from proprietary interpreted languages (Burrell et al., 2018) motivated the development of SpiceyPy so that planetary scientists and engineers can use SPICE within Python.

Journal of Open Source Software
Michael Aye
Michael Aye
Research Scientist in Planetary Science

My research interests include remote sensing of surfaces, related machine learning studies and open source software.