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

Add Python 3.12, retire Python 3.7 #291

Merged
merged 2 commits into from
May 14, 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
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