ANN: Release 1.9 of SimPy "Simulation in Python" package

kgmuller kgmuller at
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
random module.

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
database systems.

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 
  (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 mailing list