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 Python 3.5 #1923

Merged
merged 1 commit into from
Jul 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 0 additions & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ environment:
matrix:
- PYTHON: "C:\\Python37-x64"
- PYTHON: "C:\\Python36-x64"
- PYTHON: "C:\\Python35-x64"

init:
- "chcp 65001"
Expand Down
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ jobs:
' >> $BASH_ENV

- run: |-
for py_ver in 3.7.0 3.6.4 3.5.4 pypy3.5-6.0.0
for py_ver in 3.7.0 3.6.4
do
pyenv install "$py_ver" &
done
wait
- run: pyenv global 3.7.0 3.6.4 3.5.4 pypy3.5-6.0.0
- run: pyenv global 3.7.0 3.6.4

- run: python3 -m pip install --upgrade pip wheel
- run: python3 -m pip install tox tox-pyenv
- checkout
- run: tox -e py35,py36,py37 -- -p no:sugar # , pypy3
- run: tox -e py36,py37 -- -p no:sugar
- store_test_results:
path: .test-results
- store_artifacts:
Expand All @@ -38,7 +38,7 @@ jobs:
steps:
- checkout
- run: pip install tox
- run: tox -e py35,py36,py37
- run: tox -e py36,py37
- store_test_results:
path: .test-results
- store_artifacts:
Expand Down
12 changes: 0 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,9 @@ _base_envs:
python: 3.9
after_failure: skip
python:
- 3.5
Copy link
Member

Choose a reason for hiding this comment

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

FWIW having Travis integration dead in this repo for months, there's no need to care about updating its config. Hopefully, I'll be able to reintroduce a proper CI setup per the best practices I've developed over the last year or so.

- 3.7-dev
- &pypy3 pypy3.5-5.10.0
jobs:
fast_finish: true
allow_failures:
# TODO: fix tests
- python: *pypy3
- env: TOXENV=pre-commit-pep257
include:
- <<: *lint_python_base
env: TOXENV=pre-commit
Expand All @@ -104,12 +98,6 @@ jobs:
env: TOXENV=cheroot-master
- <<: *pure_python_base_priority
python: nightly
- <<: *osx_python_base
python: 3.5
env:
- PYTHON_VERSION=3.5.5
- *env_pyenv
- *env_path
- <<: *osx_python_base
python: *mainstream_python
env:
Expand Down
5 changes: 5 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
v18.7.0
Copy link
Member

Choose a reason for hiding this comment

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

This sounds like a breaking change. So maybe let's make it v19?

Suggested change
v18.7.0
v19.0.0

Copy link
Member Author

Choose a reason for hiding this comment

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

When I started dropping support for Python 2.7, I initially indicated a breaking change. Later, I noticed that thanks to python_requires, it's not really a breaking change as the packaging ecosystem maintains compatibility. By the same logic, adding a new dependency is technically a breaking change, but we don't treat it as one since the tooling handles it. My inclination is to stick with major change unless it's expected to require user intervention to account for the change.

-------

* :pr:`1923`: Drop support for Python 3.5.

v18.6.1
-------

Expand Down
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
'License :: OSI Approved :: BSD License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
Copy link
Member

Choose a reason for hiding this comment

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

Not sure if this belongs in the current PR but we also need to add a specifier for 3.9

Suggested change
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',

Copy link
Member Author

Choose a reason for hiding this comment

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

This change has nothing to do with dropping support for Python 3.5. Honestly, I'd rather just remove these trove classifiers as they just add toil to my life.

Copy link
Member

Choose a reason for hiding this comment

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

@jaraco I recently learned that Poetry generates these automatically from the value of python_requires. I wonder if setuptools could do the same.

Copy link
Member

Choose a reason for hiding this comment

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

I also just remembered that CherryPy docs mention somewhere the min and the max supported versions that are retrieved from these specifiers: https://github.com/cherrypy/cherrypy/blob/main/docs/conf.py#L32-L41. So we need to keep them up-to-date at least for now.

Copy link
Member Author

Choose a reason for hiding this comment

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

Definitely +1 for Setuptools to generate the classifiers automatically.

Expand Down Expand Up @@ -111,7 +110,7 @@
setup_requires=[
'setuptools_scm',
],
python_requires='>=3.5',
python_requires='>=3.6',
)


Expand Down