python-csp provides python with communicating sequential processes style parallelism
Clone or download
Pull request Compare This branch is 35 commits ahead, 2 commits behind futurecore:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmark
csp
examples
rst
scripts
.coveragerc
.coveralls.yml
.gitignore
.travis.yml
CITATION.bib
CITATION.txt
ChangeLog
LICENSE
MANIFEST.in
Makefile
README.md
make.bat
requirements.txt
setup.cfg
setup.py

README.md

python-csp: Communicating Sequential Processes for Python

Copyright (C) Sarah Mount, 2009 under the GNU GPL v2. See the file LICENSE for more details.

Build Status Requirements Status PyPi version PyPi downloads

Installation

python-csp can be installed using PIP (PIP Installs Python):

    $ sudo pip install python-csp

or from a source distribution using setup.py:

    $ python setup.py install

Introduction

python-csp adds C.A.R. (Tony) Hoare's Communicating Sequential Processes to Python. A brief example:

>>> @process
... def writer(channel, n):
...      for i in xrange(n):
...              channel.write(i)
...      channel.poison()
...      return
... 
>>> @process
... def reader(channel):
...      while True:
...              print channel.read()
... 
>>> chan = Channel()
>>> Par(reader(chan), writer(chan, 5)).start()
0
1
2
3
4
>>>

Documentation.

There are several sources of documentation for python-csp:

  • Online documentation, including a tutorial, is hosted on Read the Docs

  • If you are running the python-csp shell, type "info csp" to list available in-shell help.

  • Some community documentation, such as sprint reports and PDFs of peer-reviewed publications can be found at extradocs

Support and contributing.

We have a mailing list where you can ask questions.

If you wish to contribute to this project, please fork the repo on GitHub and issue a pull request.

Publications.

S. Mount, M. Hammoudeh, S. Wilson, R. Newman (2009) CSP as a Domain-Specific Language Embedded in Python and Jython. In Proceedings of Communicating Process Architectures 2009. Eindoven, Netherlands. 1st -- 4th November 2009. Published IOS Press. [[PDF] (http://github.com/python-concurrency/extradocs)]

Bitdeli Badge