| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- Metadata-Version: 2.1
- Name: gevent
- Version: 21.12.0
- Summary: Coroutine-based network library
- Home-page: http://www.gevent.org/
- Author: Denis Bilenko
- Author-email: denis.bilenko@gmail.com
- Maintainer: Jason Madden
- Maintainer-email: jason@nextthought.com
- License: MIT
- Project-URL: Bug Tracker, https://github.com/gevent/gevent/issues
- Project-URL: Source Code, https://github.com/gevent/gevent/
- Project-URL: Documentation, http://www.gevent.org
- Keywords: greenlet coroutine cooperative multitasking light threads monkey
- Platform: UNKNOWN
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Programming Language :: Python :: 2.7
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: Implementation :: CPython
- Classifier: Programming Language :: Python :: Implementation :: PyPy
- Classifier: Operating System :: MacOS :: MacOS X
- Classifier: Operating System :: POSIX
- Classifier: Operating System :: Microsoft :: Windows
- Classifier: Topic :: Internet
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
- Classifier: Intended Audience :: Developers
- Classifier: Development Status :: 4 - Beta
- Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5
- Description-Content-Type: text/x-rst
- License-File: LICENSE
- License-File: NOTICE
- License-File: AUTHORS
- Requires-Dist: zope.event
- Requires-Dist: zope.interface
- Requires-Dist: setuptools
- Requires-Dist: greenlet (<2.0,>=1.1.0) ; platform_python_implementation == "CPython"
- Requires-Dist: cffi (>=1.12.2) ; platform_python_implementation == "CPython" and sys_platform == "win32"
- Provides-Extra: dnspython
- Requires-Dist: dnspython (<2.0,>=1.16.0) ; (python_version < "3.10") and extra == 'dnspython'
- Requires-Dist: idna ; (python_version < "3.10") and extra == 'dnspython'
- Provides-Extra: docs
- Requires-Dist: repoze.sphinx.autointerface ; extra == 'docs'
- Requires-Dist: sphinxcontrib-programoutput ; extra == 'docs'
- Requires-Dist: zope.schema ; extra == 'docs'
- Provides-Extra: events
- Provides-Extra: monitor
- Requires-Dist: psutil (>=5.7.0) ; (sys_platform != "win32" or platform_python_implementation == "CPython") and extra == 'monitor'
- Provides-Extra: recommended
- Requires-Dist: cffi (>=1.12.2) ; (platform_python_implementation == "CPython") and extra == 'recommended'
- Requires-Dist: dnspython (<2.0,>=1.16.0) ; (python_version < "3.10") and extra == 'recommended'
- Requires-Dist: idna ; (python_version < "3.10") and extra == 'recommended'
- Requires-Dist: selectors2 ; (python_version == "2.7") and extra == 'recommended'
- Requires-Dist: backports.socketpair ; (python_version == "2.7" and sys_platform == "win32") and extra == 'recommended'
- Requires-Dist: psutil (>=5.7.0) ; (sys_platform != "win32" or platform_python_implementation == "CPython") and extra == 'recommended'
- Provides-Extra: test
- Requires-Dist: requests ; extra == 'test'
- Requires-Dist: objgraph ; extra == 'test'
- Requires-Dist: cffi (>=1.12.2) ; (platform_python_implementation == "CPython") and extra == 'test'
- Requires-Dist: dnspython (<2.0,>=1.16.0) ; (python_version < "3.10") and extra == 'test'
- Requires-Dist: idna ; (python_version < "3.10") and extra == 'test'
- Requires-Dist: selectors2 ; (python_version == "2.7") and extra == 'test'
- Requires-Dist: futures ; (python_version == "2.7") and extra == 'test'
- Requires-Dist: mock ; (python_version == "2.7") and extra == 'test'
- Requires-Dist: backports.socketpair ; (python_version == "2.7" and sys_platform == "win32") and extra == 'test'
- Requires-Dist: contextvars (==2.4) ; (python_version > "3.0" and python_version < "3.7") and extra == 'test'
- Requires-Dist: coverage (>=5.0) ; (sys_platform != "win32") and extra == 'test'
- Requires-Dist: coveralls (>=1.7.0) ; (sys_platform != "win32") and extra == 'test'
- Requires-Dist: psutil (>=5.7.0) ; (sys_platform != "win32" or platform_python_implementation == "CPython") and extra == 'test'
- ========
- 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.0 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.
- 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.
- 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
|