What is gevent?

Introduction

gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libevent 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.

For gevent-related consulting, contact the author.

Follow Me

twitter.com/gevent

RT @SockJS: SockJS-gevent t.co/CqtIZOMO is being developed rapidly! @smdiehl (Jan 25th)

RT @SockJS: Pyramid SockJS t.co/VefwK5dj - gevent-based SockJS server, cool stuff! @fafhrd9 (Jan 25th)

RT @benoitc: just released socketpool, a python socket pool with connector factory w/ support for gevent, eventlet,… t.co/VPUvpqb4 (Jan 25th)

RT @achillean: @Viss use gevent (t.co/L2VAIAoH) instead, very easy to do and super fast. Just monkey-patch your socket lib and lo ... (Jan 19th)

RT @IanMLewis: Wrote a simple gevent based skype bot. t.co/AAj5AidF (Jan 14th)

more gevent on PyCon2012: "The real-time web with co-routines" tutorial by John Anderson t.co/sZ7QNH1u (Jan 13rd)

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 »