MCPcopy Index your code
hub / github.com/elodin-sys/elodin

github.com/elodin-sys/elodin @v0.17.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.3 ↗ · + Follow
10,513 symbols 39,239 edges 670 files 1,844 documented · 18% updated todayv0.17.3 · 2026-05-22★ 53562 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

elodin-banner

This monorepo contains the source code for all Elodin simulation and flight software:

  • Flight software
  • aleph-os: Aleph NixOS modules for composing a Linux flight software stack that runs on the Orin.
  • elodin-db (FSW application): A time-series database which functions as a central telemetry store and message bus.
  • serial-bridge (FSW application): Reads sensor data being streamed over the serial port and writes it to elodin-db.
  • mekf (FSW application): A Multiplicative Extended Kalman Filter implementation that fuses sensor data to estimate vehicle attitude.
  • sensor-fw: Aleph expansion board firmware that streams sensor data (IMU, mag, baro) to the Orin over USB/UART.
  • Simulation software
  • nox-py: Python SDK (includes ECS and JAX integration).
  • Editor: 3D viewer and graphing tool for visualizing both simulation and flight data.

elodin-stack

Getting Started

Prerequisites

  • Determinate Systems Nix for a consistent development environment
  • Just: ( brew install just / apt install just )
  • git-lfs: ( brew install git-lfs / apt install git-lfs ), and make sure to activate it globally with git lfs install from the terminal.
  • STRONGLY prefer an Arm-based MacOS, nix works on x86 & Ubuntu but at much slower build speeds and worse DX.

Development Setup (Recommended: Nix)

The Elodin repository uses Nix to provide a consistent, reproducible development environment across all platforms. This is the same environment our team uses daily.

1. Install Nix

# Install Determinate Systems Nix (recommended)
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

2. Clone the Repository

git clone https://github.com/elodin-sys/elodin.git
cd elodin

3. Enter the Nix Development Shell (this can take awhile to build the first time)

nix develop

[!TIP] The Nix shell supports Oh My Zsh + Powerlevel 10k; for first time configuration run: p10k configure

4. Build and Install Elodin Editor and Elodin DB into your path

just install

elodin --version

.venv/bin/python examples/rocket/main.py run

Open the Elodin editor in a new nix develop shell and connect to the local server

elodin editor

Python SDK Development Setup (Nix-based continued)

5. Enter another Nix Development Shell, run the server & example simulation

Python SDK Development

# In a new terminal
nix develop
# build the SDK python wheel
just install py
# use the newly built wheel (venv is not active in this shell)
.venv/bin/python examples/rocket/main.py run

Open the Elodin editor and connect to the local server

[!NOTE] Local setup instructions were validated on Arm M2 MacOS & Intel x86 Ubuntu 24.04 on 2025-10-12.


Alternative Local Setup (macOS Only)

[!WARNING] This setup is more complex and may lead to inconsistent environments across developers. We strongly recommend using Nix instead.

If you cannot use Nix, you can manually install dependencies on macOS:

Prerequisites

# Install required tools via Homebrew
brew install gstreamer python gfortran openblas uv git-lfs rust

# Initialize git-lfs
git lfs install

Build and Run

git clone https://github.com/elodin-sys/elodin.git
cd elodin
just install

Python Development (Local Setup)

uv venv --python 3.13
source .venv/bin/activate
uvx maturin@1.12.6 develop --uv --manifest-path=libs/nox-py/Cargo.toml

cargo run --bin elodin editor examples/three-body/main.py
# Or equivalently use the 'elodin' cargo alias:
cargo elodin editor examples/three-body/main.py

[!NOTE] Local setup instructions were validated on M1 architecture, macOS 15.6.1 on 2025-11-03.

Additional Resources

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 4,676
Function 3,862
Class 1,570
Enum 243
Interface 162

Languages

Rust74%
Python13%
TypeScript7%
C++5%
C1%

Modules by API surface

docs/public/static/js/tex-mml-chtml.js761 symbols
libs/db/examples/db.hpp319 symbols
libs/cranelift-mlir/tests/ops.rs215 symbols
libs/cranelift-mlir/src/lower.rs193 symbols
examples/rocket-barrowman/core/components/openrocket_components.py135 symbols
libs/elodin-editor/src/ui/plot/data.rs119 symbols
libs/db/src/lib.rs108 symbols
libs/nox/src/noxpr/node.rs106 symbols
libs/nox/src/array/mod.rs102 symbols
libs/cranelift-mlir/src/const_fold.rs97 symbols
libs/impeller2/kdl/src/de.rs96 symbols
libs/impeller2/wkt/src/gui.rs95 symbols

For agents

$ claude mcp add elodin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page