Skip to content

ci: Pin transitive dependencies for tests on Python>=3.8#6437

Merged
alexander-alderman-webb merged 30 commits into
masterfrom
webb/populate-tox/transitive-dependencies
Jun 2, 2026
Merged

ci: Pin transitive dependencies for tests on Python>=3.8#6437
alexander-alderman-webb merged 30 commits into
masterfrom
webb/populate-tox/transitive-dependencies

unpin setuptools

47200a7
Select commit
Loading
Failed to load commit list.
@sentry/warden / warden: code-review completed May 29, 2026 in 5m 28s

1 issue

code-review: Found 1 issue (1 medium)

Medium

try/except only catches DryRunFailed, leaving json.JSONDecodeError unhandled when pip succeeds with non-JSON output - `scripts/populate_tox/populate_tox.py:1233-1237`

If uv/pip exits with code 0 but emits non-JSON output (e.g. warnings that slip through -qqq), json.loads in _run_pip_dry_run raises json.JSONDecodeError, which is not caught by except DryRunFailed here and will crash the entire script instead of skipping that python version gracefully. Have you considered widening the except clause to also catch json.JSONDecodeError (and possibly KeyError)?


⏱ 5m 16s · 461.0k in / 28.4k out · $0.99

Annotations

Check warning on line 1237 in scripts/populate_tox/populate_tox.py

See this annotation in the file changed.

@sentry-warden sentry-warden / warden: code-review

try/except only catches DryRunFailed, leaving json.JSONDecodeError unhandled when pip succeeds with non-JSON output

If `uv`/pip exits with code 0 but emits non-JSON output (e.g. warnings that slip through `-qqq`), `json.loads` in `_run_pip_dry_run` raises `json.JSONDecodeError`, which is not caught by `except DryRunFailed` here and will crash the entire script instead of skipping that python version gracefully. Have you considered widening the except clause to also catch `json.JSONDecodeError` (and possibly `KeyError`)?