SimPy
SimPy is a process-based discrete-event simulation framework based on standard Python.
A Python discrete-event simulation library for modeling processes, shared resources, queues, and event-driven systems.
About the Project
Why use this?
SimPy models the behavior of active components such as vehicles, customers, machines, or messages as Python generator-based processes. These processes interact through events and shared resources, allowing engineers to represent limited-capacity congestion points such as servers, machines, checkout counters, and tunnels.
Industrial engineers choose SimPy when they need a lightweight, code-first DES framework for manufacturing lines, warehouses, service systems, logistics networks, and process improvement studies. Simulations can run as fast as possible, in real time, or event-by-event, and SimPy integrates naturally with pandas, NumPy, optimization tools, and Jupyter-based analysis workflows. [386][389][391]
Key Features
- Process-based discrete-event simulation using Python generators
- Shared resources for capacity, queues, and congestion modeling
- As-fast-as-possible, real-time, and manual event stepping
- Suitable for manufacturing, logistics, service, and agent-based systems
- MIT-licensed and easy to integrate with Python data workflows
- Reference / Repo
- https://gitlab.com/team-simpy/simpy
- Tool / Hosted
- https://simpy.readthedocs.io/
- Replaces / Alternative to
- Arena, FlexSim, Simul8
- Free layer
- open-source