ANN: Release 1.9 of SimPy "Simulation in Python" package
kgmuller at xs4all.nl
Wed Jan 23 15:40:23 CET 2008
With great pleasure we announce the availability of SimPy version 1.9. This
is a major release, with significant changes to API and documentation, bug
fixes, and improved performance for large models.
SimPy 1.9 can be downloaded from
The SimPy homepage is at http://SimPy.SourceForge.Net .
What is SimPy?
SimPy (= Simulation in Python) is an object-oriented, process-based
discrete-event simulation language completely implemented in Python. It is
released under the GNU Lesser GPL (LGPL). SimPy provides the modeler with
components of a simulation model including 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. Random variates are provided by the standard Python
Many users claim that SimPy is one of the cleanest, easiest to use discrete
event simulation packages! SimPy is in use at many universities, research
institutes and in industry.
SimPy comes with data collection capabilities, GUI and plotting packages. It
can be easily interfaced to other packages, such as plotting, statistics, or
SimPy is platform-independent and runs on all systems on which Python 2.3 or
later is available.
This version is again the result of many months of intense collaboration in
the SimPy community. It includes design ideas and improvements of runtime
performance through better event list handling proposed by Prof. Norm
Matloff and a team of graduate students working with him. Thank you, guys!
We also wish to thank all users and developers who assisted in performance
measurement and beta testing.
Our thanks go also to Virgil Stokes of Uppsala University who proposed the
addition of a method in Monitor and Tally which returns the time-weighted
variance of observations.
Release notes for SimPy 1.9
- The handling of the event list has been changed to provide
significantly shorter runtimes for larger models (models
with thousands of processes) and models with many interrupts
or process cancellations. The event list is now only partially
sorted, using the ``heapq`` package instead of bisect. Cancelled event
notices are no longer removed by unpost, but just marked and then
popped and ignored by nextev. The event list is no longer
based on a dictionary. This latter, very important improvement
is based on a SimPy tuning study by Prof. Norm Matloff and
some of his bright students. Thanks, Norm and team!
- The Manual has been edited and given an easier-to-read layout.
- The Bank2 tutorial has been extended.
- The tracing of "activate" statements by SimulationTrace.py
(which had been erroneously de-activated) has been enabled again.
- A method returning the time-weighted variance of observations
has been added to classes Monitor and Tally.
- A shortcut activation method called "start" has been added
to class Process.
(end of Release Notes)
Best wishes for happy, productive SimPying in 2008!
Tony Vignaux Klaus Müller
More information about the Python-announce-list