Skip to content

Commit e53d97f

Browse files
authored
Drop support for Python 3.6 and 3.7 (#161)
1 parent 01372c3 commit e53d97f

File tree

10 files changed

+41
-169
lines changed

10 files changed

+41
-169
lines changed

Diff for: .circleci/config.yml

-32
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,6 @@ workflows:
3838
- test_full/cp38-38-linux:
3939
filters:
4040
<<: *__ignore_release__
41-
- test_full/cp37-37m-linux:
42-
filters:
43-
<<: *__ignore_release__
44-
- test_full/cp36-36m-linux:
45-
filters:
46-
<<: *__ignore_release__
4741

4842
- test_minimal/cp3_10-3_10-linux:
4943
filters:
@@ -54,12 +48,6 @@ workflows:
5448
- test_minimal/cp38-38-linux:
5549
filters:
5650
<<: *__ignore_release__
57-
- test_minimal/cp37-37m-linux:
58-
filters:
59-
<<: *__ignore_release__
60-
- test_minimal/cp36-36m-linux:
61-
filters:
62-
<<: *__ignore_release__
6351

6452
- test_minimal/pypy3:
6553
filters:
@@ -199,16 +187,6 @@ jobs:
199187
<<: *test_full_template
200188
docker:
201189
- image: cimg/python:3.8
202-
203-
test_full/cp37-37m-linux:
204-
<<: *test_full_template
205-
docker:
206-
- image: cimg/python:3.7
207-
208-
test_full/cp36-36m-linux:
209-
<<: *test_full_template
210-
docker:
211-
- image: cimg/python:3.6
212190

213191
# ------------
214192
test_minimal/cp3_10-3_10-linux:
@@ -226,16 +204,6 @@ jobs:
226204
docker:
227205
- image: cimg/python:3.8
228206

229-
test_minimal/cp37-37m-linux:
230-
<<: *test_minimal_template
231-
docker:
232-
- image: cimg/python:3.7
233-
234-
test_minimal/cp36-36m-linux:
235-
<<: *test_minimal_template
236-
docker:
237-
- image: cimg/python:3.6
238-
239207
# --- pypy ----
240208

241209
test_minimal/pypy3:

Diff for: .github/workflows/tests.yml

+7-31
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,15 @@ jobs:
157157
# Xcookie generates an explicit list of environments that will be used
158158
# for testing instead of using the more concise matrix notation.
159159
include:
160-
- python-version: '3.6'
160+
- python-version: '3.8'
161161
install-extras: tests-strict,runtime-strict
162-
os: ubuntu-20.04
162+
os: ubuntu-latest
163163
arch: auto
164-
- python-version: '3.6'
164+
- python-version: '3.8'
165165
install-extras: tests-strict,runtime-strict
166-
os: macos-13
166+
os: macOS-latest
167167
arch: auto
168-
- python-version: '3.6'
168+
- python-version: '3.8'
169169
install-extras: tests-strict,runtime-strict
170170
os: windows-latest
171171
arch: auto
@@ -189,14 +189,6 @@ jobs:
189189
install-extras: tests
190190
os: windows-latest
191191
arch: auto
192-
- python-version: '3.6'
193-
install-extras: tests,optional
194-
os: ubuntu-20.04
195-
arch: auto
196-
- python-version: '3.7'
197-
install-extras: tests,optional
198-
os: ubuntu-latest
199-
arch: auto
200192
- python-version: '3.8'
201193
install-extras: tests,optional
202194
os: ubuntu-latest
@@ -221,14 +213,6 @@ jobs:
221213
install-extras: tests,optional
222214
os: ubuntu-latest
223215
arch: auto
224-
- python-version: '3.6'
225-
install-extras: tests,optional
226-
os: macos-13
227-
arch: auto
228-
- python-version: '3.7'
229-
install-extras: tests,optional
230-
os: macos-13
231-
arch: auto
232216
- python-version: '3.8'
233217
install-extras: tests,optional
234218
os: macOS-latest
@@ -253,14 +237,6 @@ jobs:
253237
install-extras: tests,optional
254238
os: macOS-latest
255239
arch: auto
256-
- python-version: '3.6'
257-
install-extras: tests,optional
258-
os: windows-latest
259-
arch: auto
260-
- python-version: '3.7'
261-
install-extras: tests,optional
262-
os: windows-latest
263-
arch: auto
264240
- python-version: '3.8'
265241
install-extras: tests,optional
266242
os: windows-latest
@@ -378,8 +354,8 @@ jobs:
378354
runs-on: ubuntu-latest
379355
if: github.event_name == 'push' && ! startsWith(github.event.ref, 'refs/tags') && ! startsWith(github.event.ref, 'refs/heads/release')
380356
needs:
381-
- build_purepy_wheels
382357
- build_and_test_sdist
358+
- build_purepy_wheels
383359
steps:
384360
- name: Checkout source
385361
uses: actions/[email protected]
@@ -452,8 +428,8 @@ jobs:
452428
runs-on: ubuntu-latest
453429
if: github.event_name == 'push' && (startsWith(github.event.ref, 'refs/tags') || startsWith(github.event.ref, 'refs/heads/release'))
454430
needs:
455-
- build_purepy_wheels
456431
- build_and_test_sdist
432+
- build_purepy_wheels
457433
steps:
458434
- name: Checkout source
459435
uses: actions/[email protected]

Diff for: CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
88
## Version 1.2.0 - Unreleased
99

1010

11+
### Removed
12+
* Dropped 3.6 and 3.7 support. Now supporting 3.6+ Use xdoctest<=1.1.6 for 3.6 or 3.7 support.
13+
14+
1115
## Version 1.1.6 - Released 2024-08-01
1216

1317
### Fixed

Diff for: README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Installation: from pypi
8484
^^^^^^^^^^^^^^^^^^^^^^^
8585

8686
Xdoctest is distributed on pypi as a universal wheel and can be pip installed on
87-
Python 3.6+ (Python 2.7 and 3.4 / 3.5 support was removed in Version 1.1.0).
87+
Python 3.8+ (Python 2.7 and 3.4 / 3.5 support was removed in Version 1.1.0, 3.6 / 3.7 support was removed in Version 1.2.0).
8888
Installations are tested on CPython and PyPy implementations.
8989

9090
::

Diff for: appveyor.yml

-71
This file was deleted.

Diff for: pyproject.toml

+1-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ mod_name = "xdoctest"
1111
repo_name = "xdoctest"
1212
rel_mod_parent_dpath = "./src"
1313
os = [ "all", "win", "linux", "osx",]
14-
min_python = '3.6'
14+
min_python = '3.8'
1515
author = "Jon Crall"
1616
author_email = "[email protected]"
1717
description = "A rewrite of the builtin doctest module"
@@ -30,8 +30,6 @@ classifiers = [
3030
"License :: OSI Approved :: Apache Software License",
3131
# Supported Python versions
3232
"Programming Language :: Python :: 3",
33-
"Programming Language :: Python :: 3.6",
34-
"Programming Language :: Python :: 3.7",
3533
"Programming Language :: Python :: 3.8",
3634
"Programming Language :: Python :: 3.9",
3735
"Programming Language :: Python :: 3.10",

Diff for: requirements/jupyter.txt

+5-15
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# See ~/local/tools/supported_python_versions_pip.py for helper script
21
# xdev availpkg jupyter_client
32
# xdev availpkg nbconvert
43
# xdev availpkg jupyter_core
@@ -16,43 +15,34 @@ nbconvert>=6.0.0; python_version < '3.7.0' and python_version >= '3.6.0' and pl
1615
jinja2>=3.0.0 ; python_version >= '3.6' and platform_python_implementation != "PyPy" # Python 3.6+
1716

1817

19-
jupyter_client>=7.0.0 ; python_version >= '3.6.1' # Python 3.6.1+
20-
jupyter_client>=6.1.5 ; python_version < '3.6.1' and python_version >= '3.6' # Python 3.6
18+
jupyter_client>=7.0.0
2119

2220

23-
IPython>=7.23.1 ; python_version >= '3.7' # Python 3.7+
24-
IPython>=7.10.0 ; python_version < '3.7' and python_version >= '3.6' # Python 3.6
21+
IPython>=7.23.1
2522

2623

2724
# Requires psutil? Breaking on pypy windows?
2825
ipykernel>=6.11.0 ; python_version < '4.0' and python_version >= '3.12' and (platform_system!="Windows" or platform_python_implementation != "PyPy") # Python 3.12+
2926
ipykernel>=6.0.0 ; python_version < '3.12' and python_version >= '3.7' and (platform_system!="Windows" or platform_python_implementation != "PyPy") # Python 3.7-3.11
30-
ipykernel>=5.2.0 ; python_version < '3.7' and python_version >= '3.6' and (platform_system!="Windows" or platform_python_implementation != "PyPy") # Python 3.6
3127

3228

3329
# For IPython-kernel
3430
debugpy>=1.6.0 ; python_version >= '3.10' # Python 3.10+
3531
debugpy>=1.3.0 ; python_version < '3.10' and python_version >= '3.9' # Python 3.9
3632
debugpy>=1.0.0 ; python_version < '3.9' and python_version >= '3.8' # Python 3.8
37-
debugpy>=1.0.0 ; python_version < '3.8' and python_version >= '3.7' # Python 3.7
38-
debugpy>=1.0.0 ; python_version < '3.7' and python_version >= '3.6' # Python 3.6
39-
4033

4134
# Needed for 3.10 tests
4235
# Needed for earlier versions of nbconvert
4336
ipython_genutils >= 0.2.0 ; python_version >= '3.6' and platform_python_implementation != "PyPy" # Python 3.10+
4437

4538

4639
# For IPython
47-
jedi>=0.16 ; python_version >= '3.6' # Python 3.6+
48-
49-
50-
attrs>=19.2.0 ; python_version >= '3.6' # Python 3.6+
40+
jedi>=0.16
5141

42+
attrs>=19.2.0
5243

5344
# For jupyter-client
54-
jupyter_core >= 4.7.0 ; python_version >= '3.6' # Python 3.6+
55-
45+
jupyter_core >= 4.7.0
5646

5747
# For jupyter-core
5848
# pywin32>=1.0; platform_system=="Windows" and python_version >= '3.6' and platform_python_implementation != "PyPy"

Diff for: requirements/optional.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33

44
pyflakes >= 2.2.0
55

6-
# python ~/local/tools/supported_python_versions_pip.py tomli
6+
# xdev availpkg tomli
77
tomli>=0.2.0 ; python_version < '3.11.0' and python_version >= '3.6' # Python 3.6+

Diff for: requirements/tests.txt

+2-5
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,9 @@
22
# TODO: determine what the actual minimum and maximum acceptable versions of
33
# pytest (that are also compatible with xdoctest) are for each legacy python
44
# major.minor version.
5-
# See ~/local/tools/supported_python_versions_pip.py for helper script
5+
# See xdev availpkg for helper script
66

77
pytest >= 6.2.5 ; python_version >= '3.10.0' # Python 3.10+
88
pytest >= 4.6.0 ; python_version < '3.10.0' and python_version >= '3.7.0' # Python 3.7-3.9
9-
pytest >= 4.6.0 ; python_version < '3.7.0' and python_version >= '3.6.0' # Python 3.6
109

11-
pytest-cov >= 3.0.0 ; python_version >= '3.6.0' # Python 3.6+
12-
13-
typing >= 3.7.4;python_version <= '3.4'
10+
pytest-cov >= 3.0.0 ; python_version >= '3.6.0' # Python 3.6+

Diff for: setup.py

100755100644
+20-10
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,15 @@ def gen_packages_items():
207207
)
208208
setupkw["extras_require"] = {
209209
"all": parse_requirements("requirements.txt", versions="loose"),
210+
"runtime": parse_requirements("requirements/runtime.txt", versions="loose"),
210211
"tests": parse_requirements("requirements/tests.txt", versions="loose"),
211212
"optional": parse_requirements("requirements/optional.txt", versions="loose"),
213+
"colors": parse_requirements("requirements/colors.txt", versions="loose"),
214+
"docs": parse_requirements("requirements/docs.txt", versions="loose"),
215+
"jupyter": parse_requirements("requirements/jupyter.txt", versions="loose"),
216+
"tests-binary": parse_requirements(
217+
"requirements/tests-binary.txt", versions="loose"
218+
),
212219
"all-strict": parse_requirements("requirements.txt", versions="strict"),
213220
"runtime-strict": parse_requirements(
214221
"requirements/runtime.txt", versions="strict"
@@ -217,12 +224,17 @@ def gen_packages_items():
217224
"optional-strict": parse_requirements(
218225
"requirements/optional.txt", versions="strict"
219226
),
220-
'tests-binary': parse_requirements('requirements/tests-binary.txt'),
221-
'tests-binary-strict': parse_requirements('requirements/tests-binary.txt', versions='strict'),
222-
'colors': parse_requirements('requirements/colors.txt'),
223-
'jupyter': parse_requirements('requirements/jupyter.txt'),
227+
"colors-strict": parse_requirements(
228+
"requirements/colors.txt", versions="strict"
229+
),
230+
"docs-strict": parse_requirements("requirements/docs.txt", versions="strict"),
231+
"jupyter-strict": parse_requirements(
232+
"requirements/jupyter.txt", versions="strict"
233+
),
234+
"tests-binary-strict": parse_requirements(
235+
"requirements/tests-binary.txt", versions="strict"
236+
),
224237
}
225-
226238
setupkw["name"] = NAME
227239
setupkw["version"] = VERSION
228240
setupkw["author"] = "Jon Crall"
@@ -233,18 +245,16 @@ def gen_packages_items():
233245
setupkw["long_description_content_type"] = "text/x-rst"
234246
setupkw["license"] = "Apache 2"
235247
setupkw["packages"] = find_packages("./src")
236-
setupkw["python_requires"] = ">=3.6"
248+
setupkw["python_requires"] = ">=3.8"
237249
setupkw["classifiers"] = [
238250
"Development Status :: 5 - Production/Stable",
239251
"Intended Audience :: Developers",
240252
"Topic :: Software Development :: Libraries :: Python Modules",
241-
"Topic :: Software Development :: Testing",
242253
"Topic :: Utilities",
243-
"Framework :: Pytest",
244254
"License :: OSI Approved :: Apache Software License",
255+
"Topic :: Software Development :: Testing",
256+
"Framework :: Pytest",
245257
"Programming Language :: Python :: 3",
246-
"Programming Language :: Python :: 3.6",
247-
"Programming Language :: Python :: 3.7",
248258
"Programming Language :: Python :: 3.8",
249259
"Programming Language :: Python :: 3.9",
250260
"Programming Language :: Python :: 3.10",

0 commit comments

Comments
 (0)