
Flexible open-source alternative for complex simulation projects
SimPy is a process-based framework for discrete-event simulations written in Python. It enables the modelling of complex processes and resource flows without relying on a graphical user interface.
Use at SimPlan
We use SimPy in projects where traditional simulation tools cannot be used for technical reasons. Examples:
- DigiPrime research project: Integration into the backend of a web application running on Linux servers
- IFCO simulation of the crate cycle: Modelling very large numbers of containers, where performance in traditional tools would be limited
- A.T. Kearney / Lufthansa: Simulation of ULD requirements involving a large number of entities
Key features of SimPy
- Library-based approach: SimPy is not a ready-made software package with a user interface, but a programming library written in Python.
- No GUI or animation: Models are created and analysed purely through programming.
- Flexibility through the Python ecosystem: Integration into existing Python infrastructures, including the use of other data analysis and machine learning libraries.
- High scalability: Suitable for simulations involving very large data sets and a high number of business entities (BEs).
Advantages at a glance
- Easy integration into existing Python environments
- High performance with large and complex models
- Extensibility thanks to the broad Python library ecosystem
- Free to use under an open-source licence (MIT Licence)
When is SimPy suitable?
SimPy is the right choice if:
- traditional simulation software cannot be used (e.g. due to server or system environments),
- models need to be integrated into an existing Python environment,
- very large volumes of data or a large number of entities need to be simulated efficiently.
Frequently Asked Questions
How can you build your own simulation using Python or SimPy, and what are the limitations compared to professional simulation software?
SimPy is well suited to smaller, clearly defined models and to teams with their own Python experience, as no additional licensing is required. For more complex problems involving graphical modelling, extensive 3D visualisation, or where several departments need to work together on the same model, a code-only framework reaches its limits; in such cases, tools such as Plant Simulation or AnyLogic offer greater support.
What does SimPy mean and what is it used for?
SimPy is an open-source, process-based Python framework for discrete event simulation. It replicates time- and resource-dependent processes in code, without any graphical modelling interface, and is frequently used where developers with Python skills wish to build their own, lean simulation models.
What is discrete event simulation?
In discrete event simulation, the system state does not change continuously, but only at specific points in time when a defined event occurs, such as the arrival of a component or the completion of a work step. SimPy replicates this principle in Python and is therefore suitable for processes that can be clearly broken down into individual events.
