chore: bump minimum Python from 3.8 to 3.9 (#336)

* chore: bump minimum Python from 3.8 to 3.9 and adopt PEP 585 builtins

- Update requires-python, classifiers, mypy target, and black target in pyproject.toml
- Replace Python 3.8 with 3.9 in CI matrix and nightly workflow
- Replace typing.List/Dict/Tuple/Set with builtin list/dict/tuple/set (PEP 585)
- Update all 3.8 version references in README, docs, website, and install.sh
- Fix test_wayland_no_tools to mock IBus availability
- Remove List from common_types re-exports and update test

* style: reformat test files for Black 26.x and pin version in CI

Black 26.x introduced parenthesized context manager formatting.
Reformat 7 test files and pin Black>=26,<27 in CI to prevent
future drift from unpinned version upgrades.
This commit is contained in:
Jatin K Malik
2026-03-21 12:15:10 -07:00
committed by GitHub
parent e478f7e353
commit fa17b88f74
27 changed files with 265 additions and 227 deletions
+1 -1
View File
@@ -175,7 +175,7 @@ jobs:
| **Version** | ${{ steps.version.outputs.version }} |
| **Base Version** | ${{ steps.version.outputs.base_version }} |
| **Build Date** | ${{ steps.version.outputs.date }} |
| **Python** | 3.8+ |
| **Python** | 3.9+ |
| **OS** | Linux (X11 & Wayland) |
---
+2 -2
View File
@@ -79,7 +79,7 @@ jobs:
- name: Install linting tools
run: |
python -m pip install --upgrade pip
pip install flake8 black isort
pip install flake8 "black>=26,<27" isort
- name: Lint with flake8 (critical errors)
run: |
@@ -102,7 +102,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.10', '3.11', '3.13']
python-version: ['3.9', '3.10', '3.11', '3.13']
steps:
- uses: actions/checkout@v4