ANN: SimPy 2.1.0 simulation package
Klaus G. Muller
kgmuller at xs4all.nl
Fri Jun 4 06:01:16 CEST 2010
It is my pleasure to announce the release of SimPy 2.1.0. It is ready for
download at https://sourceforge.net/projects/simpy/ and PyPi (
SimPy 2.1.0 is a major new version, with a refactored code base, two
powerful API additions, additional documentation and bug fixes.
2.1.0 is fully backward compatible with 2.0.1 and earlier versions.
What is SimPy?
SimPy (= Simulation in Python) is a process-based discrete-event simulation
package based on Simula and implemented in Python.
It is released under the GNU LGPL.
Many users say that SimPy is one of the easiest to use discrete event
It provides the modeler with components of a simulation model. These include
processes, for active components like customers, messages, and vehicles,
and resources, for passive components that form limited capacity congestion
points like servers, checkout counters, and tunnels. It also provides
monitor variables to aid in gathering statistics.
SimPy has plotting and GUI capabilities "out of the box". It comes with
extensive documentation, tutorials and a large number of example models.
SimPy 2.1.0 works with Python 2.3 and later versions. It does not work with
SimPy also works with Jython and IronPython, with the exception of SimPy's
plotting and GUI capabilities.
Here are the changes to the previous SimPy production release (2.0.1):
- A function `step` has been added to the API. When called, it executes the
next scheduled event.
- Another new function is `peek`. It returns the time of the next event.
By using `peek` and `step` together, one can easily write e.g. an
interactive program to step through a simulation event by event.
- A simple interactive debugger ``stepping.py`` has been added. It allows
stepping through a simulation under user control, viewing the event list,
skipping to a process' next event, etc.
- Versions of the Bank tutorials using the advanced object-oriented API
have been added.
- A new document describes tools for gaining insight into and debugging
SimPy models. Very useful for learning and teaching SimPy.
- Major re-structuring of SimPy code, resulting in much less SimPy code --
great for the maintainers.
- Checks have been added which test whether entities belong to the same
- The `Monitor` and `Tally` methods `timeAverage` and `timeVariance` now
calculate only with the observed time-series.
- Changed class `Lister` so that circular references between objects no
longer lead to stack overflow and crash.
- Functions ``allEventNotices`` and ``allEventTimes`` are working again.
- Error messages for methods in SimPy.Lib work again.
The great code refactoring was done by Ontje Lünsdorf, with key inputs from
Stefan Scherfke. Thanks, guys!
I also thank the other developers and users for their inputs and support in
defining SimPy 2.1.0.
Now, go ahead, download SimPy 2.1.0 and enjoy! Send any feedback, bug
reports, etc. to the SimPy Users mailing list
(simpy-users at lists.sourceforge.net).
More information about the Python-announce-list