Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install scipysim

How to install ScipySim

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install scipysim
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.1.6 Available View build log
0.1.5 Available View build log
Windows (64-bit)
0.1.6 Available View build log
0.1.5 Available View build log
Mac OS X (10.5+)
0.1.6 Available View build log
0.1.5 Available View build log
Linux (32-bit)
0.1.6 Available View build log
0.1.5 Available View build log
Linux (64-bit)
0.1.6 Available View build log
0.1.5 Available View build log
 
License
GPLv3
Lastest release
version 0.1.6 on Jan 5th, 2011

Scipy Simulator provides a concurrent way of modelling and simulating heterogeneous systems in Python using scipy. You might find it most useful for tasks involving embedded systems or signal processing.

Scipysim models are created in pure Python code, by instantiating various actors representing different components of a systems, and connecting the actors to each other through channels. Here's a simple example of what a model looks like:

#!/usr/bin/env python

from scipysim.actors.signal import Ramp from scipysim.actors.display import Plotter from scipysim.actors import Channel, Model

class RampPlot( Model ): def __init__( self ): super( RampPlot, self ).__init__() connection = Channel() src = Ramp( connection ) dst = Plotter( connection ) self.components = [src, dst]

RampPlot().run()

You can find a number of other examples of models in the 'models' directory.

The scipysim project is inspired by the UC Berkeley Ptolemy project, but we are taking a slightly different approach to implementing the simulation engine. Our approach is based on implementing the simulator as a Kahn network of actors that communicate via tagged-signals. Each of these actors run in their own thread, and communicate via dedicated Channels - which are based on the thread safe FIFO queue implementation in the Python standard library. These base level actors can be composed together to create models, which are also actors in their own right - running in their own thread with all communication occurring through input and output channels.

Scipysim is still very much under active development, and contains a number of experimental or prototype components. The structure of the simulator is in a state of flux, so there are no guarantees that models developed to work with a particular release will still work with the next release.

Testing Scipy Simulator

Scipy Simulator comes with a large collection of unit tests. All the tests can be run as a suite using nosetests:

System Message: WARNING/2 (<string>, line 54)

Literal block expected; none found.

nosetests

A helper script called test_scipysim.py has been placed in the scipysim module to launch nosetests:

./scipysim/test_scipysim.py

If you downloaded from the repository the tests can be run with setuptools:

System Message: WARNING/2 (<string>, line 63)

Literal block expected; none found.

python setup.py test

The tests can also be found in the module hierarchy and run individually:

System Message: WARNING/2 (<string>, line 67)

Literal block expected; none found.

python ./scipysim/actors/io/test_io.py

Installing Scipy Simulator

You can install scipysim to your main site-packages folder with:

System Message: WARNING/2 (<string>, line 75)

Literal block expected; none found.

sudo python setup.py install

on Linux or Mac OS X; and:

System Message: WARNING/2 (<string>, line 79)

Literal block expected; none found.

python setup.py install

on Windows. To install in a more sandboxed "development" environment substitute develop for install, e.g.:

System Message: WARNING/2 (<string>, line 84)

Literal block expected; none found.

sudo python setup.py develop

This installs an egg at the current directory and links to the package in your site-packages folder.

Creating Binary Installers

Firstly to clean the obsolete .pyc or .pyo files use:

System Message: WARNING/2 (<string>, line 94)

Literal block expected; none found.

python setup.py clean --all

Generate a built distribution like so:

System Message: WARNING/2 (<string>, line 98)

Literal block expected; none found.

python setup.py bdist

On Windows, to make a nice pretty GUI installer:

System Message: WARNING/2 (<string>, line 102)

Literal block expected; none found.

python setup.py bdist --format wininst

Similarly a source distribution can be created with:

System Message: WARNING/2 (<string>, line 106)

Literal block expected; none found.

python setup.py sdist

Contributors

This project was initiated in the Department of Electrical & Computer Engineering at the University of Canterbury (http://www.elec.canterbury.ac.nz/) by:

  • Brian Thorne (brian dot thorne at canterbury dot ac dot nz)
  • Allan McInnes (allan dot mcinnes at canterbury dot ac dot nz)

Project Site

The main development occurs on Google Code at http://scipy-sim.googlecode.com

Contribute to scipysim

First get the source code with mercurial:

hg clone https://scipy-sim.googlecode.com/hg/ scipy-sim

And send us a patch by creating a new issue http://code.google.com/p/scipy-sim/issues/entry

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.