summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-12-31 09:17:07 -0500
committerNed Batchelder <ned@nedbatchelder.com>2021-12-31 09:17:07 -0500
commit4d38f23251046ec48a73cd1db5773a68d58130e5 (patch)
tree882dee1ba4d7811dd006cf7fad81835d978a05e2
parentc2773105682ee01b5ebfe5d29e86a9634d02b053 (diff)
downloadpython-coveragepy-git-nedbat/drop-36.tar.gz
build: drop Python 3.6 supportnedbat/drop-36
-rw-r--r--.github/workflows/coverage.yml3
-rw-r--r--.github/workflows/kit.yml10
-rw-r--r--.github/workflows/quality.yml4
-rw-r--r--.github/workflows/testsuite.yml3
-rw-r--r--CHANGES.rst2
-rw-r--r--README.rst8
-rw-r--r--ci/download_gha_artifacts.py2
-rw-r--r--coverage/version.py2
-rw-r--r--doc/contributing.rst4
-rw-r--r--doc/index.rst4
-rw-r--r--howto.txt3
-rw-r--r--setup.cfg1
-rw-r--r--setup.py6
-rw-r--r--tox.ini7
14 files changed, 31 insertions, 28 deletions
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index 9385ff5f..df9ce118 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -32,8 +32,7 @@ jobs:
- windows-latest
python-version:
# When changing this list, be sure to check the [gh-actions] list in
- # tox.ini so that tox will run properly.
- - "3.6"
+ # tox.ini so that tox will run properly. PYVERSIONS
- "3.7"
- "3.8"
- "3.9"
diff --git a/.github/workflows/kit.yml b/.github/workflows/kit.yml
index 9bc8e192..af3a6bea 100644
--- a/.github/workflows/kit.yml
+++ b/.github/workflows/kit.yml
@@ -56,7 +56,7 @@ jobs:
# "macos": ["arm64", "x86_64"],
# "windows": ["x86", "AMD64"],
# }
- # pys = ["cp36", "cp37", "cp38", "cp39", "cp310"]
+ # pys = ["cp37", "cp38", "cp39", "cp310"] # PYVERSIONS
# os_arch_pys = {
# ("macos", "arm64"): ["cp38", "cp39", "cp310"],
# }
@@ -74,17 +74,14 @@ jobs:
# }
# print(f"- {json.dumps(them)}")
# ]]]
- - {"os": "ubuntu", "py": "cp36", "arch": "x86_64"}
- {"os": "ubuntu", "py": "cp37", "arch": "x86_64"}
- {"os": "ubuntu", "py": "cp38", "arch": "x86_64"}
- {"os": "ubuntu", "py": "cp39", "arch": "x86_64"}
- {"os": "ubuntu", "py": "cp310", "arch": "x86_64"}
- - {"os": "ubuntu", "py": "cp36", "arch": "i686"}
- {"os": "ubuntu", "py": "cp37", "arch": "i686"}
- {"os": "ubuntu", "py": "cp38", "arch": "i686"}
- {"os": "ubuntu", "py": "cp39", "arch": "i686"}
- {"os": "ubuntu", "py": "cp310", "arch": "i686"}
- - {"os": "ubuntu", "py": "cp36", "arch": "aarch64"}
- {"os": "ubuntu", "py": "cp37", "arch": "aarch64"}
- {"os": "ubuntu", "py": "cp38", "arch": "aarch64"}
- {"os": "ubuntu", "py": "cp39", "arch": "aarch64"}
@@ -92,22 +89,19 @@ jobs:
- {"os": "macos", "py": "cp38", "arch": "arm64"}
- {"os": "macos", "py": "cp39", "arch": "arm64"}
- {"os": "macos", "py": "cp310", "arch": "arm64"}
- - {"os": "macos", "py": "cp36", "arch": "x86_64"}
- {"os": "macos", "py": "cp37", "arch": "x86_64"}
- {"os": "macos", "py": "cp38", "arch": "x86_64"}
- {"os": "macos", "py": "cp39", "arch": "x86_64"}
- {"os": "macos", "py": "cp310", "arch": "x86_64"}
- - {"os": "windows", "py": "cp36", "arch": "x86"}
- {"os": "windows", "py": "cp37", "arch": "x86"}
- {"os": "windows", "py": "cp38", "arch": "x86"}
- {"os": "windows", "py": "cp39", "arch": "x86"}
- {"os": "windows", "py": "cp310", "arch": "x86"}
- - {"os": "windows", "py": "cp36", "arch": "AMD64"}
- {"os": "windows", "py": "cp37", "arch": "AMD64"}
- {"os": "windows", "py": "cp38", "arch": "AMD64"}
- {"os": "windows", "py": "cp39", "arch": "AMD64"}
- {"os": "windows", "py": "cp310", "arch": "AMD64"}
- # [[[end]]] (checksum: dd4b4a059d9e8b8ae7e389a428a999f9)
+ # [[[end]]] (checksum: 4b02126e18e2b3798783d3cc6f303552)
fail-fast: false
steps:
diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml
index 2eb64b59..6da0627e 100644
--- a/.github/workflows/quality.yml
+++ b/.github/workflows/quality.yml
@@ -33,7 +33,7 @@ jobs:
- name: "Install Python"
uses: "actions/setup-python@v2"
with:
- python-version: "3.8"
+ python-version: "3.7" # Minimum of PYVERSIONS
cache: pip
cache-dependency-path: 'requirements/*.pip'
@@ -59,7 +59,7 @@ jobs:
- name: "Install Python"
uses: "actions/setup-python@v2"
with:
- python-version: "3.8"
+ python-version: "3.7" # Minimum of PYVERSIONS
cache: pip
cache-dependency-path: 'requirements/*.pip'
diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml
index 1fd6df4c..54859b25 100644
--- a/.github/workflows/testsuite.yml
+++ b/.github/workflows/testsuite.yml
@@ -32,8 +32,7 @@ jobs:
- windows-latest
python-version:
# When changing this list, be sure to check the [gh-actions] list in
- # tox.ini so that tox will run properly.
- - "3.6"
+ # tox.ini so that tox will run properly. PYVERSIONS
- "3.7"
- "3.8"
- "3.9"
diff --git a/CHANGES.rst b/CHANGES.rst
index 86612877..8ac4997b 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -22,6 +22,8 @@ This list is detailed and covers changes in each pre-release version.
Unreleased
----------
+- Dropped support for Python 3.6, which ended support on 2021-12-23.
+
- Releases now have MacOS arm64 wheels for Apple Silicon (fixes `issue 1288`_).
.. _issue 1288: https://github.com/nedbat/coveragepy/issues/1288
diff --git a/README.rst b/README.rst
index aaa05425..5aee2863 100644
--- a/README.rst
+++ b/README.rst
@@ -19,7 +19,9 @@ library to determine which lines are executable, and which have been executed.
Coverage.py runs on these versions of Python:
-* CPython 3.6 through 3.11.
+.. PYVERSIONS
+
+* CPython 3.7 through 3.11.
* PyPy3 7.3.7.
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
.. _GitHub: https://github.com/nedbat/coveragepy
-**New in 6.x:** dropped support for Python 2.7 and 3.5; added support for 3.10
-match/case statements.
+**New in 6.x:** dropped support for Python 2.7, 3.5, and 3.6;
+added support for 3.10 match/case statements.
For Enterprise
diff --git a/ci/download_gha_artifacts.py b/ci/download_gha_artifacts.py
index 7828d3f8..df22c688 100644
--- a/ci/download_gha_artifacts.py
+++ b/ci/download_gha_artifacts.py
@@ -21,7 +21,7 @@ def download_url(url, filename):
for chunk in response.iter_content(16*1024):
f.write(chunk)
else:
- raise Exception(f"Fetching {url} produced: {response.status_code=}")
+ raise Exception(f"Fetching {url} produced: status={response.status_code}")
def unpack_zipfile(filename):
"""Unpack a zipfile, using the names in the zip."""
diff --git a/coverage/version.py b/coverage/version.py
index 96dbd71f..8752e843 100644
--- a/coverage/version.py
+++ b/coverage/version.py
@@ -5,7 +5,7 @@
# This file is exec'ed in setup.py, don't import anything!
# Same semantics as sys.version_info.
-version_info = (6, 2, 1, "alpha", 0)
+version_info = (6, 3, 0, "alpha", 0)
def _make_version(major, minor, micro, releaselevel, serial):
diff --git a/doc/contributing.rst b/doc/contributing.rst
index 1ccb4061..653e2a69 100644
--- a/doc/contributing.rst
+++ b/doc/contributing.rst
@@ -37,7 +37,9 @@ The coverage.py code is hosted on a GitHub repository at
https://github.com/nedbat/coveragepy. To get a working environment, follow
these steps:
-#. (Optional, but recommended) Create a Python 3.8 virtualenv to work in,
+.. minimum of PYVERSIONS:
+
+#. (Optional, but recommended) Create a Python 3.7 virtualenv to work in,
and activate it.
#. Clone the repository::
diff --git a/doc/index.rst b/doc/index.rst
index 3c29f51d..9661797b 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -16,7 +16,9 @@ not.
The latest version is coverage.py |release|, released |release_date|. It is
supported on:
-* Python versions 3.6 through 3.11.
+.. PYVERSIONS
+
+* Python versions 3.7 through 3.11.
* PyPy3 7.3.7.
diff --git a/howto.txt b/howto.txt
index a3784352..b11f3481 100644
--- a/howto.txt
+++ b/howto.txt
@@ -6,7 +6,8 @@
version_info = (4, 0, 2, "beta", 1)
version_info = (4, 0, 2, "candidate", 1)
version_info = (4, 0, 2, "final", 0)
-- Python version number in classifiers in setup.py
+- Supported Python version numbers. Search for "PYVERSIONS".
+ - Python version number in classifiers in setup.py
- Copyright date in NOTICE.txt
- Update CHANGES.rst, including release date.
- don't forget the jump target
diff --git a/setup.cfg b/setup.cfg
index 221e1230..e13f4835 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -12,6 +12,7 @@ filterwarnings =
ignore:dns.hash module will be removed:DeprecationWarning
ignore:Using or importing the ABCs:DeprecationWarning
ignore:the imp module is deprecated in favour of importlib:DeprecationWarning
+ ignore:distutils Version classes are deprecated:DeprecationWarning
# xfail tests that pass should fail the test suite
xfail_strict = true
diff --git a/setup.py b/setup.py
index efea78b8..00f6086d 100644
--- a/setup.py
+++ b/setup.py
@@ -32,6 +32,7 @@ if bool(int(os.getenv("COVERAGE_QUIETER", "0"))):
# Get or massage our metadata. We exec coverage/version.py so we can avoid
# importing the product code into setup.py.
+# PYVERSIONS
classifiers = """\
Environment :: Console
Intended Audience :: Developers
@@ -39,7 +40,6 @@ License :: OSI Approved :: Apache Software License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3
-Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
@@ -77,7 +77,7 @@ elif version_info[3] in ['beta', 'candidate']:
else:
assert version_info[3] == 'final'
devstat = "5 - Production/Stable"
-classifier_list.append("Development Status :: " + devstat)
+classifier_list.append(f"Development Status :: {devstat}")
# Create the keyword arguments for setup()
@@ -132,7 +132,7 @@ setup_args = dict(
'Issues': 'https://github.com/nedbat/coveragepy/issues',
'Twitter': 'https://twitter.com/coveragepy',
},
- python_requires=">=3.6",
+ python_requires=">=3.7", # minimum of PYVERSIONS
)
# A replacement for the build_ext command which raises a single exception
diff --git a/tox.ini b/tox.ini
index 6ac0bb9e..1164b05c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -3,7 +3,8 @@
[tox]
# When changing this list, be sure to check the [gh-actions] list below.
-envlist = py{36,37,38,39,310,311}, pypy3, doc, lint
+# PYVERSIONS
+envlist = py{37,38,39,310,311}, pypy3, doc, lint
skip_missing_interpreters = {env:COVERAGE_SKIP_MISSING_INTERPRETERS:True}
toxworkdir = {env:TOXWORKDIR:.tox}
@@ -15,7 +16,7 @@ extras =
deps =
-r requirements/pip.pip
-r requirements/pytest.pip
- py{36,37,38,39,310}: -r requirements/light-threads.pip
+ py{37,38,39,310}: -r requirements/light-threads.pip
# Windows can't update the pip version with pip running, so use Python
# to install things.
@@ -90,8 +91,8 @@ commands =
check-manifest --ignore 'lab/*,perf/*,doc/sample_html/*,.treerc,.github*'
[gh-actions]
+# PYVERSIONS
python =
- 3.6: py36
3.7: py37
3.8: py38
3.9: py39