Rewrite: Modern Python architecture with type safety, units system, and visualization (v0.2) #13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Complete rewrite of OpenRocketEngine with a modern, type-safe architecture. This replaces the legacy codebase with a clean, explicit API designed for liquid rocket engine preliminary design.
What's New
Core Modules
units.py- CustomQuantityclass for type-safe physical quantities with unit conversionisentropic.py- Numba-accelerated isentropic flow equations (c*, Cf, Isp, Mach relations)engine.py- Immutable dataclasses (EngineInputs,EnginePerformance,EngineGeometry) with pure computation functionsnozzle.py- Rao bell and conical nozzle contour generation with CSV export for CADplotting.py- Publication-quality visualizations (cross-sections, altitude performance, dashboards)Key Features
Quantityclass prevents dimensional analysis mistakesBreaking Changes
Engineclass fromrocket.pyinterface.pyCLI (replaced with examples)Example Usage
Testing
uv run pytest tests/ -v