cogen


Crossplatform asynchronous network oriented python framework based on python 2.5 enhanced generators.

cogen is a crossplatform library for network oriented, coroutine based programming using the enhanced generators from python 2.5. The project aims to provide a simple straightforward programming model similar to threads but without all the problems and costs.

Features

  • wsgi server with coroutine extensions - enabling asynchronous wsgi apps in a regular wsgi stack
  • fast network multiplexing with epoll, kqueue, select, poll or io completion ports (on windows)
    • epoll/kqueue support via the wrappers in the python 2.6's stdlib or separate modules py-kqueue, py-epoll
    • iocp support via ctypes wrappers or pywin32
  • sendfile/TransmitFile support (the wsgi server also uses this for wsgi.file_wrapper)
  • timeouts for socket calls, signal waits etc
  • various mechanisms to work with (signals, joins, a Queue with the same features as the stdlib one) and some other stuff you can find in the docs :)

Documentation

Docs are available at:

Download

cogen is available for download at PYPI:

http://pypi.python.org/pypi/cogen/ or using easy_install cogen

But the code in trunk is usually the best code.

Development

Latest and Greatest.

Subversion access: svn co http://cogen.googlecode.com/svn/trunk/ cogen Also, you can use easy_install to install a development snapshot from svn: easy_install cogen==dev You can run the test suite with: python setup.py test

Similar projects

Plug

<wiki:gadget url="http://www.ohloh.net/projects/cogen/widgets/project_basic_stats.xml" height="220" border="1" />

Project Information

Labels:
python coroutine network asynchronous library wsgi http generators epoll kqueue iocp