Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Coroutine-based network library

Project Description

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

See what’s new in the latest major release.

Check out the detailed changelog for this version.

Get gevent

gevent runs on Python >= 2.7, Python >= 3.4, or PyPy >= 5.5 (including PyPy2 and PyPy3) (Note: PyPy is not supported in Windows). On all platforms, installing setuptools is required (this is done automatically if working in a virtual environment).

You can use pip to install gevent:

pip install gevent

Tip

You need Pip 8.0 or later to install the binary wheels.

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

Read the documentation online at http://www.gevent.org. Additional installation information can be found here.

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

Development

To install the latest development version:

pip install setuptools 'cython>=0.25' git+git://github.com/gevent/gevent.git#egg=gevent

To hack on gevent (using a virtualenv):

$ git clone https://github.com/gevent/gevent.git
$ cd gevent
$ virtualenv env
$ source env/bin/activate
(env) $ pip install -r dev-requirements.txt

Note

You must have Cython, GNU Make, a C compiler, and the Python development headers installed to build a checkout. Installing CFFI on CPython (it’s standard on PyPy) allows building the CFFI backend for testing, and tox is the command used to test multiple versions of Python.

BSD based systems like FreeBSD and OpenBSD often have BSD Make on the PATH as the default make command, but building gevent from a source checkout (not a source tarball distributed on PyPI) requires GNU Make. GNU Make is often called gmake. If you experience Makefile-related problems building gevent from source on one of these platforms, you can set the MAKE environment variable to the executable that invokes GNU Make. For example:

$ MAKE=gmake python ./setup.py install

Running Tests

There are a few different ways to run the tests. To simply run the tests on one version of Python during development, try this:

python setup.py develop
cd src/greentest
PYTHONPATH=.. python testrunner.py --config known_failures.py

Before submitting a pull request, it’s a good idea to run the tests across all supported versions of Python, and to check the code quality using prospector. This is what is done on Travis CI. Locally it can be done using tox:

pip install tox
tox

The testrunner accepts a --coverage argument to enable code coverage metrics through the coverage.py package. That would go something like this:

cd src/greentest
PYTHONPATH=.. python testrunner.py --config known_failures.py --coverage
coverage combine
coverage html -i
<open htmlcov/index.html>

Builds on Travis CI automatically submit updates to coveralls.io to monitor test coverage.

Likewise, builds on Travis CI will automatically submit updates to landscape.io to monitor code health (adherence to PEP8, absence of common code smells, etc).

Note

On Debian, you will probably need libpythonX.Y-testsuite installed to run all the tests.

Continuous integration

A test suite is run for every push and pull request submitted. Travis CI is used to test on Linux, and AppVeyor runs the builds on Windows.

Release History

Release History

This version
History Node

1.2.2

History Node

1.2.1

History Node

1.2.0

History Node

1.2a2

History Node

1.2a1

History Node

1.1.2

History Node

1.1.1

History Node

1.1.0

History Node

1.1rc5

History Node

1.1rc4

History Node

1.1rc3

History Node

1.1rc2

History Node

1.1rc1

History Node

1.1b6

History Node

1.1b5

History Node

1.1b4

History Node

1.1b3

History Node

1.1b2

History Node

1.1b1

History Node

1.1a2

History Node

1.1a1

History Node

1.0.2

History Node

1.0.1

History Node

1.0

History Node

0.13.8

History Node

0.13.7

History Node

0.13.6

History Node

0.13.5

History Node

0.13.4

History Node

0.13.3

History Node

0.13.2

History Node

0.13.1

History Node

0.13.0

History Node

0.12.2

History Node

0.12.1

History Node

0.12.0

History Node

0.11.2

History Node

0.11.1

History Node

0.11.0

History Node

0.10.0

History Node

0.9.3

History Node

0.9.2

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
gevent-1.2.2-cp27-cp27m-macosx_10_6_intel.whl (1.1 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Jun 5, 2017
gevent-1.2.2-cp27-cp27m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Jun 5, 2017
gevent-1.2.2-cp27-cp27mu-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp27 Wheel Jun 5, 2017
gevent-1.2.2-cp27-cp27m-win32.whl (610.1 kB) Copy SHA256 Checksum SHA256 cp27 Wheel Jun 5, 2017
gevent-1.2.2-cp27-cp27m-win_amd64.whl (637.6 kB) Copy SHA256 Checksum SHA256 cp27 Wheel Jun 5, 2017
gevent-1.2.2-cp33-cp33m-macosx_10_12_x86_64.whl (786.9 kB) Copy SHA256 Checksum SHA256 cp33 Wheel Jun 5, 2017
gevent-1.2.2-cp33-cp33m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 Checksum SHA256 cp33 Wheel Jun 5, 2017
gevent-1.2.2-cp34-cp34m-macosx_10_6_intel.whl (1.1 MB) Copy SHA256 Checksum SHA256 cp34 Wheel Jun 5, 2017
gevent-1.2.2-cp34-cp34m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp34 Wheel Jun 5, 2017
gevent-1.2.2-cp34-cp34m-win32.whl (611.1 kB) Copy SHA256 Checksum SHA256 cp34 Wheel Jun 5, 2017
gevent-1.2.2-cp34-cp34m-win_amd64.whl (634.2 kB) Copy SHA256 Checksum SHA256 cp34 Wheel Jun 5, 2017
gevent-1.2.2-cp35-cp35m-macosx_10_6_intel.whl (1.1 MB) Copy SHA256 Checksum SHA256 cp35 Wheel Jun 5, 2017
gevent-1.2.2-cp35-cp35m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp35 Wheel Jun 5, 2017
gevent-1.2.2-cp35-cp35m-win32.whl (607.4 kB) Copy SHA256 Checksum SHA256 cp35 Wheel Jun 5, 2017
gevent-1.2.2-cp35-cp35m-win_amd64.whl (633.7 kB) Copy SHA256 Checksum SHA256 cp35 Wheel Jun 5, 2017
gevent-1.2.2-cp36-cp36m-macosx_10_6_intel.whl (1.1 MB) Copy SHA256 Checksum SHA256 cp36 Wheel Jun 5, 2017
gevent-1.2.2-cp36-cp36m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 Checksum SHA256 cp36 Wheel Jun 5, 2017
gevent-1.2.2-cp36-cp36m-win32.whl (608.9 kB) Copy SHA256 Checksum SHA256 cp36 Wheel Jun 5, 2017
gevent-1.2.2-cp36-cp36m-win_amd64.whl (634.9 kB) Copy SHA256 Checksum SHA256 cp36 Wheel Jun 5, 2017
gevent-1.2.2-pp257-pypy_41-macosx_10_12_x86_64.whl (591.7 kB) Copy SHA256 Checksum SHA256 pp257 Wheel Jun 5, 2017
gevent-1.2.2.tar.gz (3.1 MB) Copy SHA256 Checksum SHA256 Source Jun 5, 2017
gevent-1.2.2.win32-py2.7.exe (812.4 kB) Copy SHA256 Checksum SHA256 2.7 Windows Installer Jun 5, 2017
gevent-1.2.2.win32-py3.4.exe (808.4 kB) Copy SHA256 Checksum SHA256 3.4 Windows Installer Jun 5, 2017
gevent-1.2.2.win32-py3.5.exe (1.1 MB) Copy SHA256 Checksum SHA256 3.5 Windows Installer Jun 5, 2017
gevent-1.2.2.win32-py3.6.exe (1.1 MB) Copy SHA256 Checksum SHA256 3.6 Windows Installer Jun 5, 2017
gevent-1.2.2.win-amd64-py2.7.exe (867.5 kB) Copy SHA256 Checksum SHA256 2.7 Windows Installer Jun 5, 2017
gevent-1.2.2.win-amd64-py3.4.exe (862.7 kB) Copy SHA256 Checksum SHA256 3.4 Windows Installer Jun 5, 2017
gevent-1.2.2.win-amd64-py3.5.exe (1.2 MB) Copy SHA256 Checksum SHA256 3.5 Windows Installer Jun 5, 2017
gevent-1.2.2.win-amd64-py3.6.exe (1.2 MB) Copy SHA256 Checksum SHA256 3.6 Windows Installer Jun 5, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting