Skip to content

build(deps)!: lower Python floor to 3.11#133

Merged
stanlrt merged 25 commits intomainfrom
130-make-raitap-compatible-with-python-311
May 10, 2026
Merged

build(deps)!: lower Python floor to 3.11#133
stanlrt merged 25 commits intomainfrom
130-make-raitap-compatible-with-python-311

Conversation

@stanlrt
Copy link
Copy Markdown
Collaborator

@stanlrt stanlrt commented May 9, 2026

Summary

  • Lower requires-python to >=3.11,<3.14; add 3.11/3.12 classifiers
  • Set ruff target-version=py311, pyright pythonVersion=3.11
  • Gate docs dependency group to python_full_version >= '3.13' (Sphinx 9.1+ requires py>=3.12; docs CI runs on 3.13)
  • Regenerate uv.lock (universal)
  • CI: quality-gate-linux-cpu matrixed on [3.11, 3.13]; lint/pyright/coverage gated to 3.13
  • CI: package-smoke cross-products python-version × extra (torch-cpu, onnx-cpu, shap, captum, torchattacks, foolbox, mlflow, metrics, reporting, launcher) with import smoke
  • Docs: replace "Python 3.13" claims with "Python 3.11+" in installation/setup/job-launcher

Closes #130. Unblocks #129 (Marabou adapter — wheel cap at cp311).

Test plan

  • uv sync --python 3.11/3.12/3.13 all succeed
  • uv run --python 3.11 pytest -m "not e2e and not cuda" — 571 passed
  • uv run --python 3.13 pytest -m "not e2e and not cuda" — 571 passed
  • ruff check + ruff format --check clean on both interpreters
  • pyright clean on both interpreters
  • sphinx skipped on py3.11 venv (gating verified)
  • CI Quality Gate green on both 3.11 and 3.13 matrix entries
  • package-smoke green for every (py, extra) combination

stanlrt added 22 commits May 8, 2026 18:20
Copilot AI review requested due to automatic review settings May 9, 2026 04:04
@stanlrt stanlrt linked an issue May 9, 2026 that may be closed by this pull request
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR broadens RAITAP’s supported Python range to 3.11–3.13 (keeping the existing <3.14 cap), and adjusts tooling/CI/docs accordingly so contributors and users can work on 3.11+ while still keeping heavier lanes (lint/typecheck/coverage/docs) primarily on 3.13.

Changes:

  • Packaging/tooling: lower requires-python to >=3.11,<3.14, add 3.11/3.12 classifiers, set Ruff/Pyright target versions to 3.11.
  • Dependencies: gate the docs dependency group to python_full_version >= '3.13'.
  • CI/docs: expand CPU quality gate and package smoke coverage to include Python 3.11, and update docs to reflect “Python 3.11+”.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pyproject.toml Lowers Python floor to 3.11, updates classifiers and Ruff/Pyright targets, gates docs group to py≥3.13.
docs/using-raitap/installation.md Updates installation note to Python 3.11+ and clarifies 3.14 is unsupported.
docs/contributor/setup.md Updates contributor prerequisites and guidance for selecting interpreter versions with uv.
docs/using-raitap/job-launcher.md Updates job-launcher docs to reflect Python 3.11+ support.
.github/workflows/code-quality.yaml Adds a 3.11/3.13 matrix for CPU quality gate; gates lint/typecheck/coverage upload to 3.13.
.github/workflows/package-smoke.yml Adds a 3.11/3.13 matrix and per-extra smoke sync/import checks.

Comment thread .github/workflows/package-smoke.yml Outdated
Comment thread .github/workflows/package-smoke.yml
Comment thread .github/workflows/code-quality.yaml Outdated
@stanlrt stanlrt self-assigned this May 9, 2026
@stanlrt stanlrt requested a review from pizzajojo May 9, 2026 05:28
Base automatically changed from 127-unify-data-source-resolvers to main May 10, 2026 00:55
stanlrt added 2 commits May 10, 2026 03:02
# Conflicts:
#	src/raitap/data/data.py
#	src/raitap/data/tests/test_data.py
#	src/raitap/metrics/inputs.py
#	src/raitap/robustness/factory.py
#	src/raitap/robustness/semantics.py
#	src/raitap/run/pipeline.py
#	src/raitap/transparency/explainers/captum_explainer.py
#	src/raitap/transparency/factory.py
#	src/raitap/utils/__init__.py
#	src/raitap/utils/console.py
#	src/raitap/utils/diagnostics.py
#	src/raitap/utils/tests/test_diagnostics.py
@stanlrt stanlrt merged commit da5ad39 into main May 10, 2026
13 checks passed
@stanlrt stanlrt deleted the 130-make-raitap-compatible-with-python-311 branch May 10, 2026 15:44
@github-actions github-actions Bot mentioned this pull request May 10, 2026
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.

Make raitap compatible with Python 3.11+

2 participants