My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

The PyCSP project is an on-going project to bring CSP (Communicating Sequential Processes) to Python.

It was started in 2006 and has been updated about every three month. Bug reports and suggestions for new features are most welcome.

The best way to get started on PyCSP is through the tutorials:

Example:

import sys
from pycsp import *

@process
def source(chan_out):
    for i in range(10):
        chan_out("Hello world (%d)\n" % (i))
    retire(chan_out)
    
@process
def sink(chan_in):
    while True:
        sys.stdout.write(chan_in())

chan = Channel()
Parallel(
    5 * source(-chan),
    5 * sink(+chan)
)

Related publications:

  • Friborg, Rune Møllegaard ; Vinter, Brian ; Bjørndalen, John Markus. PyCSP - controlled concurrency. International Journal of Information Processing and Management, Volume 1, Number 2, October 2010
  • Vinter, Brian ; Bjørndalen, John Markus ; Friborg, Rune Møllegaard. PyCSP Revisited. Communicating Process Architectures 2009 : WoTUG-32, Proceedings of the 32st WoTUG Technical Meeting (CPA-09). Eindhoven, The Netherlands.
  • Friborg, Rune Møllegaard ; Bjørndalen, John Markus ; Vinter, Brian. Three Unique Implementations of Processes for PyCSP. Communicating Process Architectures 2009 : WoTUG-32, Proceedings of the 32st WoTUG Technical Meeting (CPA-09). Eindhoven, The Netherlands.
  • Bjørndalen, John Markus ; Sampson, Adam T. Process-Oriented Collective Operations. Communicating Process Architectures 2008 : WoTUG-31, Proceedings of the 31st WoTUG Technical Meeting (CPA-08). York, UK.
Powered by Google Project Hosting