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

Alternatives

SimPy in the index now

Terms to know

Related guides