The PyCSP project is an on-going project project to bring CSP (Communicating
Sequential Processes) to Python. The main goals of this project is to
support our research projects, teaching and scientific programming.
The first external exposure of the source code was in the Extreme
Multiprogramming course at the University of Copenhagen,
Denmark. Links are here
and here.
Input and suggestions are welcome.
Distributions:
- pycsp-0.2.1.tar.gz -
2007-03-08. No network support yet. This is the initial public
release.
- pycsp-0.2.2.tar.gz -
2007-04-27. Minor bugfix and updated the naming of
Alternative.select() to priSelect().
- pycsp-0.2.2-test.tar.gz -
2007-10-16. This is the CPA 2007 version, representing work that
was done during CPA. It introduces a preliminary network edition
based on Pyro (Python
Remote Objects), new style classes, and a new syntax for
creating processes. I'm sorry about the delay.
- pycsp-0-2-3-snapshot.tar.gz
- 2007-11-09. Snapshot of current status. Integrates patches
from Robert Brewer, introduces channel end objects, and a few
other things (see changelog and code).
- pycsp-0-2-4-snapshot.tar.gz
- 2007-12-19. Another snapshot. Some bugfixes. Adds support for
using ALT on the input end of a remote channel by registering
the ALT object with Pyro.
- pycsp-0-3-0.tar.gz -
2008-05-14. This release should be easier to install (uses
distutils). See CHANGES.txt for more information about changes
in the release.
- PyCSP classic (2018-04) is simply a maintenance
release of the 0.3.0 version ported to Python 3, but I've added it to GitHub for easier maintenance and forking.
- https://github.com/jmbjorndalen/aPyCSP (2018-05-04) an experimental version of PyCSP using coroutines and asyncio
- https://github.com/jmbjorndalen/aPyCSP_lockver (2018-05-04) an experimental version of PyCSP using coroutines and asyncio. This one uses locks and condition variables from asyncio, and is not a very efficient implementation compared to the aPyCSP implementation.
Publications:
- TODO: more papers to add here
- A paper has been published and presented at CPA 2007. A
local PDF is available here. There
is also a PDF of the
presentation.
- PARA
2008. Extended abstract and minisymposium presentation. Local
PDF
- A paper using PyCSP for prototyping and implementing
process oriented collective (group) operations has been
published at CPA 2008 (Process-Oriented Collective
Operations). Local
PDF
- CSPBuilder -- CSP based Scientific Workflow
Modelling, Rune Møllegård Friborg and Brian
Vinter, Communication Process Architectures 2008 (CPA 2008), p
347-363. This paper uses PyCSP.
- John Markus Bjørndalen