Skip to content

Commit

Permalink
Drop Python 3.7
Browse files Browse the repository at this point in the history
  • Loading branch information
sammdot committed Sep 27, 2023
1 parent 8a8d360 commit 2adedbc
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 39 deletions.
53 changes: 26 additions & 27 deletions .github/workflows/ci/workflow_context.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ skippy_enabled: true
vars:
- &dist_linux
variant: Linux
python: '3.9'
python: "3.9"
os: Linux
platform: ubuntu-22.04

- &dist_macos
variant: macOS
python: '3.9'
python: "3.9"
os: macOS
platform: macos-12

- &dist_win
variant: Windows
python: '3.9'
python: "3.9"
os: Windows
platform: windows-2022

Expand All @@ -32,67 +32,66 @@ vars:
platform: ubuntu-latest

jobs:

# Platform tests.
- &test
<<: *dist_linux
type: test
reqs: ['dist', 'test']
skiplists: ['job_test', 'os_linux']
reqs: ["dist", "test"]
skiplists: ["job_test", "os_linux"]
test_args: -p no:pytest-qt --ignore=test/gui_qt
- <<: *test
<<: *dist_macos
cache_extra_deps: ['osx/deps.sh']
skiplists: ['job_test', 'os_macos']
cache_extra_deps: ["osx/deps.sh"]
skiplists: ["job_test", "os_macos"]
- <<: *test
<<: *dist_win
skiplists: ['job_test', 'os_windows']
skiplists: ["job_test", "os_windows"]

# Python tests.
- &python_test
<<: *test
<<: *dist_other
variant: Python 3.7
python: '3.7'
skiplists: ['job_test', 'os_linux', 'os_macos', 'os_windows']
- <<: *python_test
variant: Python 3.8
python: '3.8'
python: "3.8"
skiplists: ["job_test", "os_linux", "os_macos", "os_windows"]
- <<: *python_test
variant: Python 3.10
python: '3.10'
python: "3.10"
- <<: *python_test
variant: Python 3.11
python: "3.11"

# Qt GUI tests.
- <<: *test
type: test_gui_qt
variant: Qt GUI
reqs: ['dist', 'dist_extra_gui_qt', 'test']
skiplists: ['job_test_gui_qt']
reqs: ["dist", "dist_extra_gui_qt", "test"]
skiplists: ["job_test_gui_qt"]
test_args: test/gui_qt

# Packaging tests.
- <<: *dist_other
type: test_packaging
variant: Packaging
python: '3.9'
reqs: ['packaging', 'setup']
skiplists: ['job_test_packaging']
python: "3.9"
reqs: ["packaging", "setup"]
skiplists: ["job_test_packaging"]

# Platform builds.
- &build
<<: *dist_linux
type: build
needs: [test_linux]
reqs: ['build', 'setup']
cache_extra_deps: ['reqs/dist_*.txt', 'linux/appimage/deps.sh']
skiplists: ['job_build', 'os_linux']
reqs: ["build", "setup"]
cache_extra_deps: ["reqs/dist_*.txt", "linux/appimage/deps.sh"]
skiplists: ["job_build", "os_linux"]
- <<: *build
<<: *dist_macos
needs: [test_macos]
cache_extra_deps: ['reqs/dist_*.txt', 'osx/deps.sh']
skiplists: ['job_build', 'os_macos']
cache_extra_deps: ["reqs/dist_*.txt", "osx/deps.sh"]
skiplists: ["job_build", "os_macos"]
- <<: *build
<<: *dist_win
needs: [test_windows]
cache_extra_deps: ['reqs/dist_*.txt', 'windows/dist_deps.sh']
skiplists: ['job_build', 'os_windows']
cache_extra_deps: ["reqs/dist_*.txt", "windows/dist_deps.sh"]
skiplists: ["job_build", "os_windows"]
17 changes: 8 additions & 9 deletions doc/developer_guide.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Environment setup

You need Python >= 3.7 installed, and you need [tox](https://pypi.org/project/tox/) >= 4.0.
You need Python >= 3.8 installed, and you need [tox](https://pypi.org/project/tox/) >= 4.0.

Using tox takes care of all the details of creating and managing an isolated
virtual environment, installing the necessary dependencies, and isolating
Expand All @@ -10,12 +10,13 @@ The command for using tox is: `tox r {-e envlist} {-- arguments}`. Use `tox -a
-v` to get a list of available environments.

The same virtual environment is reused by the following tox environments:

- `tox r -e test -- ARGS`: run the testsuite. This is the default environment
when not provided.
- `tox r -e launch -- ARGS`: run Plover from source.
- `tox r -e setup -- COMMAND`: run `./setup.py COMMAND`.
- `tox r -e packaging_checks`: run the same packaging checks as the CI (add `--
-n` to see a dry-run of the exact checks).
-n` to see a dry-run of the exact checks).
- `tox r -e plugins_install`: install the distribution plugins (or the specified
plugins when run with `tox -e plugins_install -- REQS`). Note that this does
not use the plugins manager for installing.
Expand All @@ -30,11 +31,10 @@ The actual virtual environment lives in `.tox/dev`, and can be ["activated" like
any other virtual environment](https://virtualenv.pypa.io/en/latest/user_guide.html#activators).

The configuration also provides support for lightweight tests only environment:
`pyX`, where `X` is the version of the Python interpreter to use. E.g. running
`pyX`, where `X` is the version of the Python interpreter to use. E.g. running
`tox r -e 'py3,py36,py37,py38,py39` will execute the testsuite for each version of Python we
support.


# Creating a binary distribution

A number of commands are provided by `setup.py` for creating binary
Expand All @@ -47,7 +47,6 @@ distributions (which include all the necessary dependencies):

Use `bdist_xxx --help` to get more information on each command supported options.


# Making a pull request

When making a pull request, please include a short summary of the changes
Expand All @@ -63,7 +62,7 @@ description of the substantive changes in the PR.
They should be named `<section>/<pr_number>.<category>.md`, where the sections
/ categories are:

* `feature`: New features:
- `feature`: New features:

- `core`: Core changes.
- `dict`: Updates to the default dictionaries.
Expand All @@ -72,9 +71,9 @@ They should be named `<section>/<pr_number>.<category>.md`, where the sections
- `osx`: macOS specific changes.
- `windows`: Windows specific changes.

* `bugfix`: For bugfixes, support the same categories as for `feature`.
- `bugfix`: For bugfixes, support the same categories as for `feature`.

* `api`: For documenting changes to the public/plugins API:
- `api`: For documenting changes to the public/plugins API:

- `break`: For breaking (backward incompatible) changes.
- `dnr`: For deprecations of an existing feature or behavior.
Expand All @@ -86,7 +85,7 @@ case two fragments should be added. It is not necessary to make a separate
documentation fragment for documentation changes accompanying the relevant
code changes. See the following for an example news fragment:

``` bash
```bash
$ cat news.d/bugfix/1041.ui.md
Fix possible crash when changing machine parameters in the configuration dialog.
```
1 change: 0 additions & 1 deletion reqs/test.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
mock>=3.0.0; python_version <= "3.7"
pytest
pytest-qt

Expand Down
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ maintainer = Ted Morin
maintainer_email = [email protected]
classifiers =
Programming Language :: Python :: 3
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
License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Development Status :: 5 - Production/Stable
Environment :: X11 Applications
Expand All @@ -32,7 +32,7 @@ project_urls =

[options]
include_package_data = True
python_requires = >=3.7
python_requires = >=3.8
zip_safe = True
packages =
plover
Expand Down

0 comments on commit 2adedbc

Please sign in to comment.