ANN: Release of SimPy2.1.0beta (Simulation in Python)
Klaus G. Muller
kgmuller at xs4all.nl
Wed May 12 14:48:49 CEST 2010
It is my pleasure to announce the release of SimPy 2.1.0beta. It is ready
for download at https://sourceforge.net/projects/simpy/.
It is published for community testing.
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.
Do not use this release for production purposes yet, but help with testing
it. Submit any bugs/comments/suggestions
to the SimPy user mailing list (simpy-users at lists.sourceforge.net).
What is SimPy?
~~~~~~~~~~~~~~
SimPy (= Simulation in Python) is a process-based discrete-event simulation
package based on an implemented in standard Python.
It is released under the GNU LGPL.
It provides the modeller 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.
Dependencies
~~~~~~~~~~~~
SimPy 2.1.0 works with Python 2.3 and later versions. It does not work with
Python 3.x.
SimPy also works with Jython and IronPython, with the exception of SimPy's
plotting and GUI capabilities.
Change notes
============
Here are the changes to the previous SimPy release (2.0.1):
Additions
~~~~~~~~~
- A function `step` has been added to the API. When called, it executes the
next scheduled event.
(`step` is actually a method of Simulation.)
- 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.
Changes
~~~~~~~
- 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
`Simulation` instance.
- 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.
Bug repairs
~~~~~~~~~~~
- Functions ``allEventNotices`` and ``allEventTimes`` are working again.
- Error messages for methods in SimPy.Lib work again.
Acknowledgements
===============
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.0beta, and then test it. (Did you know
that you can easily create an isolated
Python environment with virtualenv { http://pypi.python.org/pypi/virtualenv
}? Use that, and you don't have to
overwrite your current SimPy installation for testing 2.1.0. Also good if
you are new to SimPy and just
want to try it out.)
Klaus Müller
More information about the Python-announce-list
mailing list