Skip to content

Commit 39f8f3e

Browse files
committed
build: drop Python 3.6 support
1 parent c277310 commit 39f8f3e

File tree

14 files changed

+34
-31
lines changed

14 files changed

+34
-31
lines changed

.github/workflows/coverage.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,20 @@ jobs:
3232
- windows-latest
3333
python-version:
3434
# When changing this list, be sure to check the [gh-actions] list in
35-
# tox.ini so that tox will run properly.
36-
- "3.6"
35+
# tox.ini so that tox will run properly. PYVERSIONS
3736
- "3.7"
3837
- "3.8"
3938
- "3.9"
4039
- "3.10"
4140
- "3.11.0-alpha.2"
42-
- "pypy3"
41+
- "pypy-3.7"
4342
exclude:
4443
# Windows PyPy doesn't seem to work?
4544
- os: windows-latest
46-
python-version: "pypy3"
45+
python-version: "pypy-3.7"
4746
# Mac PyPy always takes the longest, and doesn't add anything.
4847
- os: macos-latest
49-
python-version: "pypy3"
48+
python-version: "pypy-3.7"
5049
# If one job fails, stop the whole thing.
5150
fail-fast: true
5251

.github/workflows/kit.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
# "macos": ["arm64", "x86_64"],
5757
# "windows": ["x86", "AMD64"],
5858
# }
59-
# pys = ["cp36", "cp37", "cp38", "cp39", "cp310"]
59+
# pys = ["cp37", "cp38", "cp39", "cp310"] # PYVERSIONS
6060
# os_arch_pys = {
6161
# ("macos", "arm64"): ["cp38", "cp39", "cp310"],
6262
# }
@@ -74,40 +74,34 @@ jobs:
7474
# }
7575
# print(f"- {json.dumps(them)}")
7676
# ]]]
77-
- {"os": "ubuntu", "py": "cp36", "arch": "x86_64"}
7877
- {"os": "ubuntu", "py": "cp37", "arch": "x86_64"}
7978
- {"os": "ubuntu", "py": "cp38", "arch": "x86_64"}
8079
- {"os": "ubuntu", "py": "cp39", "arch": "x86_64"}
8180
- {"os": "ubuntu", "py": "cp310", "arch": "x86_64"}
82-
- {"os": "ubuntu", "py": "cp36", "arch": "i686"}
8381
- {"os": "ubuntu", "py": "cp37", "arch": "i686"}
8482
- {"os": "ubuntu", "py": "cp38", "arch": "i686"}
8583
- {"os": "ubuntu", "py": "cp39", "arch": "i686"}
8684
- {"os": "ubuntu", "py": "cp310", "arch": "i686"}
87-
- {"os": "ubuntu", "py": "cp36", "arch": "aarch64"}
8885
- {"os": "ubuntu", "py": "cp37", "arch": "aarch64"}
8986
- {"os": "ubuntu", "py": "cp38", "arch": "aarch64"}
9087
- {"os": "ubuntu", "py": "cp39", "arch": "aarch64"}
9188
- {"os": "ubuntu", "py": "cp310", "arch": "aarch64"}
9289
- {"os": "macos", "py": "cp38", "arch": "arm64"}
9390
- {"os": "macos", "py": "cp39", "arch": "arm64"}
9491
- {"os": "macos", "py": "cp310", "arch": "arm64"}
95-
- {"os": "macos", "py": "cp36", "arch": "x86_64"}
9692
- {"os": "macos", "py": "cp37", "arch": "x86_64"}
9793
- {"os": "macos", "py": "cp38", "arch": "x86_64"}
9894
- {"os": "macos", "py": "cp39", "arch": "x86_64"}
9995
- {"os": "macos", "py": "cp310", "arch": "x86_64"}
100-
- {"os": "windows", "py": "cp36", "arch": "x86"}
10196
- {"os": "windows", "py": "cp37", "arch": "x86"}
10297
- {"os": "windows", "py": "cp38", "arch": "x86"}
10398
- {"os": "windows", "py": "cp39", "arch": "x86"}
10499
- {"os": "windows", "py": "cp310", "arch": "x86"}
105-
- {"os": "windows", "py": "cp36", "arch": "AMD64"}
106100
- {"os": "windows", "py": "cp37", "arch": "AMD64"}
107101
- {"os": "windows", "py": "cp38", "arch": "AMD64"}
108102
- {"os": "windows", "py": "cp39", "arch": "AMD64"}
109103
- {"os": "windows", "py": "cp310", "arch": "AMD64"}
110-
# [[[end]]] (checksum: dd4b4a059d9e8b8ae7e389a428a999f9)
104+
# [[[end]]] (checksum: 4b02126e18e2b3798783d3cc6f303552)
111105
fail-fast: false
112106

