Skip to content

Commit 10eca87

Browse files
author
PyCompiler ARK++ Team
committed
ci(runtime): prefer Python 3.12 by default in run.sh; deps: add env-markers for PySide6/shiboken6 and Pillow to support Python 3.12/3.13
1 parent 6420f94 commit 10eca87

2 files changed

Lines changed: 22 additions & 12 deletions

File tree

requirements.txt

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
# Note: PyInstaller/Nuitka are installed per-project (not global requirements)
33
# Use with constraints.txt for reproducible builds: pip install -r requirements.txt -c constraints.txt
44

5-
# Core GUI framework
6-
PySide6>=6.7.2,<6.8.0
7-
shiboken6>=6.7.2,<6.8.0
5+
# Core GUI framework (Qt for Python)
6+
# PySide6/shiboken6 6.8+ adds Python 3.13 support. Keep 6.7.x for <=3.12.
7+
PySide6>=6.7.2,<6.8.0; python_version < "3.13"
8+
PySide6>=6.8.0; python_version >= "3.13"
9+
shiboken6>=6.7.2,<6.8.0; python_version < "3.13"
10+
shiboken6>=6.8.0; python_version >= "3.13"
811

912
# System utilities
1013
psutil>=5.9.0,<6.0.0
@@ -16,18 +19,25 @@ tomli>=2.0.1,<3.0.0; python_version < "3.11"
1619
jsonschema>=4.18.0,<5.0.0
1720

1821
# Image processing
19-
Pillow>=9.0.0,<11.0.0
22+
# Pillow 11+ is needed for Python 3.13
23+
Pillow>=9.0.0,<11.0.0; python_version < "3.13"
24+
Pillow>=11.0.0,<12.0.0; python_version >= "3.13"
2025

2126
# Test dependencies (dev)
22-
pytest>=7.4.0,<8.0.0
23-
pytest-qt>=4.2.0,<5.0.0
24-
pytest-asyncio>=0.23.0,<1.0.0
27+
# pytest 8.3+ adds Python 3.13 support
28+
pytest>=7.4.0,<8.0.0; python_version < "3.13"
29+
pytest>=8.3.3,<9.0.0; python_version >= "3.13"
30+
# pytest-qt 4.4+ supports pytest 8
31+
pytest-qt>=4.4.0,<5.0.0
32+
# pytest-asyncio 0.23.6+ works with pytest 8
33+
pytest-asyncio>=0.23.6,<1.0.0
2534
pytest-cov>=4.1.0,<5.0.0
2635

2736
# Code quality tools (dev)
28-
black>=23.12.0,<24.0.0
29-
ruff>=0.1.9,<1.0.0
30-
mypy>=1.8.0,<2.0.0
37+
# Use versions that support Python 3.13
38+
black>=24.4.2,<25.0.0
39+
ruff>=0.5.0,<1.0.0
40+
mypy>=1.10.0,<2.0.0
3141

3242
# Security tools (dev)
3343
bandit>=1.7.5,<2.0.0

run.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ fi
136136
# --- Python discovery & version check -------------------------------------
137137
choose_python(){
138138
if [[ -n "$PY_CMD_OVERRIDE" ]]; then echo "$PY_CMD_OVERRIDE"; return; fi
139-
# Prefer highest available Python 3.x (13..8) even if not default
140-
for cand in python3.13 python3.12 python3.11 python3.10 python3.9 python3.8; do
139+
# Prefer Python 3.12 by default, then fallback to 3.13 and lower (11..8)
140+
for cand in python3.12 python3.13 python3.11 python3.10 python3.9 python3.8; do
141141
if command -v "$cand" >/dev/null 2>&1; then echo "$cand"; return; fi
142142
done
143143
if command -v python3 >/dev/null 2>&1; then echo python3; return; fi

0 commit comments

Comments
 (0)