Multi-company scenario engine for supply chain cascade simulation
Project description
mimic-world
Multi-company scenario engine for supply chain cascade simulation.
What happens to an entire system when a shock hits?
mimic-world simulates many companies responding to one event, watching them react to each other, and tracking the cascade. This is where supply chains come alive. This is where second-order effects emerge. This is where a port closure becomes an inflation event.
from mimic_world import World, Scenario, Twin
world = World()
world.add_twin(Twin.from_ticker("AAPL"))
world.add_twin(Twin.from_ticker("WMT"))
world.add_twin(Twin.from_ticker("FDX"))
world.add_twin(Twin.from_ticker("TSMC"))
world.connect("TSMC", "AAPL", relationship="supplier", weight=0.95, commodity="chips")
world.connect("XOM", "FDX", relationship="supplier", weight=0.40, commodity="jet_fuel")
scenario = Scenario.from_library("taiwan_strait_closure_30d")
result = world.run(scenario)
result.print_summary()
print(result.cascade_timeline)
print(result.second_order_effects)
print(result.system_stability) # "stabilizing" | "escalating" | "bifurcating"
How It Works
- A Scenario defines initial shocks (
semiconductor_supply: -0.65) and cascade rules - A World holds company Twins connected by a RelationshipGraph
- The CascadeEngine runs time steps: each twin's LLM-powered decisions update a shared
world_state - Connected twins see those updates and react — creating emergent second-order behavior
The 50-Scenario Library
Pre-built scenarios across 6 categories:
| Category | Count | Examples |
|---|---|---|
| Geopolitical | 10 | Taiwan Strait closure, Russia energy cutoff |
| Supply Chain | 10 | Suez Canal closure, Shanghai lockdown |
| Macro/Financial | 10 | Fed hikes 200bps, Credit crunch 2008-style |
| Climate/Natural | 10 | Gulf Coast Cat 5 hurricane, Japan earthquake 9.0 |
| Pandemic/Health | 5 | COVID-severity pandemic, Antibiotic resistance |
| Technology/Cyber | 5 | Global cloud outage, Critical infrastructure attack |
# List all 50 scenarios
for s in Scenario.list_library():
print(f"{s['id']:<45} severity={s['severity']:.0%}")
Install
pip install mimic-world
Ecosystem
mimic → single company twin
mimic-bench → grades predictions
mimic-forecast → real quantitative forecasts
mimic-world → multi-company system + scenarios ← HERE
mimic-sim → 10,000-run Monte Carlo over worlds
mimic-signal → real-time event detection
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mimic_world-0.1.0.tar.gz.
File metadata
- Download URL: mimic_world-0.1.0.tar.gz
- Upload date:
- Size: 24.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57bcd7ea7a8719dfee59fd8efaa105efb75c64c30e4ed0bb6e65e28fb8b90bae
|
|
| MD5 |
69e4dc34c79c783e83dd34eaa57c4903
|
|
| BLAKE2b-256 |
8f61c05ed05e480332f4d9da286d7984cce1edb2275b520e7186d8906d697e69
|
File details
Details for the file mimic_world-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mimic_world-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2cb66483afb13fd3909e54e31c3bb6594a76c48eda5efe1562b606514ad4dcf
|
|
| MD5 |
4bed96ceb10d8a4d5b6d2328165c4a12
|
|
| BLAKE2b-256 |
50385ef0f3cf76989591c9a499af032eb7c32d7b26636a246d21c91fe5db0466
|