Да, в моей библиотеке python-csp есть все это.Вы можете получить библиотеку здесь: https://github.com/futurecore/python-csp
Вот простой пример с каналами и ALTing (также называемый недетерминированным выбором):
>>> @process
... def send_msg(chan, msg):
... chan.write(msg)
...
>>> @process
... def alt_example(chan1, chan2):
... alt = Alt(chan1, chan2)
... print alt.select()
... print alt.select()
...
>>> c1, c2 = Channel(), Channel()
>>> Par(send_msg(c1, 'yes'), send_msg(c2, 'no'), alt_example(c1, c2)).start()
yes
no
>>>
Я нахожусь в процессе рефакторингавнутренности и уборка вещей, так что следите за выпуском довольно скоро или не стесняйтесь, напишите мне в автономном режиме об этом, если хотите.