What problem does it solve?
SimPy provides a Python-based framework for building process-oriented, discrete-event simulations that model how entities interact with shared resources over time.
Core Features & Use Cases
- Process-based modeling using Python generator functions to define workflows.
- Resource management across several types (Resource, PriorityResource, PreemptiveResource, Container, Store, PriorityStore) for realistic contention and queuing.
- Event scheduling and coordination with a rich set of events, including timeouts, channeling of process outcomes, and composite events.
- Real-time simulation support via the Real-time Environment for hardware-in-the-loop and interactive demos.
- Monitoring and data collection hooks to observe utilization, queue lengths, and performance metrics.
Quick Start
Run a simple SimPy model that creates a few processes, a resource, and a small timeline to observe scheduling and resource contention.