-
Notifications
You must be signed in to change notification settings - Fork 34
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
Support Python 3.11, drop older Pythons entirely #59
Changes from all commits
8c70e22
198870f
cc5c60f
8cc3832
73a36f0
208c2fd
0d1d0ca
1827126
fe8014d
0b84709
d5926ba
9aad5c9
bc42a86
97b7e06
e930748
74a386a
69472db
29d806e
b452239
f01db11
4658fe7
450dd3c
25f8de7
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 |
---|---|---|
|
@@ -15,3 +15,8 @@ jobs: | |
metadata: | ||
targets: | ||
- fedora-all | ||
|
||
srpm_build_deps: | ||
- python3-pip | ||
- python3-setuptools_scm | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -169,34 +169,22 @@ def function_three(): | |
'License :: OSI Approved :: MIT License', | ||
'Operating System :: OS Independent', | ||
'Programming Language :: Python', | ||
'Programming Language :: Python :: 2', | ||
'Programming Language :: Python :: 2.7', | ||
'Programming Language :: Python :: 3', | ||
'Programming Language :: Python :: 3.4', | ||
'Programming Language :: Python :: 3.5', | ||
'Programming Language :: Python :: 3.6', | ||
Comment on lines
-172
to
-177
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. Since the base code of this library has no change, I don't wan't to drop those versions. |
||
'Programming Language :: Python :: 3.7', | ||
'Programming Language :: Python :: 3.8', | ||
'Programming Language :: Python :: 3.9', | ||
'Programming Language :: Python :: 3.10', | ||
'Programming Language :: Python :: 3.11', | ||
'Programming Language :: Python :: 3.12', | ||
'Topic :: Software Development :: Libraries :: Python Modules', | ||
], | ||
extras_require={ | ||
'dev': [ | ||
'tox', | ||
'PyTest ; python_version >= "3.6"', | ||
'PyTest < 5 ; python_version < "3.6"', | ||
'PyTest-Cov ; python_version >= "3.6"', | ||
'PyTest-Cov < 2.6 ; python_version < "3.6"', | ||
'PyTest', | ||
'PyTest-Cov', | ||
'bump2version < 1', | ||
'sphinx < 2', | ||
# Python 2.7 EOL: | ||
'importlib-metadata < 3 ; python_version < "3"', | ||
'importlib-resources < 4 ; python_version < "3"', | ||
'configparser < 5 ; python_version < "3"', | ||
'sphinxcontrib-websupport < 2 ; python_version < "3"', | ||
'zipp < 2 ; python_version < "3"', | ||
] | ||
}, | ||
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', | ||
python_requires='>=3.7', | ||
Comment on lines
-201
to
+189
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. No, I want to keep this unchanged. From my point of view, the reason that it is no longer possible to run unit tests with the recent tools is not a reason to abandon the support of Python 2.7 and the older versions of Python 3. If a user has an old development environment, he will be able to install and use the library. 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. But surely they could continue using the older releases of this package, if they still rely on python 2.7? It won't break any user if they are stuck on an older version, because other packages are also not moving and there is no support/security-fixes anyways? 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 PR does not change the code base, so the code remains compatible with older versions of Python. I don't want to make a major release for this PR: it's only a build fix. 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. If you're OK with allowing installation on an untested Python version, I'll revert the versions drop. I myself would not want to receive reports about any future failure on untested and EOL versions but I recognize the risk of breakage is low given that this library doesn't need to change much. 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. Researching a little deeper, I could retain testing on the older versions by switching the base platform for testing to
all of these per https://github.com/actions/python-versions/blob/main/versions-manifest.json Looks like I can also enable 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. 2.7 is being removed in a couple of weeks actions/runner-images#7401 Instead of 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.
I am OK with that. |
||
) |
Original file line number | Diff line number | Diff line change | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -8,32 +8,31 @@ | |||||||||||||||
|
||||||||||||||||
[tox] | ||||||||||||||||
# PyPy configuration (on Linux/OSX): | ||||||||||||||||
# - /usr/local/bin/pypy -> /opt/pypy2.7-v7.3.0-osx64/bin/pypy | ||||||||||||||||
# - /usr/local/bin/pypy3 -> /opt/pypy3.6-v7.3.0-osx64/bin/pypy3 | ||||||||||||||||
envlist = | ||||||||||||||||
py{27,34,35,36,37,38,39,310}-wrapt{1.10,1.11,1.12,1.13} | ||||||||||||||||
pypy, pypy3 | ||||||||||||||||
py{37,38,39,310}-wrapt{1.10,1.11,1.12,1.13,1.14} | ||||||||||||||||
py{311,312}-wrapt{1.14} | ||||||||||||||||
Comment on lines
+13
to
+14
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. Do we need to test five versions of wrapt? 1.10 is from 2017, pretty old by now. If we're adding two, shall we remove two? 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. Support table:
It looks very safe to drop 1.10 because none of its supported versions would be supported in the next Deprecated release if this PR is merged. I'd call it safe enough to drop 1.11-1.12 and probably even 1.13, tbh. °: latest in series 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. I'd say let's keep the wrapt dep and testing at 1.10+ for this PR and if I have time this week (long shot), I can do the work to eliminate 1.10-1.13 to settle on 1.14+. |
||||||||||||||||
pypy3 | ||||||||||||||||
docs | ||||||||||||||||
|
||||||||||||||||
[testenv] | ||||||||||||||||
commands = pytest --cov-report term-missing --cov=deprecated tests/ | ||||||||||||||||
deps = | ||||||||||||||||
py27,py34,py35: pip >= 9.0.3, < 21 | ||||||||||||||||
py27,py34: PyTest < 5 | ||||||||||||||||
py35,py36,py37,py38,py39,pypy,pypy3: PyTest | ||||||||||||||||
py27,py34: PyTest-Cov < 2.6 | ||||||||||||||||
py34: typing # required by pytest->attrs | ||||||||||||||||
py35,py36,py37,py38,py39,py310,pypy,pypy3: PyTest-Cov | ||||||||||||||||
py{37,38,39,310,311,312,py3}: PyTest | ||||||||||||||||
py{37,38,39,310,311,312,py3}: PyTest-Cov | ||||||||||||||||
wrapt1.10: wrapt ~= 1.10.0 | ||||||||||||||||
wrapt1.11: wrapt ~= 1.11.0 | ||||||||||||||||
wrapt1.12: wrapt ~= 1.12.0 | ||||||||||||||||
wrapt1.13: wrapt == 1.13.0rc3 | ||||||||||||||||
coverage < 5 | ||||||||||||||||
wrapt1.13: wrapt ~= 1.13.0 | ||||||||||||||||
wrapt1.14: wrapt ~= 1.14.0 | ||||||||||||||||
coverage | ||||||||||||||||
|
||||||||||||||||
[testenv:docs] | ||||||||||||||||
basepython = python | ||||||||||||||||
# jinja2 3.0.3 was the last version to have contextfunction that sphinx 1.x needs | ||||||||||||||||
deps = | ||||||||||||||||
sphinx < 2 | ||||||||||||||||
jinja2 == 3.0.3 | ||||||||||||||||
commands = | ||||||||||||||||
sphinx-build -b html -d {envtmpdir}/doctrees docs/source/ {envtmpdir}/html | ||||||||||||||||
sphinx-build -b epub -d {envtmpdir}/doctrees docs/source/ {envtmpdir}/epub |
This comment was marked as resolved.
Sorry, something went wrong.