@InProceedings{Bjorndalen07, title = "{P}y{CSP} - {C}ommunicating {S}equential {P}rocesses for {P}ython", author= "Bjørndalen, John Markus and Vinter, Brian and Anshus, Otto J.", editor= "McEwan, Alistair A. and Schneider, Steve and Ifill, Wilson and Welch, Peter H.", pages = "229--248", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2007", isbn= "978-1-58603-767-3", year= "2007", month= "jul", abstract= "The Python programming language is effective for rapidly specifying programs and experimenting with them. It is increasingly being used in computational sciences, and in teaching computer science. CSP is effective for describing concurrency. It has become especially relevant with the emergence of commodity multi-core architectures. We are interested in exploring how a combination of Python and CSP can benefit both the computational sciences and the hands-on teaching of distributed and parallel computing in computer science. To make this possible, we have developed PyCSP, a CSP library for Python. PyCSP presently supports the core CSP abstractions. We introduce the PyCSP library, its implementation, a few performance benchmarks, and show example code using PyCSP. An early prototype of PyCSP has been used in this year\&\#8217;s Extreme Multiprogramming Class at the CS department, university of Copenhagen with promising results." }