Skip to content

Commit

Permalink
Drop support for Python 3.6 and 3.7 (#161)
Browse files Browse the repository at this point in the history
  • Loading branch information
Erotemic authored Aug 1, 2024
1 parent 01372c3 commit e53d97f
Show file tree
Hide file tree
Showing 10 changed files with 41 additions and 169 deletions.
32 changes: 0 additions & 32 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,6 @@ workflows:
- test_full/cp38-38-linux:
filters:
<<: *__ignore_release__
- test_full/cp37-37m-linux:
filters:
<<: *__ignore_release__
- test_full/cp36-36m-linux:
filters:
<<: *__ignore_release__

- test_minimal/cp3_10-3_10-linux:
filters:
Expand All @@ -54,12 +48,6 @@ workflows:
- test_minimal/cp38-38-linux:
filters:
<<: *__ignore_release__
- test_minimal/cp37-37m-linux:
filters:
<<: *__ignore_release__
- test_minimal/cp36-36m-linux:
filters:
<<: *__ignore_release__

- test_minimal/pypy3:
filters:
Expand Down Expand Up @@ -199,16 +187,6 @@ jobs:
<<: *test_full_template
docker:
- image: cimg/python:3.8

test_full/cp37-37m-linux:
<<: *test_full_template
docker:
- image: cimg/python:3.7

test_full/cp36-36m-linux:
<<: *test_full_template
docker:
- image: cimg/python:3.6

# ------------
test_minimal/cp3_10-3_10-linux:
Expand All @@ -226,16 +204,6 @@ jobs:
docker:
- image: cimg/python:3.8

test_minimal/cp37-37m-linux:
<<: *test_minimal_template
docker:
- image: cimg/python:3.7

test_minimal/cp36-36m-linux:
<<: *test_minimal_template
docker:
- image: cimg/python:3.6

# --- pypy ----

test_minimal/pypy3:
Expand Down
38 changes: 7 additions & 31 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,15 +157,15 @@ jobs:
# Xcookie generates an explicit list of environments that will be used
# for testing instead of using the more concise matrix notation.
include:
- python-version: '3.6'
- python-version: '3.8'
install-extras: tests-strict,runtime-strict
os: ubuntu-20.04
os: ubuntu-latest
arch: auto
- python-version: '3.6'
- python-version: '3.8'
install-extras: tests-strict,runtime-strict
os: macos-13
os: macOS-latest
arch: auto
- python-version: '3.6'
- python-version: '3.8'
install-extras: tests-strict,runtime-strict
os: windows-latest
arch: auto
Expand All @@ -189,14 +189,6 @@ jobs:
install-extras: tests
os: windows-latest
arch: auto
- python-version: '3.6'
install-extras: tests,optional
os: ubuntu-20.04
arch: auto
- python-version: '3.7'
install-extras: tests,optional
os: ubuntu-latest
arch: auto
- python-version: '3.8'
install-extras: tests,optional
os: ubuntu-latest
Expand All @@ -221,14 +213,6 @@ jobs:
install-extras: tests,optional
os: ubuntu-latest
arch: auto
- python-version: '3.6'
install-extras: tests,optional
os: macos-13
arch: auto
- python-version: '3.7'
install-extras: tests,optional
os: macos-13
arch: auto
- python-version: '3.8'
install-extras: tests,optional
os: macOS-latest
Expand All @@ -253,14 +237,6 @@ jobs:
install-extras: tests,optional
os: macOS-latest
arch: auto
- python-version: '3.6'
install-extras: tests,optional
os: windows-latest
arch: auto
- python-version: '3.7'
install-extras: tests,optional
os: windows-latest
arch: auto
- python-version: '3.8'
install-extras: tests,optional
os: windows-latest
Expand Down Expand Up @@ -378,8 +354,8 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && ! startsWith(github.event.ref, 'refs/tags') && ! startsWith(github.event.ref, 'refs/heads/release')
needs:
- build_purepy_wheels
- build_and_test_sdist
- build_purepy_wheels
steps:
- name: Checkout source
uses: actions/checkout@v4.1.1
Expand Down Expand Up @@ -452,8 +428,8 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && (startsWith(github.event.ref, 'refs/tags') || startsWith(github.event.ref, 'refs/heads/release'))
needs:
- build_purepy_wheels
- build_and_test_sdist
- build_purepy_wheels
steps:
- name: Checkout source
uses: actions/checkout@v4.1.1
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
## Version 1.2.0 - Unreleased


### Removed
* Dropped 3.6 and 3.7 support. Now supporting 3.6+ Use xdoctest<=1.1.6 for 3.6 or 3.7 support.


## Version 1.1.6 - Released 2024-08-01

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Installation: from pypi
^^^^^^^^^^^^^^^^^^^^^^^

Xdoctest is distributed on pypi as a universal wheel and can be pip installed on
Python 3.6+ (Python 2.7 and 3.4 / 3.5 support was removed in Version 1.1.0).
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).
Installations are tested on CPython and PyPy implementations.

::
Expand Down
71 changes: 0 additions & 71 deletions appveyor.yml

This file was deleted.

