What problem does it solve?
SimPy helps you model how entities move through time while competing for shared resources, so you can study performance like waiting, utilization, and throughput without hand-running every scenario.
Core Features & Use Cases
- Process-based discrete-event simulation: Represent system behavior with Python generator processes driven by simulated time.
- Shared resources and queues: Model contention using
Resource, PriorityResource, PreemptiveResource, and related constructs.
- Event coordination and monitoring: Synchronize workflows with timeouts/events and collect metrics such as wait time, queue length, and utilization.
Use cases include simulating service queues (call centers, checkouts), logistics and dispatch workflows, network traffic/packets competing for bandwidth, and transport operations where vehicles or requests interact with limited capacity points.
Quick Start
In your Python project, use the skill to implement a small generator-based simulation where each entity requests a shared resource, waits for a service duration, then releases it.