What problem does it solve?
SimPy helps you replace ad-hoc, spreadsheet-style reasoning about queues, contention, and time-based interactions with an executable discrete-event simulation that produces measurable system performance.
Core Features & Use Cases
- Process-based discrete-event modeling: Represent system behavior as generator-based processes driven by event scheduling.
- Shared resources and contention: Model servers, machines, bandwidth, and other capacity constraints that entities request, use, and release.
- Event-driven synchronization and monitoring: Coordinate parallel/competing processes and collect queue, utilization, wait-time, and event-trace data for validation and optimization.
Use case examples: simulate a call center queue to estimate waiting times, model manufacturing flow to study throughput under machine limits, or run a network-traffic scenario where packets compete for shared bandwidth and latency.
Quick Start
Model your system by defining processes with generator functions, creating a SimPy environment and shared resources, then run the simulation until the desired time horizon.