nuRemics is an open-source Python framework for building software-grade scientific tools.
🔬 Scientific agility — engineering rigor.
🧩 Modular by design — no more siloed tools.
📊 Parametric exploration — iterate without limits.
📋 Full traceability — every experiment accounted for.
📈 Built to scale — from lab to industry.
🌐 Community-driven — innovation thrives together.
Overview
The nuRemics framework provides a dedicated environment to build custom software tools designed for the automated production of scientific results at scale, ensuring systematic reproducibility and full traceability across every execution. This is achieved through a clear separation of concerns, organized into the following layered structure:
APP
It is the execution engine where the core scientific logic is formalized and implemented in a codebase. It operates as a structured workflow composed of autonomous software processes (e.g., Process1-3) executed in a sequential order. Each software process encapsulates a specific stage of the computation and acts as an independent functional item.
INPUTS
It defines the entry points required by the application to function (e.g., Input1–6) and ensures that each input is routed to its respective software process, in order to satisfy the corresponding data requirements.
OUTPUTS
It defines the delivery points where results are produced during execution (e.g., Output1–4). Each software process generates its associated outputs, which are either stored as final results or re-routed as inputs of subsequent software processes within the workflow.
CONFIGURATION
It orchestrates how the application is controlled by the operator across different study scenarios (e.g., Study1–2). For each study, the operator defines which inputs are Fixed (constant throughout the study) and which are Variable (changing between individual test). This enables automated batch execution of multiple tests (e.g., Test1–3) by systematically updating the inputs.
TRACEABILITY
It automatically generates a structured directory tree (Study > Process > Test) where each output is stored within a hierarchy that directly links it back to the specific configuration that produced it. This provides a permanent, auditable record of every production run.