What is gevent?
It is a coroutine -based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev or libuv event loop.
gevent is a tool in the Web Servers category of a tech stack.
gevent is an open source tool with GitHub stars and GitHub forks. Here’s a link to gevent's open source repository on GitHub
Who uses gevent?
3 companies reportedly use gevent in their tech stacks, including 1000mercis, Blue Shell Games, and Toshokan BV.
9 developers on StackShare have stated that they use gevent.
- 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
- Cooperative DNS queries performed through a threadpool, dnspython, or c-ares
- Monkey patching utility to get 3rd party modules to become cooperative
- TCP/UDP/HTTP servers
- Subprocess support (through gevent.subprocess)
- Thread pools
gevent Alternatives & Comparisons
What are some alternatives to gevent?
See all alternatives
This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.
Gunicorn is a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.
By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Twisted is an event-driven networking engine written in Python and licensed under the open source MIT license. Twisted runs on Python 2 and an ever growing subset also works with Python 3. Twisted also supports many common network protocols, including SMTP, POP3, IMAP, SSHv2, and DNS.
Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.