Tool for describing, running, and visualizing systems diagrams
Top 74.7% on sourcepulse
This project provides a domain-specific language (DSL) and tools for defining, simulating, and visualizing system dynamics models. It's targeted at engineers and researchers who need to model complex systems with stocks, flows, and formulas, offering a clear, text-based approach for rapid prototyping and analysis.
How It Works
The system uses a declarative syntax to define stocks (variables with values and limits) and flows (connections between stocks with rates or conversion factors). Models are parsed into an internal representation and then simulated over discrete time steps. The DSL supports formulas for initial values, maximums, and flow rates, allowing for dynamic and interdependent system behavior.
Quick Start & Requirements
pip install systems
git clone https://github.com/lethain/systems.git
, cd systems
, python3 -m venv ./env
, source ./env/bin/activate
, python setup.py develop
.brew install graphviz
and pip install jupyter pandas matplotlib
.Highlighted Details
systems-run
), visualizing (systems-viz
), formatting (systems-format
), and lexing (systems-lex
).Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
2 months ago
Inactive