Getting Started
Installation
pip install dissmodel
For development mode (tests and dev tooling — mypy, ruff, pytest, docs):
git clone https://github.com/DisSModel/dissmodel
cd dissmodel
pip install -e ".[dev]"
Runnable example models (cellular automata, system dynamics) live in the satellite repositories dissmodel-ca and dissmodel-sysdyn:
pip install "git+https://github.com/DisSModel/dissmodel-ca.git"
pip install "git+https://github.com/DisSModel/dissmodel-sysdyn.git"
Instantiation Order
The Environment is the heart of the simulation. It must always be created before any model.
Environment → Model → Visualization → env.run()
↑ ↑ ↑ ↑
Step 1 Step 2 Step 3 Step 4
Execution Modes
DisSModel supports three main ways to interact with your models:
1. Command Line (CLI)
Standardized via the dissmodel.executor. Best for batch experiments and
experiment tracking. Ready-to-run CLI scripts ship with the satellite
repositories — for example, from a clone of
dissmodel-ca:
git clone https://github.com/DisSModel/dissmodel-ca.git
cd dissmodel-ca
pip install .
python examples/cli/ca_game_of_life.py
2. Jupyter Notebooks
Best for teaching and incremental analysis. DisSModel renders visualizations inline automatically. See the executed notebooks in this documentation under Examples → Notebooks, or the larger educational collections in the satellite repositories.
3. Streamlit Apps
Reactive web interfaces with zero boilerplate. Parameters are automatically
mapped to sidebar widgets. From a clone of dissmodel-ca:
streamlit run examples/streamlit/ca_all.py
Storage & Reproducibility
Since version 0.2.0, DisSModel can read and write directly to MinIO/S3. Every execution via the standard CLI generates a record.json and a profiling report, ensuring your science is always traceable.