#space #mission #design #orbit #propagator


A high-fidelity space mission toolkit, with orbit propagation, estimation and some systems engineering

5 releases

0.0.5 Feb 10, 2019
0.0.4 Jun 17, 2018
0.0.3 Apr 25, 2018
0.0.2 Apr 15, 2018
0.0.1 Apr 9, 2018

#86 in Science

Download history 28/week @ 2018-12-20 1/week @ 2018-12-27 4/week @ 2019-01-03 3/week @ 2019-01-10 2/week @ 2019-01-24 2/week @ 2019-01-31 11/week @ 2019-02-07 28/week @ 2019-02-21 62/week @ 2019-02-28 2/week @ 2019-03-07 3/week @ 2019-03-14 55/week @ 2019-03-21 8/week @ 2019-03-28

60 downloads per month




Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust. It will eventually provide most functionality in Python for rapid prototyping.

The target audience is researchers and astrodynamics engineers. The rationale for using Rust is to allow for very fast computations, guaranteed thread safety, and portability to all platforms supported by Rust.

To some extend, the ultimate goal of this library is to retire SPICE Toolkit.

Build Status nyx-space on crates.io nyx-space on docs.rs


The LICENSE will be strictly enforced once/if this toolkit reaches production-level quality.


  • Propagation with different Runge Kutta methods (validated in GMAT)
  • Convenient and explicit definition of the dynamics for a simulation (cf. tests/lib.rs)
  • Orbital state manipulation (from GMAT source code and validated in GMAT)
  • Statistical Orbital Determination: Classical and Extended Kalman Filter
  • Multibody dynamics using SPICE Kernels
  • Planetary and Solar eclipse and visibility computation
  • Finite burns with fuel depletion (including low thrust / ion propulsion)
  • Monte Carlo simulations on different parameters
  • Sub-Optimal Control of continuous thrust (Ruggerio, Naasz, Petropoulos)
  • Link budget computations
  • Spacecraft attitude control and some useful optimal control algorithms

Note: Some of these features may only be made available only through a commercial license in the future.

Who am I?

A astrodynamics engineer with a heavy background in software. Nyx relies on the fallbacks of smd, a library I wrote in Go while researching at the University of Colorado at Boulder. I work for Advanced Space (we do cool stuff), but this code is developed on my leisure time.


~129K SLoC