/nyx

Nyx is a high fidelity, fast, reliable and validated astrodynamics toolkit library written in Rust and available in Python

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

Nyx: Comprehensive Spaceflight Dynamics

Empowering flight dynamics engineers with open-source software

Nyx is revolutionizing the field of flight dynamics engineering as a powerful, open-source tool for mission design and orbit determination. From trajectory optimization to orbit estimation, Nyx is built for speed, automation, and scalability. It dramatically reduces simulation time compared to commercial products, and integrates seamlessly into automated workflows across various platforms.

Nyx has proven mission-critical reliability, already contributing to the success of three lunar missions.

Nyx Space Badget Contact Form

nyx-space on crates.io nyx-space on docs.rs codecov

Documentation

The documentation is currently being updated. If you have specific use cases you would like to see documented, please open a Github issue or use the contact form

Quick start

Rust

To install Nyx, follow these steps:

  1. Clone the repository: git clone https://github.com/nyx-space/nyx.git
  2. Navigate to the directory: cd nyx
  3. Run any of the examples, e.g. RUST_LOG=info cargo run --example 01_orbit_prop --release

Compilation

Nyx uses lld, the LLVM linker, for faster compilation times. You may need to manually install lld depending on your distribution. On Ubuntu, this command is sudo apt install clang lld.

Python

For Python projects, get started by installing the library via pip: pip install nyx_space.

Important: The Python package has been temporarily disabled. Refer to nyx-space#311 for details.

License

Nyx is provided under the AGPLv3 License. By using this software, you assume responsibility for adhering to the license. Refer to the pricing page for an FAQ on the AGPLv3 license. Notably, any software that incorporates, links to, or depends on Nyx must also be released under the AGPLv3 license, even if you distribute an unmodified version of Nyx.

Author information

Chris Rabotin is a GNC and flight dynamics engineer with a heavy background in software.

I currently work for Rocket Lab USA as the lead flight dynamics engineer on both Blue Ghost lunar lander missions. -- Find me on LinkedIn.