Skip to content

Update maintenance goals#850

Merged
4383 merged 1 commit intoeventlet:masterfrom
4383:maintenance-goals
Jan 15, 2024
Merged

Update maintenance goals#850
4383 merged 1 commit intoeventlet:masterfrom
4383:maintenance-goals

Conversation

@4383
Copy link
Copy Markdown
Member

@4383 4383 commented Dec 19, 2023

See the commit message for more details.

Fix #835

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 19, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (6441021) 53% compared to head (a674d89) 61%.
Report is 23 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff            @@
##           master    #850     +/-   ##
========================================
+ Coverage      53%     61%     +7%     
========================================
  Files          88      89      +1     
  Lines        9869   12075   +2206     
  Branches     1848    2825    +977     
========================================
+ Hits         5325    7449   +2124     
- Misses       4156    4205     +49     
- Partials      388     421     +33     
Flag Coverage Δ
ipv6 27% <ø> (+4%) ⬆️
py310asyncio 51% <ø> (?)
py310epolls 59% <ø> (+7%) ⬆️
py310poll 52% <ø> (ø)
py310selects 59% <ø> (+7%) ⬆️
py311epolls 59% <ø> (+7%) ⬆️
py312asyncio 49% <ø> (?)
py312epolls 57% <ø> (+6%) ⬆️
py37epolls 57% <ø> (+7%) ⬆️
py38epolls 59% <ø> (+7%) ⬆️
py38openssl 50% <ø> (+<1%) ⬆️
py38poll ?
py38selects 52% <ø> (+<1%) ⬆️
py39dnspython1 50% <ø> (-1%) ⬇️
py39epolls ?
py39poll 52% <ø> (-1%) ⬇️
py39selects 59% <ø> (+7%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

The built html files can be found in doc/_build/html afterward.


Twisted
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The 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.


Python 3.7-3.12 are currently supported.

Flair
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

badges are more useful at the beginning of README files

README.rst Outdated
.. image:: https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg
:target: https://codecov.io/gh/eventlet/eventlet

.. warning::
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like rst notes and warnings [1] are not recognized by github's rendering engine. Do you think we should simply bold the following sentence?

[1] https://sublime-and-sphinx-guide.readthedocs.io/en/latest/notes_warnings.html

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about a) make "Warning" a chapter header? b) move this even in front of the "Eventlet" chapter? After all, this likely is the most important information on this page for anyone reading this doc for the first time.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. I'll update the patch to match your proposal. Will do that after my PTO.

README.rst Outdated

.. 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
Eventlet was created almost 18 years ago, at a time where async features
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is important enough that I would either move it to the top, or add a sentence to the top saying "New usages of eventlet are now heavily discouraged, see below for details."

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, I'll rework that part.

@itamarst
Copy link
Copy Markdown
Contributor

I assume you only want to merge this in January, per comments on the issue?

@4383 4383 force-pushed the maintenance-goals branch from 8e3704b to 95108e2 Compare December 19, 2023 15:23
@4383
Copy link
Copy Markdown
Member Author

4383 commented Dec 19, 2023

I assume you only want to merge this in January, per comments on the issue?

Absolutely, however, I prefer to publicly designing this pull request starting now, to allow people to see our intentions well before merging this patch.

I'll drop the WIP flag early in January. Is it ok for you?

@4383 4383 force-pushed the maintenance-goals branch from 95108e2 to 43c7130 Compare December 19, 2023 15:55
@4383 4383 mentioned this pull request Jan 10, 2024
10 tasks
@itamarst
Copy link
Copy Markdown
Contributor

If you do another pass we can include this in next release?

@4383
Copy link
Copy Markdown
Member Author

4383 commented Jan 11, 2024

Yes, that's what I was thinking.

I was thinking that the next release would be related to the hub and to our new maintenance goals.

May, with the next release, we can provide a major version. A version 1.0. That would highlight the stable character related to our new maintenance goal (only bugfixes, and security stuffs allowed). Also that would provide a strong signal at destination to the community to socialize the new asyncio hub.

