NRPy
A Python and SymPy-based symbolic code-generation toolkit for numerical relativity and relativistic astrophysics that turns symbolic physics equations into standalone C/CUDA applications, Einstein Toolkit thorns, Charm++ projects and JAX/Python workflows.
NRPy generates simulation code from symbolic equation modules rather than hand-written numerical code. Its public form centers on providing the core infrastructure for single-patch BlackHoles@Home numerical relativity simulations, across Cartesian, curvilinear and singular coordinate systems.
The codebase separates symbolic physics and shared support code, under nrpy/equations and nrpy/helpers, from backend-specific code generators under nrpy/infrastructures, with runnable project generators collected in nrpy/examples. It installs from PyPI for end users who just want to generate projects, or from a source checkout for contributors.
Different generated workflows need different external tools: standalone BHaH examples need only a C compiler and make, some also need GSL, Einstein Toolkit and Carpet/CarpetX generators need an existing Einstein Toolkit environment to build the generated thorns, and superB examples need a Charm++ toolchain.