113107
steps:

.github/workflows/quality.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: "Install Python"
3434
uses: "actions/setup-python@v2"
3535
with:
36-
python-version: "3.8"
36+
python-version: "3.7" # Minimum of PYVERSIONS
3737
cache: pip
3838
cache-dependency-path: 'requirements/*.pip'
3939

@@ -59,7 +59,7 @@ jobs:
5959
- name: "Install Python"
6060
uses: "actions/setup-python@v2"
6161
with:
62-
python-version: "3.8"
62+
python-version: "3.7" # Minimum of PYVERSIONS
6363
cache: pip
6464
cache-dependency-path: 'requirements/*.pip'
6565

.github/workflows/testsuite.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ jobs:
3232
- windows-latest
3333
python-version:
3434
# When changing this list, be sure to check the [gh-actions] list in
35-
# tox.ini so that tox will run properly.
36-
- "3.6"
35+
# tox.ini so that tox will run properly. PYVERSIONS
3736
- "3.7"
3837
- "3.8"
3938
- "3.9"

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ This list is detailed and covers changes in each pre-release version.
2222
Unreleased
2323
----------
2424

25+
- Dropped support for Python 3.6, which ended support on 2021-12-23.
26+
2527
- Releases now have MacOS arm64 wheels for Apple Silicon (fixes `issue 1288`_).
2628

2729
.. _issue 1288: https://github.com/nedbat/coveragepy/issues/1288

README.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ library to determine which lines are executable, and which have been executed.
1919

2020
Coverage.py runs on these versions of Python:
2121

22-
* CPython 3.6 through 3.11.
22+
.. PYVERSIONS
23+
24+
* CPython 3.7 through 3.11.
2325
* PyPy3 7.3.7.
2426

2527
Documentation is on `Read the Docs`_. Code repository and issue tracker are on
@@ -29,8 +31,8 @@ Documentation is on `Read the Docs`_. Code repository and issue tracker are on
2931
.. _GitHub: https://github.com/nedbat/coveragepy
3032

3133

32-
**New in 6.x:** dropped support for Python 2.7 and 3.5; added support for 3.10
33-
match/case statements.
34+
**New in 6.x:** dropped support for Python 2.7, 3.5, and 3.6;
35+
added support for 3.10 match/case statements.
3436

3537

3638
For Enterprise

ci/download_gha_artifacts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def download_url(url, filename):
2121
for chunk in response.iter_content(16*1024):
2222
f.write(chunk)
2323
else:
24-
raise Exception(f"Fetching {url} produced: {response.status_code=}")
24+
raise Exception(f"Fetching {url} produced: status={response.status_code}")
2525

2626
def unpack_zipfile(filename):
2727
"""Unpack a zipfile, using the names in the zip."""

coverage/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# This file is exec'ed in setup.py, don't import anything!
66

77
# Same semantics as sys.version_info.
8-
version_info = (6, 2, 1, "alpha", 0)
8+
version_info = (6, 3, 0, "alpha", 0)
99

1010

1111
def _make_version(major, minor, micro, releaselevel, serial):

doc/contributing.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ The coverage.py code is hosted on a GitHub repository at
3737
https://github.com/nedbat/coveragepy. To get a working environment, follow
3838
these steps:
3939

