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.6 and 3.7 #161

Merged
merged 1 commit into from
Aug 1, 2024
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading