Skip to content

fix: extend Python support through 3.13 - #135

Merged
wlgys8 merged 2 commits into
mainfrom
fix/python-requires-lt314
Oct 18, 2026
Merged

wlgys8 merged 2 commits into
mainfrom
fix/python-requires-lt314

Conversation

@wlgys8

@wlgys8 wlgys8 commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Extend the remaining workspace package requires-python ranges from >=3.10,<3.12 to >=3.10,<3.14 and regenerate uv.lock.
  • Allow Python 3.12 and 3.13 in install.sh, preserving the Python 3.10-only restriction for Unitree hardware deployment and --all.
  • Expand the existing CI matrix to Python 3.10–3.13 for fast, Numba, and full suites; select the matrix interpreter during installation and omit Unitree installation/tests on every non-3.10 job.
  • Align English/Chinese installation documentation, contributor guidance, and release verification instructions with the expanded range.

Validation

Passed locally:

  • uv lock and uv lock --check.
  • uv sync --locked --dry-run --python <3.12|3.13> --extra cuda --no-default-groups.
  • uv sync --locked --dry-run --python <3.12|3.13> --extra cuda --extra rslrl --extra skrl-jax --extra tbb --group test.
  • sh -n install.sh and one-off mocked installer checks: all four interpreter choices are forwarded to uv; --all accepts 3.10 and rejects 3.11–3.13 before side effects; invalid/missing Python choices are rejected.
  • Workflow YAML parsing and embedded shell syntax checks.
  • prek run --all-files and git diff --check.

The dry runs validate dependency/install plans only: actual Python 3.12/3.13 installation, runtime tests, GPU training, and hardware execution have not been performed locally. The expanded CI matrix will provide runtime test results. Documentation HTML builds could not run because Sphinx is not installed in the local environment.

CI cost

PR/push test jobs increase from 4 to 8 (four Python versions × fast/Numba); scheduled/manual full-suite jobs increase from 2 to 4. Existing suite selections and Unitree's Python 3.10 boundary are preserved.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Runtime compatibility on Python 3.12/3.13 (notably numba/torch/motrixsim native deps) is deferred to the new CI matrix and unverified locally, so a human should confirm CI results before approval.

No open issues 🎉

What changed in this PR

This PR widens the supported Python range for MotrixLab from 3.10–3.11 to 3.10–3.13. It is a workspace-wide, mechanical metadata/tooling change: it bumps the requires-python upper bound on the remaining workspace packages, broadens the install.sh --python validation, expands the CI matrix to all four interpreters, and aligns the English/Chinese documentation, contributor guidance, and release verification notes. The long-standing exception — that the Unitree hardware deployment plugin and the full --all install remain Python 3.10 only — is preserved everywhere.

Changes:

  • Raise requires-python from >=3.10,<3.12 to >=3.10,<3.14 across the remaining workspace packages.
  • Accept 3.12/3.13 in install.sh --python, generalize the --all guard to reject any explicit non-3.10 interpreter, and expand the CI test matrix to Python 3.10–3.13 while omitting Unitree on non-3.10 jobs.
  • Update README/CONTRIBUTING/AGENTS and the installation/release docs to describe the 3.10–3.13 range.
File Description
*/​pyproject.toml (11 packages) Raise requires-python upper bound to <3.14 for workspace members.
install.sh Accept 3.12/3.13; generalize the --all guard to any non-3.10 explicit interpreter.
.github/​workflows/​tests.yml Expand matrix to 3.10–3.13; use matrix.python for sync and the non-3.10 Unitree ignore.
.github/​workflows/​README.md, .github/​workflows/​RELEASE.md Describe the expanded matrix and 3.10–3.13 clean-install verification.
README.md, README.zh-CN.md Update the Python badge and requirement tables to 3.10–3.13.
CONTRIBUTING.md, AGENTS.md Update contributor/dev-environment Python guidance to 3.10–3.13.
docs/​.../​getting_started/​installation.md (en + zh) Align install instructions, option table, and the requires-python example/caveat.
motrixlab/​README.md Update the install note to "Use Python 3.10–3.13".

Review effort: Balanced

@wlgys8
wlgys8 merged commit 3cc4820 into main Oct 18, 2026
12 checks passed
@wlgys8
wlgys8 deleted the fix/python-requires-lt314 branch October 18, 2026 16:25
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.

2 participants