Skip to content
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

Removing Python 2 support from 0.13 #1193

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

defnull
Copy link
Member

@defnull defnull commented Jan 1, 2020

This is the integration branch for python 2 removal. Please submit pull requests against this branch and discuss the entire process here.

@defnull defnull added the Change Neigher a bug nor a freature, but something that needs to be addressed. label Jan 1, 2020
@defnull defnull added this to the Release 0.13 milestone Jan 1, 2020
@defnull defnull self-assigned this Jan 1, 2020
@defnull
Copy link
Member Author

defnull commented Jan 1, 2020

Since Bottle-0.12 will be the last release supporting Python 2 (2.5+ actually) and very old versions of Python 3 (3.2+), it will become an LTS release and will be maintained (security patches only) for a bit longer than usual. This allows us to drop support for old python versions without hurting existing users too much.

I'm thinking about skipping 0.13 and move forward to 0.14 in a single step to make it more clear that there are breaking changes this time. Spamming all 0.12/Py2 users with a deprecation warning is a bit too much I think. Some people can't update, even if they want to.

@oz123
Copy link
Contributor

oz123 commented Jan 1, 2020

@defnull this is very welcome. According to your own roadmap the aren't many blocking issues for 0.13. but it's been so long since the first map was written I'm not sure it's even relevant.
It's a good sign for people to get a new release out. Please go ahead and do this ASAP.

@oz123
Copy link
Contributor

oz123 commented Jan 1, 2020

@defnull also, please remove the classification from setup.py

'Programming Language :: Python :: 2.7',
.

You should also drop python 3.4. it's no longer maintained.

@stigok
Copy link

stigok commented Jan 3, 2020

Also remember to remove unsupported targets from the root Makefile.
Edit: Or maybe keeping those if the plan is to have 2.7 in an LTS state.

@defnull
Copy link
Member Author

defnull commented Jan 3, 2020

The release-0.12 branch has its own Makefile and test suite. We can remove any trace of 2.7 or 3.4 support from the master branch.

@cclauss
Copy link
Contributor

cclauss commented Dec 31, 2020

It has been a year... Conflicts.

@defnull
Copy link
Member Author

defnull commented Jan 1, 2021

Yes, it probably wasn't the best idea to start with this before 2.7 is actually EOL and expect that there are no conflicts.

@SergBobrovsky
Copy link
Contributor

All declarations like

class A(object):

may be reduced to

class A:

@cclauss
Copy link
Contributor

cclauss commented Jan 1, 2021

@SergBobrovsky That is an optional change but can be automated via tools like https://github.com/asottile/pyupgrade

@SergBobrovsky
Copy link
Contributor

remove

from __future__ import print_function

@cclauss
Copy link
Contributor

cclauss commented Jan 1, 2021

Also automated by pyupgrade. Give it a try to see the changes that it would make.

@clavedeluna
Copy link
Contributor

Hey @defnull what's the status on this work? I'm happy to contribute but I saw your comment elsewhere stating you'd prefer this be done in smaller pieces?

@@ -7,7 +7,7 @@ jobs:
strategy:
max-parallel: 5
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
python-version: [3.5, 3.6, 3.7, 3.8]
Copy link
Contributor

Choose a reason for hiding this comment

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

at this point, according to https://endoflife.date/python, 3.5 and 3.6 can be dropped too, though we may want to drop that later on

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Change Neigher a bug nor a freature, but something that needs to be addressed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants