Metadata-Version: 2.4
Name: elodin
Version: 0.13.1
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: jax==0.4.31
Requires-Dist: numpy
Requires-Dist: typing-extensions
Requires-Dist: polars
Requires-Dist: pytest
Requires-Dist: matplotlib
Requires-Dist: pytest ; extra == 'tests'
Provides-Extra: tests
Provides-Extra: dynamic
License: MIT OR Apache-2.0
Requires-Python: >=3.10, <3.13
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# Elodin

Docs: https://docs.elodin.systems

Elodin is a platform for rapid design, testing, and simulation of drones, satellites, and aerospace control systems.

## Usage

```sh
elodin editor <path/to/src.py>
```

## Templates

Templates can be found at http://app.elodin.systems.

## PySim Usage Examples

```python
# Initialize the simulation
sim = w.to_jax(sys, sim_time_step=1.0 / 20.0)

# Advance the simulation by 500 steps
sim.step(500)

# Retrieve the state of a specific component
state = sim.get_state(component_name="att_est", entity_name="OreSat")

print(state)

# Set the state of a specific component
sim.set_state(component_name="att_est", entity_name="OreSat", value=np.array([1.0, 0.0, 0.0, 0.0]))

# Print the component dictionary with entity shapes
sim.print_dictionary()
```

print(state)

