diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 96f1e35..80378d2 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -6,7 +6,7 @@ ### Technology Stack -- **Python**: 3.9+ +- **Python**: 3.10+ - **Core**: NumPy (≥1.21), QtPy (≥1.9) - **GUI**: Qt via QtPy (PyQt5/PyQt6/PySide6) - **Testing**: pytest diff --git a/.github/workflows/test-PyQt5.yml b/.github/workflows/test-PyQt5.yml index 07fac8c..7ff71c6 100644 --- a/.github/workflows/test-PyQt5.yml +++ b/.github/workflows/test-PyQt5.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.11", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.13", "3.14"] steps: - uses: actions/checkout@v7 diff --git a/.github/workflows/test-PyQt6.yml b/.github/workflows/test-PyQt6.yml index 0209ac9..2af2b1c 100644 --- a/.github/workflows/test-PyQt6.yml +++ b/.github/workflows/test-PyQt6.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.11", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.13", "3.14"] steps: - uses: actions/checkout@v7 diff --git a/.github/workflows/test-PySide6.yml b/.github/workflows/test-PySide6.yml index fdc1441..e2cdaec 100644 --- a/.github/workflows/test-PySide6.yml +++ b/.github/workflows/test-PySide6.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.11", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.13", "3.14"] steps: - uses: actions/checkout@v7 diff --git a/CHANGELOG.md b/CHANGELOG.md index ada1e22..23ce154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # PythonQwt Releases +## Unreleased + +### Requirements + +- Python 3.10 or later is now required. Python 3.9 users must keep an earlier compatible release. + ## Version 0.16.3 ### New features diff --git a/README.md b/README.md index 0c3db65..a4263f6 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ Compatibility table: ### Requirements -- Python >=3.9 +- Python >=3.10 - QtPy >= 1.9 (and a Python-to-Qt binding library, see above) - NumPy >= 1.21 diff --git a/doc/installation.rst b/doc/installation.rst index 7b840f2..dcefee8 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -5,7 +5,7 @@ Dependencies ------------ Requirements: - * Python 3.9 or higher + * Python 3.10 or higher * PyQt5 5.15, PyQt6 or PySide6 * QtPy 1.9 or higher * NumPy 1.21 or higher diff --git a/pyproject.toml b/pyproject.toml index 581f481..9b9680b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,14 +23,13 @@ classifiers = [ "Operating System :: OS Independent", "Operating System :: POSIX", "Operating System :: Unix", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", ] -requires-python = ">=3.9, <4" +requires-python = ">=3.10, <4" dependencies = ["NumPy>=1.21", "QtPy>=1.9"] dynamic = ["version"] @@ -62,7 +61,7 @@ addopts = "qwt" exclude = [".git", ".vscode", "build", "dist","venv*",".venv*"] line-length = 88 # Same as Black. indent-width = 4 # Same as Black. -target-version = "py39" # Assume Python 3.9. +target-version = "py310" # Assume Python 3.10. [tool.ruff.lint] # all rules can be found here: https://beta.ruff.rs/docs/rules/