argcomplete 3.7.1, released 2026-08-04, declares requires-python >=3.8
but its completers module uses PEP 585 and PEP 604 syntax in class body
annotations without ``from __future__ import annotations``. As
argcomplete is an unconditional dependency of nox, this makes ``import
nox`` fail outright on Python 3.8 and 3.9, so every job on those
interpreters errors before the noxfile is even loaded.
Pinning nox itself does not help, as all versions in range depend on
``argcomplete<4,>=1.9.4``, which resolves to 3.7.1 regardless; the
constraint has to be on argcomplete. The exclusion is version exact so
that an upstream fix is picked up automatically, and is a no-op on
Python 3.10 and above.
Reported upstream at https://github.com/kislyuk/argcomplete/issues/559
Change-Id: I02d92ae9dcdf7cf5ed2b836a717ec04b2cc1a3bf
- name: Install dependencies
run: |
python -m pip install --upgrade pip
- pip install --upgrade nox setuptools
+ # argcomplete 3.7.1 (a nox dependency) declares requires-python
+ # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+ pip install --upgrade nox setuptools "argcomplete!=3.7.1"
pip list
- name: Run tests
- name: Install dependencies
run: |
python -m pip install --upgrade pip
- pip install --upgrade nox setuptools
+ # argcomplete 3.7.1 (a nox dependency) declares requires-python
+ # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+ pip install --upgrade nox setuptools "argcomplete!=3.7.1"
pip list
- name: Run nox
- name: Install dependencies
run: |
python -m pip install --upgrade pip
- pip install --upgrade nox setuptools
+ # argcomplete 3.7.1 (a nox dependency) declares requires-python
+ # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+ pip install --upgrade nox setuptools "argcomplete!=3.7.1"
pip list
- name: Run tests
- name: Install dependencies
run: |
python -m pip install --upgrade pip
- pip install --upgrade nox setuptools
+ # argcomplete 3.7.1 (a nox dependency) declares requires-python
+ # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+ pip install --upgrade nox setuptools "argcomplete!=3.7.1"
pip list
- name: Run nox