Copyright (C) Sarah Mount, 2009 under the GNU GPL v2. See the file LICENSE for more details.
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
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
>>>
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
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.
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)]