What problem does it solve?
SimPy helps you model real systems where events happen over time and compete for limited resources, so you can analyze queues, throughput, and scheduling behavior before implementing anything.
Core Features & Use Cases
- Discrete-event simulation modeling: Represent entities as processes that yield timeouts and coordinate via events.
- Shared resource and queueing: Model servers and capacity constraints with Resource, priority queues with PriorityResource, and preemption with PreemptiveResource.
- Systems with inventory and object flow: Use Container and Store/FilterStore/ PriorityStore to simulate bulk material levels and item movement through pipelines.
- Monitoring-friendly behavior: Capture wait times, utilization, and event timing by instrumenting requests/releases and processing durations.
- Use Case: Simulate a call center or manufacturing line by generating customers/parts at arrival rates, serving them on limited machines, and measuring waiting time and throughput under contention.
Quick Start
Use the simpy skill to build a discrete-event queueing simulation with two servers by running a minimal customer-process example using SimPy's Environment, Resource, env.timeout, and env.run(until=...).