eventlet
Highly concurrent networking library
What it is and what it does
Eventlet is a concurrent networking library that lets you write network code in a blocking style while gaining the scalability benefits of non-blocking I/O through coroutines and greenlets. It uses epoll or libevent under the hood to handle many concurrent connections efficiently. The library has been around since its early releases but is now in maintenance-only mode: the maintainers explicitly discourage new projects from adopting it and recommend using asyncio instead, which is now part of the Python standard library. Eventlet will only receive stability and bug fixes going forward, with no new features except those supporting migration to asyncio. If you're starting a new project, the maintainers suggest using asyncio; if you already depend on eventlet, the project provides migration guidance.
Use it for:
- Maintaining or extending existing eventlet-based applications that predate asyncio adoption
- Running legacy network services that were built with eventlet's coroutine model
- Gradual migration of eventlet code to asyncio using the project's migration tools
- Educational exploration of how coroutine-based concurrency works before moving to asyncio
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Eventlet provides concurrent network programming using coroutines and non-blocking I/O, allowing you to write blocking-style code that runs with the scalability of async operations.
No for new projects—the maintainers explicitly discourage new usage and recommend asyncio instead. Yes-with-conditions if you are already maintaining eventlet code and need stability fixes or are actively migrating to asyncio. The library is actively maintained for bug fixes but will not receive new features, and retirement is planned.
Install
eventlet on PyPI
pip
pip install eventletuv
uv add eventletpoetry
poetry add eventletInstalling eventlet
Before you install
Low friction installation with only two runtime dependencies (dnspython, greenlet). Actively maintained as of the latest release, though the project explicitly discourages new usage and is planning eventual retirement.
License in practice
MIT license is permissive and imposes no significant restrictions on use, modification, or distribution.
Quickstart
pip install eventlet
import eventlet
from eventlet import spawn
def hello():
print('Hello from greenlet')
spawn(hello).wait()
Requires Python 3.10 or later.
Verify before relying
- Whether existing eventlet codebases can be migrated to asyncio without major rewrites
- Performance characteristics compared to native asyncio in modern Python versions
- Timeline and concrete plan for eventlet's retirement
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — dnspython, greenlet |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,514,505/month — #1,729 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: eventlet-0.41.2-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
greenletGreenlet provides lightweight coroutines for…
permissive · top 100 on PyPI
trytondTrytond is the server component of Tryton, an…
copyleft · top 15,000 on PyPI
grequestsGRequests wraps the requests library with…
permissive · top 15,000 on PyPI
mode-streamingMode is a minimal asyncio library that lets you…
permissive · top 15,000 on PyPI
relrel is a cross-platform asynchronous event…
permissive · top 15,000 on PyPI
psycogreenIntegrates psycopg2 with coroutine libraries…
permissive · top 5,000 on PyPI
tornadoTornado is a Python web framework and…
permissive · top 1,000 on PyPI
aioprocessingProvides asyncio-compatible wrappers around…
permissive · top 15,000 on PyPI
asyncioThis package is an obsolete backport of…
permissive · top 1,000 on PyPI
cloudeventsProvides Python primitives to create,…
permissive · top 5,000 on PyPI