40-
#. (Optional, but recommended) Create a Python 3.8 virtualenv to work in,
40+
.. minimum of PYVERSIONS:
41+
42+
#. (Optional, but recommended) Create a Python 3.7 virtualenv to work in,
4143
and activate it.
4244

4345
#. Clone the repository::

doc/index.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ not.
1616
The latest version is coverage.py |release|, released |release_date|. It is
1717
supported on:
1818

19-
* Python versions 3.6 through 3.11.
19+
.. PYVERSIONS
20+
21+
* Python versions 3.7 through 3.11.
2022

2123
* PyPy3 7.3.7.
2224

howto.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
version_info = (4, 0, 2, "beta", 1)
77
version_info = (4, 0, 2, "candidate", 1)
88
version_info = (4, 0, 2, "final", 0)
9-
- Python version number in classifiers in setup.py
9+
- Supported Python version numbers. Search for "PYVERSIONS".
10+
- Python version number in classifiers in setup.py
1011
- Copyright date in NOTICE.txt
1112
- Update CHANGES.rst, including release date.
1213
- don't forget the jump target

setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ filterwarnings =
1212
ignore:dns.hash module will be removed:DeprecationWarning
1313
ignore:Using or importing the ABCs:DeprecationWarning
1414
ignore:the imp module is deprecated in favour of importlib:DeprecationWarning
15+
ignore:distutils Version classes are deprecated:DeprecationWarning
1516

1617
# xfail tests that pass should fail the test suite
1718
xfail_strict = true

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ def better_set_verbosity(v):
3232
# Get or massage our metadata. We exec coverage/version.py so we can avoid
3333
# importing the product code into setup.py.
3434

35+
# PYVERSIONS
3536
classifiers = """\
3637
Environment :: Console
3738
Intended Audience :: Developers
3839
License :: OSI Approved :: Apache Software License
3940
Operating System :: OS Independent
4041
Programming Language :: Python
4142
Programming Language :: Python :: 3
42-
Programming Language :: Python :: 3.6
4343
Programming Language :: Python :: 3.7
4444
Programming Language :: Python :: 3.8
4545
Programming Language :: Python :: 3.9
@@ -77,7 +77,7 @@ def better_set_verbosity(v):
7777
else:
7878
assert version_info[3] == 'final'
7979
devstat = "5 - Production/Stable"
80-
classifier_list.append("Development Status :: " + devstat)
80+
classifier_list.append(f"Development Status :: {devstat}")
8181

8282
# Create the keyword arguments for setup()
8383

@@ -132,7 +132,7 @@ def better_set_verbosity(v):
132132
'Issues': 'https://github.com/nedbat/coveragepy/issues',
133133
'Twitter': 'https://twitter.com/coveragepy',
134134
},
135-
python_requires=">=3.6",
135+
python_requires=">=3.7", # minimum of PYVERSIONS
136136
)
137137

138138
# A replacement for the build_ext command which raises a single exception

tox.ini

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
[tox]
55
# When changing this list, be sure to check the [gh-actions] list below.
6-
envlist = py{36,37,38,39,310,311}, pypy3, doc, lint
6+
# PYVERSIONS
7+
envlist = py{37,38,39,310,311}, pypy3, doc, lint
78
skip_missing_interpreters = {env:COVERAGE_SKIP_MISSING_INTERPRETERS:True}
89
toxworkdir = {env:TOXWORKDIR:.tox}
910

@@ -15,7 +16,7 @@ extras =
1516
deps =
1617
-r requirements/pip.pip
1718
-r requirements/pytest.pip
18-
py{36,37,38,39,310}: -r requirements/light-threads.pip
19+
py{37,38,39,310}: -r requirements/light-threads.pip
1920

2021
# Windows can't update the pip version with pip running, so use Python
2122
# to install things.
@@ -90,8 +91,8 @@ commands =
9091
check-manifest --ignore 'lab/*,perf/*,doc/sample_html/*,.treerc,.github*'
9192

9293
[gh-actions]
94+
# PYVERSIONS
9395
python =
94-
3.6: py36
9596
3.7: py37
9697
3.8: py38
9798
3.9: py39

0 commit comments

Comments
 (0)