--- id: eventlet version: "0.41.2" license: MIT license_treatment: permissive maintenance: active --- # eventlet — Highly concurrent networking library License: permissive · Maintenance: active · Downloads: 7.5M/mo ## 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 above — 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 pip install eventlet uv add eventlet poetry add eventlet ## Installing 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_current - Install friction: low - Maintenance: active - Downloads: 7.5M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags concurrent networking library, coroutine-based async I/O, non-blocking network programming, greenlet-based concurrency, epoll libevent wrapper, scalable event-driven networking, legacy-async, coroutine-based, deprecation-path [View on SkillFed](https://skillfed.io/packages/eventlet) · [View on PyPI](https://pypi.org/project/eventlet/)