eventlet


Nameeventlet JSON
Version 0.38.0 PyPI version JSON
download
home_pageNone
SummaryHighly concurrent networking library
upload_time2024-11-19 09:01:38
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
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"
}
        
Elapsed time: 1.15274s