nox-py-dev

Build and test the Elodin Python SDK with PyO3 bindings and JAX integration.

538|39|Updated Feb 26, 2024
One-click install
npx skills add https://github.com/elodin-sys/elodin --skill nox-py-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nox-py-dev
Source: https://github.com/elodin-sys/elodin/tree/main/.cursor/skills/nox-py-dev
Command: npx skills add https://github.com/elodin-sys/elodin --skill nox-py-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the development and contribution process for the Elodin Python SDK, enabling efficient iteration on core simulation and flight software components.

Core Features & Use Cases

  • SDK Development: Facilitates editing PyO3 bindings, adding Python API surface, and modifying JAX integrations.
  • Compilation & Testing: Supports building the Python package, running tests, and verifying changes with examples.
  • Use Case: A developer needs to add a new spatial component to the Elodin simulation. They use this Skill to modify the Rust code, rebuild the Python bindings, and test the new component in a sample simulation.

Quick Start

Run just install py to build the Python SDK and then execute pytest libs/nox-py/tests/ to run the test suite.

Frequently Asked Questions about nox-py-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I develop Python SDK bindings for a Rust simulation environment?

To develop Python SDK bindings for a Rust simulation environment, you edit PyO3 bindings, extend the Python API surface, and modify JAX integrations. You then build the package and verify changes using sample simulations.

How do I build and test Python extensions for a Rust codebase using PyO3?

To build and test Python extensions for a Rust codebase using PyO3, run `just install py` to compile the package, then execute `pytest libs/nox-py/tests/` to verify the Rust extensions and Python API changes.

Do I need a Nix environment to build and test Rust Python packages?

Yes, a Nix-based development environment is required to build and test Rust extensions and Python packages. It provides the necessary dependencies for compiling Rust extensions and verifying the Python SDK components.

What is the best way to add a new spatial component to a JAX-integrated simulation?

To add a new spatial component to a JAX-integrated simulation, modify the core Rust code, rebuild the PyO3 Python bindings using the build command, and test the new component within a sample simulation to verify its functionality.

Why does my Rust to Python API integration fail during simulation testing?

Rust to Python API integration may fail during simulation testing if the PyO3 bindings are not rebuilt after modifying Rust code, or if the Nix-based development environment lacks the required dependencies for compiling the Rust extensions.