Optimization & simulation · SimPy community (open source)
SimPy
Open-source Python library for building discrete-event simulations with plain code.
SimPy is a lightweight, open-source Python library for discrete-event simulation: processes (a customer, a machine, a truck) are written as Python generator functions that request and release shared resources over simulated time, and SimPy's event scheduler advances the clock and runs each process in order. It has no visual model builder or 3D animation, unlike AnyLogic, Simio or Arena — models are code, which makes it easy to integrate with the rest of a Python data pipeline, unit-test, and run at scale in batch or on a cluster, but slower to build a first model in than a drag-and-drop tool. It is used for teaching simulation concepts, prototyping queuing and resource-contention problems, and lightweight production simulations embedded in larger Python systems. It is free, MIT-licensed, and has no commercial edition.
At a glance
| Vendor | SimPy community (open source) |
|---|---|
| Pricing model | Open source + paid options |
| Free tier | Yes |
| Deployment | Self-hosted |
| Open source | Yes (MIT) |
| Best for | Python developers and researchers who want a scriptable, embeddable discrete-event simulator rather than a GUI-based tool. |
Pricing
Free and open source with no commercial tier.
Pricing has not been verified yet — see the vendor's site.
Features
- Process-based discrete-event modeling in plain Python
- Shared-resource primitives (Resource, Container, Store) for queuing models
- Event scheduling with configurable simulated time
- Real-time synchronized simulation mode
- Monitoring and statistics collection via standard Python
- Integrates with NumPy, pandas and Jupyter
- No GUI or licensing overhead
Integrations
Profile last reviewed September 21, 2026