4 changes: 1 addition & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ mod_name = "xdoctest"
repo_name = "xdoctest"
rel_mod_parent_dpath = "./src"
os = [ "all", "win", "linux", "osx",]
min_python = '3.6'
min_python = '3.8'
author = "Jon Crall"
author_email = "erotemic@gmail.com"
description = "A rewrite of the builtin doctest module"
Expand All @@ -30,8 +30,6 @@ classifiers = [
"License :: OSI Approved :: Apache Software License",
# Supported Python versions
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Expand Down
20 changes: 5 additions & 15 deletions requirements/jupyter.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# See ~/local/tools/supported_python_versions_pip.py for helper script
# xdev availpkg jupyter_client
# xdev availpkg nbconvert
# xdev availpkg jupyter_core
Expand All @@ -16,43 +15,34 @@ nbconvert>=6.0.0; python_version < '3.7.0' and python_version >= '3.6.0' and pl
jinja2>=3.0.0 ; python_version >= '3.6' and platform_python_implementation != "PyPy" # Python 3.6+


jupyter_client>=7.0.0 ; python_version >= '3.6.1' # Python 3.6.1+
jupyter_client>=6.1.5 ; python_version < '3.6.1' and python_version >= '3.6' # Python 3.6
jupyter_client>=7.0.0


IPython>=7.23.1 ; python_version >= '3.7' # Python 3.7+
IPython>=7.10.0 ; python_version < '3.7' and python_version >= '3.6' # Python 3.6
IPython>=7.23.1


# Requires psutil? Breaking on pypy windows?
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+
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
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


# For IPython-kernel
debugpy>=1.6.0 ; python_version >= '3.10' # Python 3.10+
debugpy>=1.3.0 ; python_version < '3.10' and python_version >= '3.9' # Python 3.9
debugpy>=1.0.0 ; python_version < '3.9' and python_version >= '3.8' # Python 3.8
debugpy>=1.0.0 ; python_version < '3.8' and python_version >= '3.7' # Python 3.7
debugpy>=1.0.0 ; python_version < '3.7' and python_version >= '3.6' # Python 3.6


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


# For IPython
jedi>=0.16 ; python_version >= '3.6' # Python 3.6+


attrs>=19.2.0 ; python_version >= '3.6' # Python 3.6+
jedi>=0.16

attrs>=19.2.0

# For jupyter-client
jupyter_core >= 4.7.0 ; python_version >= '3.6' # Python 3.6+

jupyter_core >= 4.7.0

# For jupyter-core
# pywin32>=1.0; platform_system=="Windows" and python_version >= '3.6' and platform_python_implementation != "PyPy"
2 changes: 1 addition & 1 deletion requirements/optional.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

pyflakes >= 2.2.0

# python ~/local/tools/supported_python_versions_pip.py tomli
# xdev availpkg tomli
tomli>=0.2.0 ; python_version < '3.11.0' and python_version >= '3.6' # Python 3.6+
7 changes: 2 additions & 5 deletions requirements/tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
# TODO: determine what the actual minimum and maximum acceptable versions of
# pytest (that are also compatible with xdoctest) are for each legacy python
# major.minor version.
# See ~/local/tools/supported_python_versions_pip.py for helper script
# See xdev availpkg for helper script

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

pytest-cov >= 3.0.0 ; python_version >= '3.6.0' # Python 3.6+

typing >= 3.7.4;python_version <= '3.4'
pytest-cov >= 3.0.0 ; python_version >= '3.6.0' # Python 3.6+
30 changes: 20 additions & 10 deletions setup.py
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,15 @@ def gen_packages_items():
)
setupkw["extras_require"] = {
"all": parse_requirements("requirements.txt", versions="loose"),
"runtime": parse_requirements("requirements/runtime.txt", versions="loose"),
"tests": parse_requirements("requirements/tests.txt", versions="loose"),
"optional": parse_requirements("requirements/optional.txt", versions="loose"),
"colors": parse_requirements("requirements/colors.txt", versions="loose"),
"docs": parse_requirements("requirements/docs.txt", versions="loose"),
"jupyter": parse_requirements("requirements/jupyter.txt", versions="loose"),
"tests-binary": parse_requirements(
"requirements/tests-binary.txt", versions="loose"
),
"all-strict": parse_requirements("requirements.txt", versions="strict"),
"runtime-strict": parse_requirements(
"requirements/runtime.txt", versions="strict"
Expand All @@ -217,12 +224,17 @@ def gen_packages_items():
"optional-strict": parse_requirements(
"requirements/optional.txt", versions="strict"
),
'tests-binary': parse_requirements('requirements/tests-binary.txt'),
'tests-binary-strict': parse_requirements('requirements/tests-binary.txt', versions='strict'),
'colors': parse_requirements('requirements/colors.txt'),
'jupyter': parse_requirements('requirements/jupyter.txt'),
"colors-strict": parse_requirements(
"requirements/colors.txt", versions="strict"
),
"docs-strict": parse_requirements("requirements/docs.txt", versions="strict"),
"jupyter-strict": parse_requirements(
"requirements/jupyter.txt", versions="strict"
),
"tests-binary-strict": parse_requirements(
"requirements/tests-binary.txt", versions="strict"
),
}

setupkw["name"] = NAME
setupkw["version"] = VERSION
setupkw["author"] = "Jon Crall"
Expand All @@ -233,18 +245,16 @@ def gen_packages_items():
setupkw["long_description_content_type"] = "text/x-rst"
setupkw["license"] = "Apache 2"
setupkw["packages"] = find_packages("./src")
setupkw["python_requires"] = ">=3.6"
setupkw["python_requires"] = ">=3.8"
setupkw["classifiers"] = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Software Development :: Testing",
"Topic :: Utilities",
"Framework :: Pytest",
"License :: OSI Approved :: Apache Software License",
"Topic :: Software Development :: Testing",
"Framework :: Pytest",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Expand Down

0 comments on commit e53d97f

Please sign in to comment.