What problem does it solve?
SimPy helps you build accurate discrete-event simulations of systems where multiple entities interact and contend for shared resources, producing realistic time-based behavior.
Core Features & Use Cases
- Process-based event simulation: Model entity lifecycles with generator processes that yield timeouts and events.
- Shared resource and queue modeling: Simulate servers, priority handling, preemption, containers (bulk quantities), and stores (object queues).
- Scheduling, synchronization, and monitoring: Coordinate parallel work with composite events and collect queue/utilization/wait-time metrics, including optional real-time synchronization.
Use cases include queueing systems (call centers, checkout lines), manufacturing and logistics pipelines, network traffic and packet routing, healthcare flow, and CPU-like scheduling with preemption.
Quick Start
Create a discrete-event queue simulation that models customers requesting a server, waiting when capacity is limited, then departing after service time for the run interval you choose.