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

Drop support for EOL Python #41

Merged
merged 8 commits into from
Nov 2, 2019
Merged

Drop support for EOL Python #41

merged 8 commits into from
Nov 2, 2019

Conversation

hugovk
Copy link
Contributor

@hugovk hugovk commented Mar 21, 2018

Fixes #46.

EOL Python versions are no longer supported by the core Python team and no longer receive security updates.

image

https://en.wikipedia.org/wiki/CPython#Version_history

They're also little used. Here's the pip installs for Blinker from PyPI for last month:

python_version percent download_count
2.7 50.71% 88,260
3.6 28.01% 48,749
3.5 14.50% 25,235
3.4 6.41% 11,153
3.3 0.17% 290
3.7 0.13% 234
2.6 0.08% 131
3.2 0.00% 2

Source: pypinfo --start-date -49 --end-date -22 --percent --pip --markdown Blinker pyversion

Dropping them eases the maintenance burden and allows more modern features of Python to be used, some of which is included here.

@hugovk
Copy link
Contributor Author

hugovk commented Jul 26, 2018

Updated to add python_requires to help pip, and upgrade Python syntax using https://github.com/asottile/pyupgrade.

Here's pip installs for June 2018:

python_version percent download_count
3.6 42.43% 69,300
2.7 38.80% 63,378
3.5 14.65% 23,924
3.4 3.72% 6,082
3.7 0.29% 468
3.3 0.05% 85
2.6 0.05% 74
3.2 0.01% 22
None 0.00% 2
3.8 0.00% 1
Total 163,336

Source: pypinfo --start-date 2018-06-01 --end-date 2018-06-30 --percent --markdown Blinker pyversion

Copy link
Contributor

@ThomasWaldmann ThomasWaldmann left a comment

Choose a reason for hiding this comment

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

looks good. just the jython/pypy versions need checking.

some stuff might be matter of taste (e.g. dict literals vs. using dict(x=...) or % vs. .format()).

README.md Outdated Show resolved Hide resolved
docs/source/index.rst Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
@hugovk
Copy link
Contributor Author

hugovk commented Oct 20, 2019

Checking in: is there anything more I can do for this? Thank you!

@RDIL
Copy link

RDIL commented Nov 2, 2019

2.7 dies in a little more then a month, I think that also needs removing.

@ThomasWaldmann
Copy link
Contributor

@RDIL no, I don't think 2.7 should be removed in the near future.

There might be still applications in python 2.7 which did not port / finish porting to py3 yet.

Thus, while old py3 versions can be dropped quickly, we should support py27 for a longer while still due to that.

@hugovk
Copy link
Contributor Author

hugovk commented Nov 2, 2019

This PR is only for Python 2.4 - 2.6 and 3.0 - 3.4, all of which have low to zero download numbers.

October 2019:

category percent downloads
3.6 37.69% 408,481
3.7 29.76% 322,536
2.7 23.68% 256,637
3.5 4.95% 53,644
3.4 1.86% 20,187
3.8 1.38% 14,949
null 0.68% 7,402
2.6 0.00% 53
3.9 0.00% 4
3.2 0.00% 1
3.3 0.00% 1
Total 1,083,895

Source: pip install -U pypistats && pypistats python_minor blinker --last-month

@RDIL
Copy link

RDIL commented Nov 2, 2019

Thats fair

@jek jek merged commit 6f86085 into pallets-eco:master Nov 2, 2019
@hugovk hugovk deleted the rm-eol branch November 2, 2019 21:04
@jek
Copy link
Contributor

jek commented Nov 2, 2019

Thanks for this. I don't have any conceptual issue with supporting older Python versions, though at some point the test infrastructure becomes difficult to maintain & it feels ok to shed a bit of this burden.

I don't have any intention of dropping 2.7 support for some time.

Python 3.8 positional-only parameters finally bring a portable way of fixing the (*args, **kwargs) hack on the send() method. If I were still actively working in Python (sadly I am not), I would look at making 3.8 the preferred native source version for Blinker and move all prior versions (2.7 and <3.8) to compatibility fallbacks.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

get rid of dead snakes
4 participants