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 MIT license.
Get gevent
Gevent runs on Python >= 2.6, Python >= 3.3, or PyPy >= 4.0.1 (but not PyPy3) (Note: PyPy is not supported in Windows). On all platforms, installing setuptools is recommended (this is done automatically if working in a virtual environment).
While gevent v1.1 is not yet released, it has release candidates which are currently considered quite stable, with many bugfixes over v1.0. v1.1 is also necessary if you are running OS X 10.11 and/or Python 3. To install one of these release candidates, you can run:
pip install --pre gevent
Download the latest release from Python Package Index or clone the repository.
Read the documentation online at http://www.gevent.org
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.23.4' 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
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 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 pep8 and pyflakes. 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 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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for gevent-1.1rc5.win-amd64-py3.5.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3bcf4fb49f127cd4f6f4245206b08eb48360b2e6ba113992d031232a9f0c07c |
|
MD5 | c22feaa7e7d5af7c901dcb97ccda0867 |
|
BLAKE2b-256 | 1299f3156685d38c2ea8b9c7f04f9852895e36da8e8f7fee0719daab194fda2e |
Hashes for gevent-1.1rc5.win-amd64-py3.4.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2465e526d6af72b8f91d32b4933ce1381b639a1838d26b6de430060efb597e8e |
|
MD5 | ec4966618f0236744f41e7c15cd3ddf1 |
|
BLAKE2b-256 | 603a002ee729230604e01550de1fd90773f393da43e13e8788c26a25f0245619 |
Hashes for gevent-1.1rc5.win-amd64-py3.3.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5082231ccaf2f71e18b16e1f346348722b18b5fdf120c2cd3b169b5c5605adb0 |
|
MD5 | 0142a8c36e49093a643b46f778f3e2cf |
|
BLAKE2b-256 | c68299331128430a783a5b1591911d240874f6f7f0997fe22f7ba1dbfcc8a725 |
Hashes for gevent-1.1rc5.win-amd64-py2.7.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04121221c1c9e56563210a0cd799f8338d27ca1b44bd7ae67c5e1952a7da512 |
|
MD5 | 412141b4cc4785f940a0a4218646e820 |
|
BLAKE2b-256 | e13bb84544e04cff75676e12c3f45ca7b8506bc18bc9c37db2df11f051b640bc |
Hashes for gevent-1.1rc5-pp240-pp240u-macosx_10_11_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bebba85c0409650bf0026a578aa4e8cd2decb78a65d62349b0c0e731989491e |
|
MD5 | e4dc5af906a20374cc8baf6633aeec75 |
|
BLAKE2b-256 | fdc6ba3ce5e41f6d1701a418837c76850fc9052c7201ede84e1f10dbf4075123 |
Hashes for gevent-1.1rc5-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9caf3a5558bc7ae91dcc567af359029127510a35b1ec036e4653e47674becca |
|
MD5 | 3735ca44430bc35e2bb5e1ed4476b0d8 |
|
BLAKE2b-256 | 9f48674c7794c98cd64f48949746e1e9386ab2efa4402a6acd28f8179e85043b |
Hashes for gevent-1.1rc5-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb3df2656d843ff528f53ad49775e372e73f18a9b5b5aefde227149b854d6137 |
|
MD5 | 39b24e24325d104a5d712fbe9e711204 |
|
BLAKE2b-256 | 0dd201e98a90b1707b4c117575a4026b8b96723598a9c3f4c946835c1cef4bea |
Hashes for gevent-1.1rc5-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99f4c4489b70ce850d4f4acf4e8174360da3564f094e96b9ec4a051c2ae66f87 |
|
MD5 | 5f4849e632b20cfdaf800c222763f9e0 |
|
BLAKE2b-256 | 4c33ce97ab6dbd71f3bd01c1992e0f3df26a983fa7d94b02c844cc912d6524b0 |
Hashes for gevent-1.1rc5-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18fb494fbc994d411518ba185722c3d5dee93be244a822d43d0db4833adfeb48 |
|
MD5 | 23758c7e3108d5cd2eedc1a8d9c310b3 |
|
BLAKE2b-256 | 68e7fef696952861581073c8c59313fd13a79ff893570fca7edaa37922fae0d1 |
Hashes for gevent-1.1rc5-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d716259d7e5715d7b9d801994cd1d71d6a7bb2cc28273b1fd6d1ce374d1bc8be |
|
MD5 | d8e72f6401f7f3d00d08295447e76e2f |
|
BLAKE2b-256 | 86aa88718018fcadcc62a637db15c19099a22acaa1179e12f6bf2f0fbf8575ef |
Hashes for gevent-1.1rc5-cp34-cp34m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0af50f2e55221f193c01f378d6bbf0e5cc898af54ab7d61996b1854b0de85f3 |
|
MD5 | b8de8469619ead6012e19c76853eb1cd |
|
BLAKE2b-256 | e5535f1b55c1918807aedc9463fc095b4b1da07e21628d061314174986261866 |
Hashes for gevent-1.1rc5-cp33-cp33m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae627468551dea73310934392f79d134d0c3fd26cd31e2640120b32b9ca43c3c |
|
MD5 | f78ef3aa4ca0bec280398cb6fc7e8b90 |
|
BLAKE2b-256 | 6227b0386e844765d838fc4ec8c88a262f2b2155fbe5820ce98d8c661615d07e |
Hashes for gevent-1.1rc5-cp33-cp33m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9da0b1b1afbc553e4ea55a38bff0a2aa821e4b2d05bc604e170cdb2f333852c |
|
MD5 | 4c3c3d762785bcec849b7822de03ca6e |
|
BLAKE2b-256 | bc36a897799b50db7beb1ef1b2815015d5b1eb6185a3dc465a8b7a1c2f8f9752 |
Hashes for gevent-1.1rc5-cp33-cp33m-macosx_10_11_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 559e0d09ba1a5ce5a7c034dfa6f5740b391b3614d1c16607ad8d711d03603ead |
|
MD5 | 8558edbf6992afc40398a522cbfad9f3 |
|
BLAKE2b-256 | 3d9c78b157cea1afb1d5ced0f56a19721d16d05b3e62a08c5c4584815808063a |
Hashes for gevent-1.1rc5-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 359607ad5d5a0ee5f7e3241b4770819c1bdb3d7d2f7e272310b7f9eb8669e777 |
|
MD5 | c8b59e4ad23af55379bb72fd6c4939da |
|
BLAKE2b-256 | c3a27ed53a822c48e0cb5037d70f3390e99cb90763bc2e0f96053651a9a600c5 |
Hashes for gevent-1.1rc5-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eb61cc562e576a691a22c7a89138fcbe65a7fb0a2f278429258a5a9fdf93266 |
|
MD5 | 6b7e594206d4a962c1376e39ad07a03b |
|
BLAKE2b-256 | 8364db9e4f78bbf716414ee3e90cdf15d6f20d039d0ed19e8a6ee3f39662ff5f |
Hashes for gevent-1.1rc5-cp27-cp27m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c9f68369d3b177e4f8d76d432fee4581d784e90c0e319d6e2b299b518ce9bb8 |
|
MD5 | 35c9ab03cf64f7539d4b02053d4bc1b9 |
|
BLAKE2b-256 | 7338f220740cdf1f9729323bc488e3c359fe5d7f4aa039b4b5857c4404034f23 |
Hashes for gevent-1.1rc5-cp26-cp26m-macosx_10_11_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8de06614473fb7fca2324422d82f4e8a794911d8744f7bab325378d4268d3ae |
|
MD5 | 534c7f44c4cc5505fe463e488228b8cf |
|
BLAKE2b-256 | 96000272d59bbf7227e2b0b3c7455d0dd557e025e48df083544f128b6d53f4a0 |