What is gevent?


gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev event loop.

Features include:

gevent is inspired by eventlet but features more consistent API, simpler implementation and better performance. Read why others use gevent and check out the list of the open source projects based on gevent.

gevent is written and maintained by Denis Bilenko with help from the contributors and is licensed under the MIT license.

Continue reading »

If you like gevent, donate to support the development.

Follow Me


try gevent 1.1alpha with python 3 and pypy support - https://t.co/axcL84KWXg (Jun 29th)

RT @zzzeek: gevent merged py3k support! now i can replace eventlet on haalchemy! woop (Jun 29th)

RT @HNTweets: Greenify – Make blocking C library work with gevent: https://t.co/xcbhueDpHv Comments: https://t.co/v5TB4oq2wB (May 25th)

gevent v1.0.2final released https://t.co/vCh5b5PC7m Thanks to Jason @ossmkitty and all contributors! (May 23rd)

BTW, that changes broke ssl support in gevent and eventlet http://t.co/e2ZmInbWmG https://t.co/Cz0FOdIr6T (Nov 7th)

seems that python developers work around pep404 by putting new features into bugfix release https://t.co/DqrW1s7eek #justdopython2.8 (Nov 7th)

gevent repo moved to its own organization: https://t.co/bkDxDmKa9L (Oct 20th)

Older tweets »


gevent presentations on PyCon 2011

Using Coroutines to Create Efficient, High-Concurrency Web Applications
In this talk Matt Spitz evaluates several ways to deploy WSGI applications. At Meebo, they settled on gunicorn + gevent, preferring it to mod_wsdi and Twisted.

An outsider’s look at co-routines.
This is an overview by Peter Portante that compares greenlet-based approaches like gevent with yield-based coroutines and threads.

gevent 0.13.6 released

This is a maintenance release, with a few issues fixed by the users.

Read more »

Libev and Libevent

The next version of gevent (1.0) will use libev for the event loop rather than libevent or libevent2.

Read more »