Concurrency
Central clearing house for Concurency related issues and discussion
Links
Concurrency/99Bottles - solutions to common problems in different styles/toolkits
Concurrency/Patterns - ways to structure your concurrent program
Concurrency/TipsAndTricks - Hints for writing better concurrent code
Beware the GlobalInterpreterLock
Standard Library
threading - make your life easy and your code fast: use multiprocessing.
Frameworks
See also: ParallelProcessing, Pypi Distributed Computing Trove
StacklessPython - A Python Implementation That Does Not Use The C Stack
Fibra - Fibra provides advanced cooperatve concurrency using Python generators.
Cogen - cogen is a crossplatform library for network oriented, coroutine based programming using the enhanced generators. The project aims to provide a simple straightforward programming model similar to threads but without all the problems and costs.
Greenlet - The "greenlet" package is a spin-off of StacklessPython, a version of CPython that supports micro-threads called "tasklets". Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on "channels". Documentation
Eventlet - Eventlet is a networking library written in Python. It achieves high scalability by using non-blocking io while at the same time retaining high programmer usability by using coroutines to make the non-blocking io operations appear blocking at the source code level.
Circuits - circuits is a Lightweight, Event driven Framework with a strong Component Architecture.
Twisted - Full-featured and well-tested asynchronous networking library. Concurrency model: Asynchronous code written around central objects known as Deferreds. Cooperative task scheduler via the Cooperator object. Time based scheduling with LoopingCall and reactor.callLater.
Kamelia - In Kamaelia you build systems from simple components that talk to each other. This speeds development, massively aids maintenance and also means you build naturally concurrent software. It's intended to be accessible by any developer, including novices. It also makes it fun.
Concurrence - Concurrence is a framework for creating massively concurrent network applications in Python. It takes a Lightweight-tasks-with-message-passing approach to concurrency.
Parallel Python - Parallel Python is a python module which provides mechanism for parallel execution of python code on SMP (systems with multiple processors or cores) and clusters (computers connected via network).
pprocess - The pprocess module provides elementary support for parallel programming in Python using a fork-based process creation model in conjunction with a channel-based communications model implemented using socketpair and poll.
pysage - lightweight high-level message passing library supporting actor based concurrency
pypes - Pypes is a framework for designing highly scalable concurrent Flow-Based applications. It uses a component model (Stackless tasklets) to achieve modularity (very loose coupling) along with the 2.6 multiprocessing module to achieve parallelism (multi-processing support). The goals are focused on performance (capable of processing millions of documents) and ease of use. Building custom components is simple and pypes offers Paste templates for generating boiler plate component code along with supporting build files (plugins/components are eggs). Pypes also provides a full Web 2.0 WSGI user interface that allows users to create, destroy, configure, and connect components together using simple drag-n-drop functionality from any standards based web browser.