.. meta::
   :description: SimPy Python Simulation Language 
   :keywords: simulation python stochastic

.. image:: images/sm_SimPy_Logo.png
   :align: left
   :alt: SimPy logo
 
===========================================================
SimPy: A Python-based simulation package
===========================================================

SimPy is a process-based discrete-event simulation language based on
standard Python and released under the GNU GPL. It provides the
modeller 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.

Simpy is based on ideas from Simula and Simscript but uses standard
Python. 

SimPy is based on efficient implementation of co-routines using
Python's generators capability. It requires Python 2.2 or later.

Download
-----------------

SimPy can be downloaded from the Simpy_ page on Sourceforge.

.. _Simpy: http://sourceforge.net/projects/simpy/

A number of  example `SimPy models`_ are included in the download
package. 

.. _`SimPy models`:  ../SimPyModels/LISTOFMODELS.html 


Documentation 
----------------------

A Manual_ with simple examples.

A brief cheat-sheet_ of the facilities that SimPy provides in the form
of a listing of commands and methods for *processes*, *resources*, and
*monitors*.

`The Bank`_, a tutorial for SimPy showing the gradual development of a
multi-server bank model.

An introduction to interfacing_ SimPy models with GUI and plotting
applications.

SimPlot_, a basic plotting package for SimPy.

SimGUI_, a version of SimPy that provides a graphical way for users to
interact with a SimPy program, changing its parameters and examining
the output.

SimulationTrace_, a version of SimPy modified for tracing for education and
debugging.

`SimulationStep`_ a version of SimPy which can assist with debugging
models, interacting with them on an event-by-event basis, getting
event-by-event output from a model.

`SimulationRT`_ a version of SimPy which allows synchronizing
simulation time and real (wallclock) time.


.. _Manual:      Manual.html
.. _cheat-sheet: cheatsheet.html
.. _interfacing: Interfacing/Interfacing.html
.. _`The Bank`:  TheBank.html
.. _`SimGUI`: SimGUIManual/SimGUImanual.html
.. _`SimPlot`: SimPlotManual/ManualPlotting.html
.. _`SimulationTrace`: Tracing.html
.. _`SimulationStep`: SimStepManual/SimStepManual.html
.. _`SimulationRT`: SimRTManual.html 




Mailing list   
---------------------

There is a mailing list for users and modellers using SimPy. You can
join it at the `simpy-user list`_.

.. _`simpy-user list`: https://lists.sourceforge.net/lists/listinfo/simpy-users

Other links
---------------------

Klaus Mller and Tony Vignaux, *SimPy: Simulating Systems in Python*,
O'Reilly ONLamp.com, 2003-Feb-27,  http://www.onlamp.com.pub/a/python/2003/2/27/simpy.html

Norman Matloff, *Introduction to the SimPy Discrete-Event Simulation
Package*, U Cal: Davis, 2003,
http://heather.cs.ucdavis.edu/~matloff/simpy.html

David Mertz, *Charming Python: SimPy simplifies complex models*, IBM
Developer Works, Dec 2002,
http://www-106.ibm.com/developerworks/linux/library/l-simpy.html
 
.. Klaus G Mller, *A Simulation language, Simula-Style, in Python*,
   http://drmuller.freezope.org/SiPy site
 


:Author: G A Vignaux
:Version: $Revision: 1.0 $
:Last-Modified: $Date: 2004-05-15 11:09:13+02 $
:Web-site: http://simpy.sourceforge.net/


.. image:: images/sm_SimPy_Logo.png
   :alt: SimPy logo

.. image:: http://sourceforge.net/sflogo.php?group_id=62366&amp;type=4
   :width: 125 
   :height: 37 
   :alt:  SourceForge Logo 



..
   Local Variables:
   mode: indented-text
   indent-tabs-mode: nil
   sentence-end-double-space: t
   fill-column: 70 
   End:

