Name | eventlet JSON |
Version |
0.38.0
JSON |
| download |
home_page | None |
Summary | Highly concurrent networking library |
upload_time | 2024-11-19 09:01:38 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
Warning
=======
**New usages of eventlet are now heavily discouraged! Please read the
following.**
Eventlet was created almost 18 years ago, at a time where async
features were absent from the CPython stdlib. With time eventlet evolved and
CPython too, but since several years the maintenance activity of eventlet
decreased leading to a growing gap between eventlet and the CPython
implementation.
This gap is now too high and can lead you to unexpected side effects and bugs
in your applications.
Eventlet now follows a new maintenance policy. **Only maintenance for
stability and bug fixing** will be provided. **No new features will be
accepted**, except those related to the asyncio migration. **Usages in new
projects are discouraged**. **Our goal is to plan the retirement of eventlet**
and to give you ways to move away from eventlet.
If you are looking for a library to manage async network programming,
and if you do not yet use eventlet, then, we encourage you to use `asyncio`_,
which is the official async library of the CPython stdlib.
If you already use eventlet, we hope to enable migration to asyncio for some use
cases; see `Migrating off of Eventlet`_. Only new features related to the migration
solution will be accepted.
If you have questions concerning maintenance goals or concerning
the migration do not hesitate to `open a new issue`_, we will be happy to
answer them.
.. _asyncio: https://docs.python.org/3/library/asyncio.html
.. _open a new issue: https://github.com/eventlet/eventlet/issues/new
.. _Migrating off of Eventlet: https://eventlet.readthedocs.io/en/latest/asyncio/migration.html#migration-guide
Eventlet
========
.. image:: https://img.shields.io/pypi/v/eventlet
:target: https://pypi.org/project/eventlet/
.. image:: https://img.shields.io/github/actions/workflow/status/eventlet/eventlet/test.yaml?branch=master
:target: https://github.com/eventlet/eventlet/actions?query=workflow%3Atest+branch%3Amaster
.. image:: https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg
:target: https://codecov.io/gh/eventlet/eventlet
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it.
It uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application.
It's easy to get started using Eventlet, and easy to convert existing
applications to use it. Start off by looking at the `examples`_,
`common design patterns`_, and the list of `basic API primitives`_.
.. _examples: https://eventlet.readthedocs.io/en/latest/examples.html
.. _common design patterns: https://eventlet.readthedocs.io/en/latest/design_patterns.html
.. _basic API primitives: https://eventlet.readthedocs.io/en/latest/basic_usage.html
Getting Eventlet
================
The easiest way to get Eventlet is to use pip::
pip install -U eventlet
To install latest development version once::
pip install -U https://github.com/eventlet/eventlet/archive/master.zip
Building the Docs Locally
=========================
To build a complete set of HTML documentation::
tox -e docs
The built html files can be found in doc/build/html afterward.
Supported Python versions
=========================
Python 3.7-3.13 are currently supported.
Raw data
{
"_id": null,
"home_page": null,
"name": "eventlet",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Sergey Shepelev <temotor@gmail.com>, Jakub Stasiak <jakub@stasiak.at>, Tim Burke <tim.burke@gmail.com>, Nat Goodspeed <nat@lindenlab.com>, Itamar Turner-Trauring <itamar@itamarst.org>, Herv\u00e9 Beraud <hberaud@redhat.com>",
"download_url": "https://files.pythonhosted.org/packages/98/fb/a05ad8e64fefa1bc0db125e8721bfc0a9690355af1ca2784d776ae61cc9a/eventlet-0.38.0.tar.gz",
"platform": null,
"description": "Warning\n=======\n\n**New usages of eventlet are now heavily discouraged! Please read the\nfollowing.**\n\nEventlet was created almost 18 years ago, at a time where async\nfeatures were absent from the CPython stdlib. With time eventlet evolved and\nCPython too, but since several years the maintenance activity of eventlet\ndecreased leading to a growing gap between eventlet and the CPython\nimplementation.\n\nThis gap is now too high and can lead you to unexpected side effects and bugs\nin your applications.\n\nEventlet now follows a new maintenance policy. **Only maintenance for\nstability and bug fixing** will be provided. **No new features will be\naccepted**, except those related to the asyncio migration. **Usages in new\nprojects are discouraged**. **Our goal is to plan the retirement of eventlet**\nand to give you ways to move away from eventlet.\n\nIf you are looking for a library to manage async network programming,\nand if you do not yet use eventlet, then, we encourage you to use `asyncio`_,\nwhich is the official async library of the CPython stdlib.\n\nIf you already use eventlet, we hope to enable migration to asyncio for some use\ncases; see `Migrating off of Eventlet`_. Only new features related to the migration\nsolution will be accepted.\n\nIf you have questions concerning maintenance goals or concerning\nthe migration do not hesitate to `open a new issue`_, we will be happy to\nanswer them.\n\n.. _asyncio: https://docs.python.org/3/library/asyncio.html\n.. _open a new issue: https://github.com/eventlet/eventlet/issues/new\n.. _Migrating off of Eventlet: https://eventlet.readthedocs.io/en/latest/asyncio/migration.html#migration-guide\n\nEventlet\n========\n\n.. image:: https://img.shields.io/pypi/v/eventlet\n :target: https://pypi.org/project/eventlet/\n\n.. image:: https://img.shields.io/github/actions/workflow/status/eventlet/eventlet/test.yaml?branch=master\n :target: https://github.com/eventlet/eventlet/actions?query=workflow%3Atest+branch%3Amaster\n\n.. image:: https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/eventlet/eventlet\n\n\nEventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it.\n\nIt uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application.\n\nIt's easy to get started using Eventlet, and easy to convert existing\napplications to use it. Start off by looking at the `examples`_,\n`common design patterns`_, and the list of `basic API primitives`_.\n\n.. _examples: https://eventlet.readthedocs.io/en/latest/examples.html\n.. _common design patterns: https://eventlet.readthedocs.io/en/latest/design_patterns.html\n.. _basic API primitives: https://eventlet.readthedocs.io/en/latest/basic_usage.html\n\n\nGetting Eventlet\n================\n\nThe easiest way to get Eventlet is to use pip::\n\n pip install -U eventlet\n\nTo install latest development version once::\n\n pip install -U https://github.com/eventlet/eventlet/archive/master.zip\n\n\nBuilding the Docs Locally\n=========================\n\nTo build a complete set of HTML documentation::\n\n tox -e docs\n\nThe built html files can be found in doc/build/html afterward.\n\nSupported Python versions\n=========================\n\nPython 3.7-3.13 are currently supported.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Highly concurrent networking library",
"version": "0.38.0",
"project_urls": {
"Documentation": "https://eventlet.readthedocs.io/",
"History": "https://github.com/eventlet/eventlet/blob/master/NEWS",
"Homepage": "https://github.com/eventlet/eventlet",
"Source": "https://github.com/eventlet/eventlet",
"Tracker": "https://github.com/eventlet/eventlet/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6b03f971d61c3fd6203e7ba1daaf478f0d6073e83c87e33a507e8f380d8e23b4",
"md5": "2050babf7eb96608b66d7d34c7263b13",
"sha256": "d7d457c7d0e793b16bc3f44da1e87eb48639b655c17dc430294d28cc2c67de81"
},
"downloads": -1,
"filename": "eventlet-0.38.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2050babf7eb96608b66d7d34c7263b13",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 362328,
"upload_time": "2024-11-19T09:01:36",
"upload_time_iso_8601": "2024-11-19T09:01:36.091669Z",
"url": "https://files.pythonhosted.org/packages/6b/03/f971d61c3fd6203e7ba1daaf478f0d6073e83c87e33a507e8f380d8e23b4/eventlet-0.38.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "98fba05ad8e64fefa1bc0db125e8721bfc0a9690355af1ca2784d776ae61cc9a",
"md5": "f6fd97cd80f8d836969a7d95029aebd2",
"sha256": "a5df970a2431526e4973bd5810bb8c41aa4da18baa531aa18799302c24e19510"
},
"downloads": -1,
"filename": "eventlet-0.38.0.tar.gz",
"has_sig": false,
"md5_digest": "f6fd97cd80f8d836969a7d95029aebd2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 559783,
"upload_time": "2024-11-19T09:01:38",
"upload_time_iso_8601": "2024-11-19T09:01:38.488579Z",
"url": "https://files.pythonhosted.org/packages/98/fb/a05ad8e64fefa1bc0db125e8721bfc0a9690355af1ca2784d776ae61cc9a/eventlet-0.38.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-19 09:01:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eventlet",
"github_project": "eventlet",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "eventlet"
}