@itamarst : Any opinion?

@4383
Copy link
Copy Markdown
Member Author

4383 commented Jan 12, 2024

I'm currently updating this pull request. I take account of your remarks and I'm now rewriting sentences to speak about the new asyncio hub. I'll push my changes today.

@4383 4383 force-pushed the maintenance-goals branch from 43c7130 to 74c9aa9 Compare January 12, 2024 10:58
@4383 4383 changed the title [WIP] Update maintenance goals Update maintenance goals Jan 12, 2024
@4383 4383 force-pushed the maintenance-goals branch from 74c9aa9 to 290fda6 Compare January 12, 2024 11:03
@4383
Copy link
Copy Markdown
Member Author

4383 commented Jan 12, 2024

I'm currently updating this pull request. I take account of your remarks and I'm now rewriting sentences to speak about the new asyncio hub. I'll push my changes today.

done

@4383 4383 requested review from itamarst and osfrickler January 12, 2024 12:50
Copy link
Copy Markdown
Contributor

@itamarst itamarst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few minor suggestions, then merge — thank you!

README.rst Outdated
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, a new asyncio hub has been recently added to
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would omit this paragraph for now, since:

  1. This hub is still very minimally tested. I would like e.g. a few OpenStack projects to run their test suites, at an absolute minimum.
  2. Merely using the hub doesn't help with migration, there's a bunch of additional infrastructure (in progress) and documentation needed.
  3. Some users can't realistically migrate this way. In particular there's projects like Celery that specifically rely on having an API that looks blocking, so "rewrite with asyncio" doesn't meet that use case. Might be a bad desire, but it's still a different case than OpenStack. So I suspect we'll want different advice for different users ("you can use gevent, although we believe it will have similar issues" for celery-like users I guess).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good points, let me drop that sentence.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think if we reword this sentence to simply indicate that we are thinking about a migration plan?
Maybe would should less formal about the existence of this feature, but we could simply indicate that we are looking for a solution to allow user migrating from eventlet to asyncio without much details for now, thoughts?

doc/index.rst Outdated
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, a new asyncio hub has been recently added to
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same thing, I would delete this paragraph for now.

@@ -1,3 +1,55 @@
Warning
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

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 ...

Copy link
Copy Markdown
Member Author

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.

- Discourage new eventlet usages
- Encourage usages of asyncio for network programming
- Speak about our intentions to allow transitions from eventlet to asyncio
- Highlight our plan to retire eventlet
- Maintenance only for bugfixes and security purposes
- New features are not accepted
@4383 4383 force-pushed the maintenance-goals branch from 290fda6 to a674d89 Compare January 12, 2024 15:46
@4383
Copy link
Copy Markdown
Member Author

4383 commented Jan 12, 2024

@itamarst: Let me know if the latest version of this patch is ok for you, especially the reword of the asyncio hub sentence.

Copy link
Copy Markdown

@osfrickler osfrickler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with this as is and I think it is more important to get this merged than to discuss details of formatting and wording, so please read my comments more as ideas for a possible followup.


**Eventlet is now switching to legacy mode**. **Only maintenance for stability
and bug fixing** will be provided. **No new features will be accepted**, except
those related to the asyncio migration. **Usage in new projects are
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either "Usage in new projects is ..." or "Usages in new projects are ..."

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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Eventlet has now been switched to legacy mode"?


Quick Example
===============
=============
Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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.

@4383 4383 merged commit 7662654 into eventlet:master Jan 15, 2024
@4383 4383 deleted the maintenance-goals branch January 15, 2024 08:58
@4383 4383 mentioned this pull request Jan 18, 2024
pajod added a commit to pajod/gunicorn that referenced this pull request Mar 18, 2025
Gunicorn should discourage new usages accordingly, see
eventlet/eventlet#850
pajod added a commit to pajod/gunicorn that referenced this pull request Jan 22, 2026
Gunicorn should discourage new usages accordingly, see
eventlet/eventlet#850
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decide on maintenance goals, and document status for users

3 participants