Package: levoai-gevent
geventgevent is acoroutine-basedPythonnetworking library that usesgreenletto provide a high-level synchronous API on top of thelibevorlibuvevent loop.Features include:Fast event loop based onlibevorlibuv.Lightweight execution units based on greenlets.API that re-uses concepts from the Python standard library (for
examples there areeventsandqueues).Cooperative sockets with SSL supportCooperative DNS queriesperformed through a threadpool,
dnspython, or c-ares.Monkey patching utilityto get 3rd party modules to become cooperativeTCP/UDP/HTTP serversSubprocess support (throughgevent.subprocess)Thread poolsgevent isinspired by eventletbut features a more consistent API,
simpler implementation and better performance. Read why othersuse
geventand check out the list of theopen source projects based on
gevent.gevent was written byDenis Bilenko.Since version 1.1, gevent is maintained by Jason Madden forNextThoughtwith help from thecontributorsand is licensed under the MIT license.Seewhat’s newin the latest major release.Check out the detailedchangelogfor this version.Read the documentation online athttp://www.gevent.org.Post issues on thebug tracker, discuss and ask open ended
questions on themailing list, and find announcements and
information on theblogandtwitter (@gevent).Installation and RequirementsNoteIf you are reading this document on thePython 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 PlatformsThis 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 insetup.py). gevent requires thegreenletlibrary and will install thecffilibrary 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.)NoteWindows 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 tolimitations in libev. This limitation should not exist
with the default libuv backend.Older Versions of PythonUsers 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
VersionGevent
Version2.51.0.x2.61.1.x<=
2.7.81.2.x3.31.2.x3.4.0 -
3.4.21.3.x3.4.31.4.x3.5.x20.9.0InstallationNoteThis section is about installing released versions of gevent as
distributed on thePython Package Index. For building gevent
from source, including customizing the build and embedded
libraries, seeInstalling From Source.gevent and greenlet can both be installed withpip, e.g.,pip install gevent. Installation usingbuildoutis also supported.On Windows, macOS, and Linux, both gevent and greenlet are
distributed as binarywheels.TipYou need Pip 8.0 or later, or buildout 2.10.0 to install the binary
wheels on Windows or macOS. On Linux, you’ll needpip 19to install the
manylinux2010 wheels.TipBinary wheels cannot be installed on non-manylinux2010 compatible
Linux systems, such as those that usemusl, includingAlpine Linux. Those systems must install from source.TipBeginning 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 ofpip. These wheelsdo notcontain 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 SourceIf 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 normalpip installwill
fall back to doing this if no binary wheel is available. SeeInstalling From Sourcefor more, including common installation issues.Extra DependenciesThere 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 usingsetuptools extras,
as named below, e.g.,pip install gevent[events].eventsIn versions of gevent up to and including 20.5.0, this provided configurable
event support usingzope.eventand was highly
recommended.In versions after that, this extra is empty and does nothing. It
will be removed in gevent 21.0.dnspythonEnables a pure-Python resolver, backed bydnspython. On Python 2, this also
includesidna. They can be
installed with thednspythonextra.NoteThis is not compatible with Python 3.10 or dnspython 2.monitorEnhancements to gevent’s self-monitoring capabilities. This
includes thepsutillibrary
which is needed to monitor memory usage. (Note that this may not
build on all platforms.)recommendedA shortcut for installing suggested extras together. This includes
the non-test extras defined here, plus:backports.socketpairon Python
2/Windows (beginning with release 20.6.0);selectors2on Python 2 (beginning with release 20.6.0).testEverything needed to run the complete gevent test suite.