Skip to content

Commit

Permalink
Merge pull request #291 from vonschultz/python-versions
Browse files Browse the repository at this point in the history
Add Python 3.12, retire Python 3.7
  • Loading branch information
bskinn authored May 14, 2024
2 parents e3a2d33 + 23862fd commit 3ab0989
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 16 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.7', '3.8', '3.9', '3.11']
python: ['3.8', '3.9', '3.11', '3.12']
if: "!contains(github.event.head_commit.message, '[skip ci]')"

steps:
Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,16 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project strives to adhere to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).


### Unreleased

#### Added

* The project now supports Python 3.12.

#### Removed

* Removed support for Python 3.7, which is end-of-life.

#### Tests

* Update test machinery for the shell examples in the README, downstream of
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ $ git clone https://github.com/{you}/sphobjinv
```

Then, create a virtual environment for the project, in whatever location you
prefer. Any Python interpreter 3.7+ *should* work fine.
prefer. Any Python interpreter 3.8+ *should* work fine.

I prefer to use `virtualenv` and create in `./env`:

Expand Down Expand Up @@ -153,8 +153,8 @@ Note that while [`tox`](https://tox.wiki/en/latest/) *is* configured for the
project, it is **not** set up to be an everyday test runner. Instead, it's used
to execute an extensive matrix of test environments checking for the
compatibility of different Python and dependency versions. You can run it if you
want, but you'll need working versions of all of Python 3.7 through 3.11
installed and on `PATH` as `python3.7`, `python3.8`, etc. The nonlocal test
want, but you'll need working versions of all of Python 3.8 through 3.12
installed and on `PATH` as `python3.8`, `python3.9`, etc. The nonlocal test
suite is run for each `tox` environment, so it's best to use at most two
parallel sub-processes to avoid oversaturating your network bandwidth; e.g.:

Expand Down Expand Up @@ -250,7 +250,7 @@ with `make linkcheck`.
Both Github Actions and Azure Pipelines are set up for the project, and should
run on any forks of the repository.

Github Actions runs the test suite on Linux for Python 3.7 through 3.11, as well
Github Actions runs the test suite on Linux for Python 3.8 through 3.12, as well
as the `flake8` lints and the Sphinx doctests and link-validity testing, and is
configured to run on all commits. The workflow can be skipped per-commit by
including `[skip ci]` in the commit message.
Expand Down
8 changes: 4 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@ stages:
- template: azure-coretest.yml
parameters:
pythons:
py37:
spec: '3.7'
py38:
spec: '3.8'
py39:
Expand All @@ -92,15 +90,15 @@ stages:
spec: '3.10'
py311:
spec: '3.11'
py312:
spec: '3.12'
pypy3:
spec: 'pypy3'
platforms: [linux]

- template: azure-coretest.yml
parameters:
pythons:
py37:
spec: '3.7'
py38:
spec: '3.8'
py39:
Expand All @@ -109,6 +107,8 @@ stages:
spec: '3.10'
py311:
spec: '3.11'
py312:
spec: '3.12'
platforms: [windows, macOs]

- template: azure-sdisttest.yml
Expand Down
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ classifiers =
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Topic :: Documentation
Topic :: Documentation :: Sphinx
Topic :: Software Development
Expand All @@ -44,7 +44,7 @@ install_requires =
certifi
jsonschema>=3.0

python_requires = >=3.6
python_requires = >=3.8
packages = find:
package_dir =
=src
Expand Down
8 changes: 4 additions & 4 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ minversion=2.0
isolated_build=True
envlist=
# Test all Python versions on latest lib versions
py3{7,8,9,10,11}-sphx_latest-attrs_latest-jsch_latest
py3{8,9,10,11,12}-sphx_latest-attrs_latest-jsch_latest
# Test dev Python version on current in-repo dev lib versions
py310-sphx_dev-attrs_dev-jsch_dev
# Scan across Sphinx versions
Expand All @@ -15,9 +15,9 @@ envlist=
# Scan jsonschema versions
py310-sphx_latest-attrs_latest-jsch_{3_0,3_x,4_0,4_8,dev}
# Earliest supported Python and lib versions all together
py37-sphx_1_6_x-attrs_19_2-jsch_3_0
py38-sphx_1_6_x-attrs_19_2-jsch_3_0
# Spot matrix of early Python, Sphinx, attrs versions
py3{7,8,9}-sphx_{1,2}_x-attrs_{19,20}_2-jsch_latest
py3{8,9}-sphx_{1,2}_x-attrs_{19,20}_2-jsch_latest
# Test the specific Sphinx threshold cases where behavior changed
py310-sphx_{2_3_1,2_4_0,3_2_1,3_3_0,3_4_0}-attrs_latest-jsch_latest
# Simple 'does the sdist install' check
Expand Down Expand Up @@ -76,11 +76,11 @@ deps=
[testenv:linux]
platform=linux
basepython=
py312: python3.12
py311: python3.11
py310: python3.10
py39: python3.9
py38: python3.8
py37: python3.7

[testenv:flake8]
skip_install=True
Expand Down

0 comments on commit 3ab0989

Please sign in to comment.