systems  by lethain

Tool for describing, running, and visualizing systems diagrams

created 6 years ago
390 stars

Top 74.7% on sourcepulse

GitHubView on GitHub
Project Summary

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

  • Install via pip: pip install systems
  • For local development: git clone https://github.com/lethain/systems.git, cd systems, python3 -m venv ./env, source ./env/bin/activate, python setup.py develop.
  • Jupyter Notebook usage requires brew install graphviz and pip install jupyter pandas matplotlib.
  • Official tutorial: [link to tutorial]
  • Syntax specification: [link to spec.md]

Highlighted Details

  • Command-line tools for running (systems-run), visualizing (systems-viz), formatting (systems-format), and lexing (systems-lex).
  • Supports various flow types: rate, conversion, and leak, with customizable formulas.
  • Error messages are designed to be human-readable, indicating line numbers and specific parsing issues.
  • Can be integrated into Python code for programmatic model execution and analysis.

Maintenance & Community

  • Project maintained by lethain.
  • Issues can be reported via GitHub issues.

Licensing & Compatibility

  • The README does not explicitly state a license.

Limitations & Caveats

  • The project does not specify a license, which may impact commercial use or integration into closed-source projects.
  • Visualization requires external tools like Graphviz.
Health Check
Last commit

2 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
31 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
2 more.

maestro by roboflow

0.1%
3k
CLI/SDK for fine-tuning multimodal models
created 1 year ago
updated 6 days ago
Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Joe Walnes Joe Walnes(Head of Experimental Projects at Stripe), and
2 more.

prompttools by hegelai

0.3%
3k
Open-source tools for prompt testing and experimentation
created 2 years ago
updated 11 months ago
Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Stas Bekman Stas Bekman(Author of Machine Learning Engineering Open Book; Research Engineer at Snowflake), and
21 more.

guidance by guidance-ai

0.1%
21k
Guidance is a programming paradigm for steering LLMs
created 2 years ago
updated 1 day ago
Feedback? Help us improve.