Skip to content

Fix CI: bump requires-python to >=3.10#47

Merged
siddhss5 merged 2 commits into
mainfrom
fix-ci-requires-python-bump
Apr 17, 2026
Merged

Fix CI: bump requires-python to >=3.10#47
siddhss5 merged 2 commits into
mainfrom
fix-ci-requires-python-bump

Conversation

@siddhss5

@siddhss5 siddhss5 commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Problem

CI has been red on all PRs and on main since April 5 (#44 — "Bump dependency lower bounds to resolve Dependabot alerts"). Two separate failures stacked on top of each other:

  1. Dependency resolution fails: uv sync --all-extras --dev can't resolve because the viz extra requires matplotlib>=3.8.0 but modern matplotlib versions dropped Python 3.8/3.9 support, while requires-python = ">=3.8" asks for those versions.
  2. ruff not installed: even if (1) passed, uv run ruff check . couldn't spawn ruff because it wasn't in any dependency group.

Fix

Two small changes to pyproject.toml:

  • Bump requires-python from ">=3.8" to ">=3.10" to match:
    • The actual CI matrix ([3.10, 3.11, 3.12] in .github/workflows/ci.yml)
    • The matplotlib constraint already imposed by the viz extra
  • Add [dependency-groups].dev = ["ruff>=0.6.0"] so uv sync --dev installs ruff for the lint step.

Also added Programming Language :: Python :: 3.10/3.11/3.12 classifiers that were missing from the metadata.

Risk

Minimal. No code changes. Anyone pinned to Python 3.8/3.9 was already broken by #44 (the viz extra simply couldn't install); this PR just makes the reality explicit in the metadata.

Verified

  • Local: uv sync --all-extras --dev resolves cleanly, installs ruff 0.15.x.
  • Local: 307 pytest tests pass; ruff check and ruff format --check both clean.
  • CI: all three Python versions (3.10/3.11/3.12) green on this PR.

Why this matters

Unblocks:

CI has been failing on all PRs and on main since April 5 (PR #44
bumped matplotlib>=3.8.0 in the 'viz' extra). uv sync --all-extras
refuses to resolve because:
  - requires-python = '>=3.8' tries to satisfy Python 3.8/3.9
  - matplotlib>=3.8.0 only supports Python>=3.9
  - matplotlib>=3.10.0 only supports Python>=3.10
  - The CI matrix tests Python 3.10/3.11/3.12 anyway

Bump requires-python to '>=3.10' to match the actual tested range
and the modern matplotlib constraint. Also add Python 3.10/3.11/3.12
classifiers, which were missing.

No code changes — verified locally: 307 pytest pass, ruff check and
format both clean.
Fix CI 'Ruff lint' step. Workflow does 'uv sync --all-extras --dev'
then 'uv run ruff check .' but ruff wasn't in any dependency group,
so uv couldn't spawn it. Add a [dependency-groups].dev group with
ruff>=0.6.0 (matches the version mj_manipulator uses).
@siddhss5 siddhss5 merged commit c6d0ec0 into main Apr 17, 2026
4 checks passed
@siddhss5 siddhss5 deleted the fix-ci-requires-python-bump branch April 17, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant