-
Notifications
You must be signed in to change notification settings - Fork 320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update maintenance goals #850
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,54 @@ | ||
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 | ||
dicreased 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 is now switching to legacy mode**. **Only maintenance for stability | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Eventlet has now been switched to legacy mode"? |
||
and bug fixing** will be provided. **No new features will be accepted**, except | ||
those related to the asyncio migration. **Usage in new projects are | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Either "Usage in new projects is ..." or "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, our goal is to allow you to smoothly migrate from | ||
eventlet to asyncio. We are currently thinking about solutions to | ||
make that kind of migrations possible. 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 | ||
.. _that_was_not_possible_before: https://github.com/eventlet/eventlet/issues/673#issuecomment-740429872 | ||
.. _open_a_new_issue: https://github.com/eventlet/eventlet/issues/new | ||
|
||
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. | ||
|
@@ -12,7 +63,7 @@ applications to use it. Start off by looking at the `examples`_, | |
|
||
|
||
Quick Example | ||
=============== | ||
============= | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IMO this example only serves to attract new uses, so I'd suggest to drop it completely, too. |
||
|
||
Here's something you can try right on the command line:: | ||
|
||
|
@@ -26,7 +77,7 @@ Here's something you can try right on the command line:: | |
|
||
|
||
Getting Eventlet | ||
================== | ||
================ | ||
|
||
The easiest way to get Eventlet is to use pip:: | ||
|
||
|
@@ -47,34 +98,7 @@ To build a complete set of HTML documentation, you must have Sphinx, which can b | |
|
||
The built html files can be found in doc/_build/html afterward. | ||
|
||
|
||
Twisted | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This section was added in 2014 and the twisted support have been removed since eventlet 0.14.0. We are now close to 2024, I think we can safely remove this section. The message have been passed. |
||
======= | ||
|
||
Eventlet had Twisted hub in the past, but community interest to this integration has dropped over time, | ||
now it is not supported, so with apologies for any inconvenience we discontinue Twisted integration. | ||
|
||
If you have a project that uses Eventlet with Twisted, your options are: | ||
|
||
* use last working release eventlet==0.14 | ||
* start a new project with only Twisted hub code, identify and fix problems. As of eventlet 0.13, `EVENTLET_HUB` environment variable can point to external modules. | ||
* fork Eventlet, revert Twisted removal, identify and fix problems. This work may be merged back into main project. | ||
|
||
Apologies for any inconvenience. | ||
|
||
Supported Python versions | ||
========================= | ||
|
||
Python 3.7-3.12 are currently supported. | ||
|
||
Flair | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. badges are more useful at the beginning of README files |
||
===== | ||
|
||
.. 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitHub actually has syntax for this: https://github.com/orgs/community/discussions/16925
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's not a markdown file, it is a restructredText file, and I don't think this syntaxe is supported by Pypi ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest keeping a compatible solution. The current proposed one.