Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Coroutine-based concurrency library for Python

This branch is 1 commit ahead, 240 commits behind gevent:master

Failed to load latest commit information.
benchmarks benchmarks: split into smaller files
c-ares upgrade c-ares to cares-1_9_1-12-g805c736
doc pep8 fixes
examples make Popen work with gevent.wait()
gevent quick hack to get it working with pypy/pypycore
greentest add
libev update libev to latest CVS version
util util/ support --python option and 'dist' command
.gitignore update .gitignore
.hgignore update .hgignore
.hgtags Added tag 1.0b3 for changeset d7ba590e2bbb
.travis.yml travis: ignore errors from apt-get
LICENSE put an url in the LICENSE add known_failures.txt
Makefile Makefile: remove from dependencies
README.rst update README.rst to point to github
changelog.rst add changelog entry for 1.0rc2
known_failures.txt Fix tests to pass on debug python quick hack to get it working with pypy/pypycore travis: ignore errors from apt-get



gevent is a coroutine-based Python networking library.

Features include:

  • Fast event loop based on libev.
  • Lightweight execution units based on greenlet.
  • Familiar API that re-uses concepts from the Python standard library.
  • Cooperative sockets with SSL support.
  • DNS queries performed through c-ares or a threadpool.
  • Ability to use standard library and 3rd party modules written for standard blocking sockets

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 and is licensed under MIT license.

get gevent

Install Python 2.5 or newer and greenlet extension.

Download the latest release from Python Package Index or clone the repository.

Read the documentation online at

Post feedback and issues on the bug tracker, mailing list, blog and twitter (@gevent).

Something went wrong with that request. Please try again.