chore: drop Python 3.10 support, require Python 3.11+

CI, packaging metadata, and docs now reflect Python 3.11 as the minimum
supported version. Also collapses the sys.version_info compat shims in
superset/app.py, superset/middleware/legacy_prefix_redirect.py, and
superset/utils/backports.py, which existed solely to support running on
Python 3.10 (StrEnum and wsgiref.types were both added in 3.11).

Removing the 3.10 floor also drops the now-dead pyhive<0.7.0 marker for
python_version<'3.11' and obsoletes the need to pin syntaqlite below
0.5.0 for 3.10 compatibility.

Closes #42007

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Evan Rusackas
2026-07-14 09:47:01 -07:00
parent 4b07d43050
commit 332fe2e74b
33 changed files with 43 additions and 74 deletions

View File

@@ -25,7 +25,7 @@ jobs:
# Run the full version spread on push (master/release) and nightly,
# but only the current version on PRs — lint/format/type results
# rarely differ across patch versions, so 3x per PR is wasteful.
python-version: ${{ github.event_name == 'pull_request' && fromJSON('["current"]') || fromJSON('["current", "previous", "next"]') }}
python-version: ${{ github.event_name == 'pull_request' && fromJSON('["current"]') || fromJSON('["current", "next"]') }}
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0