Skip to content

Commit e9a1dd6

Browse files
build(deps): require Python >=3.9 and cap acli extras below breaking majors
Python 3.8 is 0.09% of recent downloads (pypistats, last 30 days) and textual 8.x requires 3.9+, so py3.8 silently back-resolved the acli TUI to an untested textual 6.x. Raise python_requires to >=3.9, widen the CI matrix to 3.9-3.13 (it only ran 3.8), unify the httpx floor at 0.27 with agenticCLI, cap textual/anthropic/openai below their next breaking majors, and switch the camera extra to opencv-python-headless (acli only uses non-GUI cv2 APIs; headless drops the libGL system dependency).
1 parent 0db427f commit e9a1dd6

4 files changed

Lines changed: 15 additions & 14 deletions

File tree

‎.github/workflows/pre-commit.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ jobs:
99
fail-fast: true
1010
env:
1111
OS: ubuntu-latest
12-
PYTHON: '3.8'
12+
PYTHON: '3.12'
1313
steps:
1414
- uses: actions/checkout@v4
1515
- name: Setup Python
1616
uses: actions/setup-python@v5
1717
with:
18-
python-version: '3.8'
18+
python-version: '3.12'
1919
- name: Update setuptools and wheel
2020
run: |
2121
pip install setuptools==68.2.2 wheel==0.41.2

‎.github/workflows/unit_test.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
matrix:
1818
os: [ ubuntu-latest ]
19-
python-version: [ '3.8' ]
19+
python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13' ]
2020

2121

2222
steps:

‎requirements.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ cryptography
55
certifi
66
typer>=0.9.0
77
rich>=13.0.0
8-
httpx>=0.25.0
8+
httpx>=0.27.0
99
httpx-sse>=0.4.0
1010
typing_extensions>=4.0

‎setup.py‎

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,38 +56,39 @@ def readme():
5656
"License :: OSI Approved :: Apache Software License",
5757
"Programming Language :: Python",
5858
"Programming Language :: Python :: 3",
59-
"Programming Language :: Python :: 3.8",
6059
"Programming Language :: Python :: 3.9",
6160
"Programming Language :: Python :: 3.10",
6261
"Programming Language :: Python :: 3.11",
62+
"Programming Language :: Python :: 3.12",
63+
"Programming Language :: Python :: 3.13",
6364
],
6465
platforms="Posix; MacOS X; Windows",
65-
python_requires=">=3.8.0",
66+
python_requires=">=3.9",
6667
install_requires=get_dependencies(),
6768
include_package_data=True,
6869
extras_require={
6970
"tokenizer": ["tiktoken"],
7071
# Interactive AI assistant (dashscope.acli); typer/rich are core deps
7172
"acli": [
7273
"prompt-toolkit>=3.0",
73-
"textual>=0.50",
74+
"textual>=0.50,<9",
7475
"PyYAML>=6.0",
7576
"tomli>=2.0; python_version < '3.11'",
7677
],
77-
"acli-anthropic": ["anthropic>=0.40"],
78-
"acli-openai": ["openai>=1.30"],
78+
"acli-anthropic": ["anthropic>=0.40,<2"],
79+
"acli-openai": ["openai>=1.30,<4"],
7980
"acli-voice": ["sounddevice>=0.4", "numpy>=1.20"],
80-
"acli-camera": ["opencv-python>=4.5"],
81+
"acli-camera": ["opencv-python-headless>=4.5"],
8182
"acli-all": [
8283
"prompt-toolkit>=3.0",
83-
"textual>=0.50",
84+
"textual>=0.50,<9",
8485
"PyYAML>=6.0",
8586
"tomli>=2.0; python_version < '3.11'",
86-
"anthropic>=0.40",
87-
"openai>=1.30",
87+
"anthropic>=0.40,<2",
88+
"openai>=1.30,<4",
8889
"sounddevice>=0.4",
8990
"numpy>=1.20",
90-
"opencv-python>=4.5",
91+
"opencv-python-headless>=4.5",
9192
],
9293
# Agentic RL fine-tuning (dashscope.finetune.reinforcement)
9394
"rl": [

0 commit comments

Comments
 (0)