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?
Companies
9 companies reportedly use gevent in their tech stacks, including Spekit Platform, 1000mercis, and Blue Shell Games.
Developers
50 developers on StackShare have stated that they use gevent.
gevent's Features
- 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?
asyncio
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
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.
Tornado
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
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
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.