========
gevent
========
.. image:: https://github.com/gevent/gevent/workflows/gevent%20testing/badge.svg
:target: https://github.com/gevent/gevent/actions
.. image:: https://ci.appveyor.com/api/projects/status/bqxl88yhpho223jg?svg=true
:target: https://ci.appveyor.com/project/denik/gevent
.. image:: https://coveralls.io/repos/gevent/gevent/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/gevent/gevent?branch=master
..
This file is included in README.rst from the top-level
so it is limited to pure ReST markup, not Sphinx.
gevent is a coroutine_ -based Python_ networking library that uses
`greenlet <https://greenlet.readthedocs.io>`_ to provide a high-level synchronous API on top of the `libev`_
or `libuv`_ event loop.
Features include:
* Fast event loop based on `libev`_ or `libuv`_.
* Lightweight execution units based on greenlets.
* API that re-uses concepts from the Python standard library (for
examples there are `events`_ and
`queues`_).
* `Cooperative sockets with SSL support <http://www.gevent.org/api/index.html#networking>`_
* `Cooperative DNS queries <http://www.gevent.org/dns.html>`_ performed through a threadpool,
dnspython, or c-ares.
* `Monkey patching utility <http://www.gevent.org/intro.html#monkey-patching>`_ to get 3rd party modules to become cooperative
* TCP/UDP/HTTP servers
* Subprocess support (through `gevent.subprocess`_)
* Thread pools
gevent is `inspired by eventlet`_ but features a 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 was written by `Denis Bilenko <http://denisbilenko.com/>`_.
Since version 1.1, gevent is maintained by Jason Madden for
`NextThought <https://nextthought.com>`_ with help from the
`contributors <https://github.com/gevent/gevent/graphs/contributors>`_
and is licensed under the MIT license.
See `what's new`_ in the latest major release.
Check out the detailed changelog_ for this version.
.. _events: http://www.gevent.org/api/gevent.event.html#gevent.event.Event
.. _queues: http://www.gevent.org/api/gevent.queue.html#gevent.queue.Queue
.. _gevent.subprocess: http://www.gevent.org/api/gevent.subprocess.html#module-gevent.subprocess
.. _coroutine: https://en.wikipedia.org/wiki/Coroutine
.. _Python: http://python.org
.. _libev: http://software.schmorp.de/pkg/libev.html
.. _libuv: http://libuv.org
.. _inspired by eventlet: http://blog.gevent.org/2010/02/27/why-gevent/
.. _use gevent: http://groups.google.com/group/gevent/browse_thread/thread/4de9703e5dca8271
.. _open source projects based on gevent: https://github.com/gevent/gevent/wiki/Projects
.. _what's new: http://www.gevent.org/whatsnew_1_5.html
.. _changelog: http://www.gevent.org/changelog.html
Read the documentation online at http://www.gevent.org.
Post issues on the `bug tracker`_, discuss and ask open ended
questions on the `mailing list`_, and find announcements and
information on the blog_ and `twitter (@gevent)`_.
===============================
Installation and Requirements
===============================
.. _installation:
..
This file is included in README.rst so it is limited to plain
ReST markup, not Sphinx.
.. note::
If you are reading this document on the `Python Package Index`_
(PyPI, https://pypi.org/), it is specific to the version of gevent that
you are viewing. If you are viewing this document on gevent.org, it
refers to the current state of gevent in source control (git
master).
Supported Platforms
===================
This version of gevent runs on Python 2.7.9 and up, and many versions
of Python 3 (for exact details, see the classifiers on the PyPI page
or in ``setup.py``). gevent requires the `greenlet <https://greenlet.readthedocs.io>`_
library and will install the `cffi`_ library by default on Windows.
The cffi library will become the default on all platforms in a future
release of gevent.
This version of gevent also runs on PyPy 7.3.7 (7.3.6 for PyPy2) or
above. On PyPy, there are no external dependencies.
gevent is tested on Windows, macOS, and Linux, and should run on most
other Unix-like operating systems (e.g., FreeBSD, Solaris, etc.)
.. note::
Windows is supported as a tier 2, "best effort," platform. It is
suitable for development, but not recommended for production. In
particular, PyPy3 on Windows may have issues, especially with
subprocesses.
On Windows using the deprecated libev backend, gevent is
limited to a maximum of 1024 open sockets due to
`limitations in libev`_. This limitation should not exist
with the default libuv backend.
Older Versions of Python
------------------------
Users of older versions of Python 2 or Python 3 may install an older
version of gevent. Note that these versions are generally not
supported.
+-------+-------+
|Python |Gevent |
|Version|Version|
+=======+=======+
|2.5 |1.0.x |
| | |
+-------+-------+
|2.6 |1.1.x |
+-------+-------+
|<= |1.2.x |
|2.7.8 | |
+-------+-------+
|3.3 |1.2.x |
+-------+-------+
|3.4.0 -| 1.3.x |
|3.4.2 | |
| | |
+-------+-------+
|3.4.3 | 1.4.x |
| | |
| | |
+-------+-------+
|3.5.x | 20.9.0|
| | |
| | |
+-------+-------+
Installation
============
.. note::
This section is about installing released versions of gevent as
distributed on the `Python Package Index`_. For building gevent
from source, including customizing the build and embedded
libraries, see `Installing From Source`_.
.. _Python Package Index: http://pypi.org/project/gevent
gevent and greenlet can both be installed with `pip`_, e.g., ``pip
install gevent``. Installation using `buildout
<http://docs.buildout.org/en/latest/>`_ is also supported.
On Windows, macOS, and Linux, both gevent and greenlet are
distributed as binary `wheels`_.
.. tip::
You need Pip 8.0 or later, or buildout 2.10.0 to install the binary
wheels on Windows or macOS. On Linux, you'll need `pip 19
<https://github.com/pypa/pip/pull/5008>`_ to install the
manylinux2010 wheels.
.. tip::
Binary wheels cannot be installed on non-manylinux2010 compatible
Linux systems, such as those that use `musl
<https://musl.libc.org>`_, including `Alpine Linux
<https://alpinelinux.org>`_. Those systems must install from source.
.. tip::
Beginning with gevent 20.12.0, 64-bit ARM binaries are distributed
on PyPI for aarch64 manylinux2014 compatible systems. Installing these
needs a very recent version of ``pip``. These wheels *do not*
contain the c-ares resolver, are not tested, and are built with
very low levels of optimizations. Serious production users of
gevent on 64-bit ARM systems are encouraged to build their own
binary wheels.
Beginning with gevent 22.10.0, ppc64le binaries are distributed on
PyPI. The same caveats apply as for 64-bit ARM binaries. Using them
for anything other than local development is discouraged.
Installing From Source
----------------------
If you are unable to use the binary wheels (for platforms where no
pre-built wheels are available or if wheel installation is disabled),
you can build gevent from source. A normal ``pip install`` will
fall back to doing this if no binary wheel is available. See
`Installing From Source`_ for more, including common installation issues.
Extra Dependencies
==================
There are a number
of additional libraries that extend gevent's functionality and will be
used if they are available. All of these may be installed using
`setuptools extras
<https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies>`_,
as named below, e.g., ``pip install gevent[events]``.
events
In versions of gevent up to and including 20.5.0, this provided configurable
event support using `zope.event
<https://pypi.org/project/zope.event>`_ and was highly
recommended.
In versions after that, this extra is empty and does nothing. It
will be removed in gevent 21.0.
dnspython
Enables a pure-Python resolver, backed by `dnspython
<https://pypi.org/project/dnspython>`_. On Python 2, this also
includes `idna <https://pypi.org/project/idna>`_. They can be
installed with the ``dnspython`` extra.
.. note:: This is not compatible with Python 3.10 or dnspython 2.
monitor
Enhancements to gevent's self-monitoring capabilities. This
includes the `psutil <https://pypi.org/project/psutil>`_ library
which is needed to monitor memory usage. (Note that this may not
build on all platforms.)
recommended
A shortcut for installing suggested extras together. This includes
the non-test extras defined here, plus:
- `backports.socketpair
<https://pypi.org/project/backports.socketpair/>`_ on Python
2/Windows (beginning with release 20.6.0);
- `selectors2 <https://pypi.org/project/selectors2/>`_ on Python 2 (beginning with release 20.6.0).
test
Everything needed to run the complete gevent test suite.
.. _`pip`: https://pip.pypa.io/en/stable/installing/
.. _`wheels`: http://pythonwheels.com
.. _`gevent 1.5`: whatsnew_1_5.html
.. _`Installing From Source`: https://www.gevent.org/development/installing_from_source.html
.. _`cffi`: https://cffi.readthedocs.io
.. _`limitations in libev`: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#WIN32_PLATFORM_LIMITATIONS_AND_WORKA
.. _bug tracker: https://github.com/gevent/gevent/issues
.. _mailing list: http://groups.google.com/group/gevent
.. _blog: https://dev.nextthought.com/blog/categories/gevent.html
.. _twitter (@gevent): http://twitter.com/gevent
Raw data
{
"_id": null,
"home_page": "http://www.gevent.org/",
"name": "cleep-gevent",
"maintainer": "Jason Madden",
"docs_url": null,
"requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5",
"maintainer_email": "jason@nextthought.com",
"keywords": "greenlet coroutine cooperative multitasking light threads monkey",
"author": "Denis Bilenko",
"author_email": "denis.bilenko@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/37/55/d695f07d6094e7d9d7e707a6979ae56ab37085c4066c2efad7cb17f5b0b9/cleep-gevent-22.10.1.tar.gz",
"platform": null,
"description": "========\n gevent\n========\n\n.. image:: https://github.com/gevent/gevent/workflows/gevent%20testing/badge.svg\n :target: https://github.com/gevent/gevent/actions\n\n.. image:: https://ci.appveyor.com/api/projects/status/bqxl88yhpho223jg?svg=true\n :target: https://ci.appveyor.com/project/denik/gevent\n\n.. image:: https://coveralls.io/repos/gevent/gevent/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/gevent/gevent?branch=master\n\n..\n This file is included in README.rst from the top-level\n so it is limited to pure ReST markup, not Sphinx.\n\n\n\ngevent is a coroutine_ -based Python_ networking library that uses\n`greenlet <https://greenlet.readthedocs.io>`_ to provide a high-level synchronous API on top of the `libev`_\nor `libuv`_ event loop.\n\nFeatures include:\n\n\n* Fast event loop based on `libev`_ or `libuv`_.\n* Lightweight execution units based on greenlets.\n* API that re-uses concepts from the Python standard library (for\n examples there are `events`_ and\n `queues`_).\n* `Cooperative sockets with SSL support <http://www.gevent.org/api/index.html#networking>`_\n* `Cooperative DNS queries <http://www.gevent.org/dns.html>`_ performed through a threadpool,\n dnspython, or c-ares.\n* `Monkey patching utility <http://www.gevent.org/intro.html#monkey-patching>`_ to get 3rd party modules to become cooperative\n* TCP/UDP/HTTP servers\n* Subprocess support (through `gevent.subprocess`_)\n* Thread pools\n\ngevent is `inspired by eventlet`_ but features a more consistent API,\nsimpler implementation and better performance. Read why others `use\ngevent`_ and check out the list of the `open source projects based on\ngevent`_.\n\ngevent was written by `Denis Bilenko <http://denisbilenko.com/>`_.\n\nSince version 1.1, gevent is maintained by Jason Madden for\n`NextThought <https://nextthought.com>`_ with help from the\n`contributors <https://github.com/gevent/gevent/graphs/contributors>`_\nand is licensed under the MIT license.\n\nSee `what's new`_ in the latest major release.\n\nCheck out the detailed changelog_ for this version.\n\n.. _events: http://www.gevent.org/api/gevent.event.html#gevent.event.Event\n.. _queues: http://www.gevent.org/api/gevent.queue.html#gevent.queue.Queue\n.. _gevent.subprocess: http://www.gevent.org/api/gevent.subprocess.html#module-gevent.subprocess\n\n.. _coroutine: https://en.wikipedia.org/wiki/Coroutine\n.. _Python: http://python.org\n.. _libev: http://software.schmorp.de/pkg/libev.html\n.. _libuv: http://libuv.org\n.. _inspired by eventlet: http://blog.gevent.org/2010/02/27/why-gevent/\n.. _use gevent: http://groups.google.com/group/gevent/browse_thread/thread/4de9703e5dca8271\n.. _open source projects based on gevent: https://github.com/gevent/gevent/wiki/Projects\n.. _what's new: http://www.gevent.org/whatsnew_1_5.html\n.. _changelog: http://www.gevent.org/changelog.html\n\n\nRead the documentation online at http://www.gevent.org.\n\nPost issues on the `bug tracker`_, discuss and ask open ended\nquestions on the `mailing list`_, and find announcements and\ninformation on the blog_ and `twitter (@gevent)`_.\n\n===============================\n Installation and Requirements\n===============================\n\n.. _installation:\n\n..\n This file is included in README.rst so it is limited to plain\n ReST markup, not Sphinx.\n\n.. note::\n\n If you are reading this document on the `Python Package Index`_\n (PyPI, https://pypi.org/), it is specific to the version of gevent that\n you are viewing. If you are viewing this document on gevent.org, it\n refers to the current state of gevent in source control (git\n master).\n\nSupported Platforms\n===================\n\nThis version of gevent runs on Python 2.7.9 and up, and many versions\nof Python 3 (for exact details, see the classifiers on the PyPI page\nor in ``setup.py``). gevent requires the `greenlet <https://greenlet.readthedocs.io>`_\nlibrary and will install the `cffi`_ library by default on Windows.\nThe cffi library will become the default on all platforms in a future\nrelease of gevent.\n\nThis version of gevent also runs on PyPy 7.3.7 (7.3.6 for PyPy2) or\nabove. On PyPy, there are no external dependencies.\n\ngevent is tested on Windows, macOS, and Linux, and should run on most\nother Unix-like operating systems (e.g., FreeBSD, Solaris, etc.)\n\n.. note::\n\n Windows is supported as a tier 2, \"best effort,\" platform. It is\n suitable for development, but not recommended for production. In\n particular, PyPy3 on Windows may have issues, especially with\n subprocesses.\n\n On Windows using the deprecated libev backend, gevent is\n limited to a maximum of 1024 open sockets due to\n `limitations in libev`_. This limitation should not exist\n with the default libuv backend.\n\nOlder Versions of Python\n------------------------\n\nUsers of older versions of Python 2 or Python 3 may install an older\nversion of gevent. Note that these versions are generally not\nsupported.\n\n+-------+-------+\n|Python |Gevent |\n|Version|Version|\n+=======+=======+\n|2.5 |1.0.x |\n| | |\n+-------+-------+\n|2.6 |1.1.x |\n+-------+-------+\n|<= |1.2.x |\n|2.7.8 | |\n+-------+-------+\n|3.3 |1.2.x |\n+-------+-------+\n|3.4.0 -| 1.3.x |\n|3.4.2 | |\n| | |\n+-------+-------+\n|3.4.3 | 1.4.x |\n| | |\n| | |\n+-------+-------+\n|3.5.x | 20.9.0|\n| | |\n| | |\n+-------+-------+\n\nInstallation\n============\n\n.. note::\n\n This section is about installing released versions of gevent as\n distributed on the `Python Package Index`_. For building gevent\n from source, including customizing the build and embedded\n libraries, see `Installing From Source`_.\n\n.. _Python Package Index: http://pypi.org/project/gevent\n\ngevent and greenlet can both be installed with `pip`_, e.g., ``pip\ninstall gevent``. Installation using `buildout\n<http://docs.buildout.org/en/latest/>`_ is also supported.\n\nOn Windows, macOS, and Linux, both gevent and greenlet are\ndistributed as binary `wheels`_.\n\n.. tip::\n\n You need Pip 8.0 or later, or buildout 2.10.0 to install the binary\n wheels on Windows or macOS. On Linux, you'll need `pip 19\n <https://github.com/pypa/pip/pull/5008>`_ to install the\n manylinux2010 wheels.\n\n.. tip::\n\n Binary wheels cannot be installed on non-manylinux2010 compatible\n Linux systems, such as those that use `musl\n <https://musl.libc.org>`_, including `Alpine Linux\n <https://alpinelinux.org>`_. Those systems must install from source.\n\n.. tip::\n\n Beginning with gevent 20.12.0, 64-bit ARM binaries are distributed\n on PyPI for aarch64 manylinux2014 compatible systems. Installing these\n needs a very recent version of ``pip``. These wheels *do not*\n contain the c-ares resolver, are not tested, and are built with\n very low levels of optimizations. Serious production users of\n gevent on 64-bit ARM systems are encouraged to build their own\n binary wheels.\n\n Beginning with gevent 22.10.0, ppc64le binaries are distributed on\n PyPI. The same caveats apply as for 64-bit ARM binaries. Using them\n for anything other than local development is discouraged.\n\n\nInstalling From Source\n----------------------\n\nIf you are unable to use the binary wheels (for platforms where no\npre-built wheels are available or if wheel installation is disabled),\nyou can build gevent from source. A normal ``pip install`` will\nfall back to doing this if no binary wheel is available. See\n`Installing From Source`_ for more, including common installation issues.\n\nExtra Dependencies\n==================\n\nThere are a number\nof additional libraries that extend gevent's functionality and will be\nused if they are available. All of these may be installed using\n`setuptools extras\n<https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies>`_,\nas named below, e.g., ``pip install gevent[events]``.\n\nevents\n In versions of gevent up to and including 20.5.0, this provided configurable\n event support using `zope.event\n <https://pypi.org/project/zope.event>`_ and was highly\n recommended.\n\n In versions after that, this extra is empty and does nothing. It\n will be removed in gevent 21.0.\n\ndnspython\n Enables a pure-Python resolver, backed by `dnspython\n <https://pypi.org/project/dnspython>`_. On Python 2, this also\n includes `idna <https://pypi.org/project/idna>`_. They can be\n installed with the ``dnspython`` extra.\n\n .. note:: This is not compatible with Python 3.10 or dnspython 2.\n\nmonitor\n Enhancements to gevent's self-monitoring capabilities. This\n includes the `psutil <https://pypi.org/project/psutil>`_ library\n which is needed to monitor memory usage. (Note that this may not\n build on all platforms.)\n\nrecommended\n A shortcut for installing suggested extras together. This includes\n the non-test extras defined here, plus:\n\n - `backports.socketpair\n <https://pypi.org/project/backports.socketpair/>`_ on Python\n 2/Windows (beginning with release 20.6.0);\n - `selectors2 <https://pypi.org/project/selectors2/>`_ on Python 2 (beginning with release 20.6.0).\n\ntest\n Everything needed to run the complete gevent test suite.\n\n\n.. _`pip`: https://pip.pypa.io/en/stable/installing/\n.. _`wheels`: http://pythonwheels.com\n.. _`gevent 1.5`: whatsnew_1_5.html\n.. _`Installing From Source`: https://www.gevent.org/development/installing_from_source.html\n\n.. _`cffi`: https://cffi.readthedocs.io\n.. _`limitations in libev`: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#WIN32_PLATFORM_LIMITATIONS_AND_WORKA\n\n\n.. _bug tracker: https://github.com/gevent/gevent/issues\n.. _mailing list: http://groups.google.com/group/gevent\n.. _blog: https://dev.nextthought.com/blog/categories/gevent.html\n.. _twitter (@gevent): http://twitter.com/gevent\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Coroutine-based network library",
"version": "22.10.1",
"split_keywords": [
"greenlet",
"coroutine",
"cooperative",
"multitasking",
"light",
"threads",
"monkey"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ce7372472a814cd196245e8f77b56dbcee0c8accf20383f7cf938dd0ae1e13b9",
"md5": "0ef1de77bb377948ee42f486df34253f",
"sha256": "ff9714ca2c7a289d6488908d29644d29fe054caff377cbf9f8b9a8f5d241cd4f"
},
"downloads": -1,
"filename": "cleep_gevent-22.10.1-cp37-cp37m-linux_armv7l.whl",
"has_sig": false,
"md5_digest": "0ef1de77bb377948ee42f486df34253f",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5",
"size": 2779312,
"upload_time": "2023-02-08T14:24:38",
"upload_time_iso_8601": "2023-02-08T14:24:38.672245Z",
"url": "https://files.pythonhosted.org/packages/ce/73/72472a814cd196245e8f77b56dbcee0c8accf20383f7cf938dd0ae1e13b9/cleep_gevent-22.10.1-cp37-cp37m-linux_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3755d695f07d6094e7d9d7e707a6979ae56ab37085c4066c2efad7cb17f5b0b9",
"md5": "11fe8997f5b3079d064fd6f1babb4b94",
"sha256": "488ba4f8083c39a130067cfd2bb4120d143912c1d80fba169c84f47ec3c0eb5d"
},
"downloads": -1,
"filename": "cleep-gevent-22.10.1.tar.gz",
"has_sig": false,
"md5_digest": "11fe8997f5b3079d064fd6f1babb4b94",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5",
"size": 6479266,
"upload_time": "2023-02-08T14:24:42",
"upload_time_iso_8601": "2023-02-08T14:24:42.758213Z",
"url": "https://files.pythonhosted.org/packages/37/55/d695f07d6094e7d9d7e707a6979ae56ab37085c4066c2efad7cb17f5b0b9/cleep-gevent-22.10.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-08 14:24:42",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "cleep-gevent"
}