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.7 #1634

Merged
merged 4 commits into from
Sep 27, 2023
Merged
Changes from 1 commit
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
Next Next commit
Drop Python 3.7
  • Loading branch information
sammdot committed Sep 27, 2023
commit 2adedbced78845c76ec0975925e07f64229b94f7
53 changes: 26 additions & 27 deletions .github/workflows/ci/workflow_context.yml
Original file line number Diff line number Diff line change
@@ -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

@@ -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
@@ -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.
@@ -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
@@ -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
@@ -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.
@@ -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.
@@ -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

4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -5,10 +5,10 @@ maintainer = Ted Morin
maintainer_email = morinted@gmail.com
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
@@ -32,7 +32,7 @@ project_urls =

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