Skip to content

tsix404/econ-abm

Repository files navigation

EconABM

Economics Agent-Based Modeling platform built with Mesa + Solara.

Features

  • Web-based simulation — configure parameters, run simulations, and observe emergent behaviors in the browser
  • Pluggable models — add new economics models by writing only Mesa model code + a manifest declaration; the UI auto-generates
  • Real-time visualization — agent space rendering, time-series charts, distribution histograms
  • Reproducible — explicit seed control, all randomness via Mesa's built-in RNG

Package Manager

This project uses uv as the package manager. uv is a fast, reliable Python package installer and resolver, recommended for Python 3.14+ where pip is not available by default.

Quick Start

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Sync dependencies
uv sync

# Run the application
uv run solara run app.py

Open http://localhost:8765 in your browser.

Docker

# Build and run
docker compose up -d

The Docker image uses uv for dependency management. See Dockerfile for details.

Docker Cleanup

If you encounter "no space left on device" errors during Docker build:

# Quick cleanup (remove dangling images and stopped containers)
docker image prune -f
docker container prune -f

# Full cleanup (removes all unused images, containers, networks)
docker system prune -a -f

# Clear build cache
docker builder prune -f

Alternatively, use the provided cleanup script:

./docker-cleanup.sh

Architecture

See DESIGN.md for full architecture documentation.

Models

Model Description Status
Wealth Distribution Random pairwise trading → Pareto distribution 🚧 In development

License

Apache-2.0

About

Economics Agent-Based Modeling platform built with Mesa + Solara

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages