Skip to content

Expand Python support through 3.14 - #606

Open
imatiach-msft wants to merge 7 commits into
mainfrom
ilmat/python-3.10-3.14-ci
Open

imatiach-msft wants to merge 7 commits into
mainfrom
ilmat/python-3.10-3.14-ci

Conversation

@imatiach-msft

Copy link
Copy Markdown
Collaborator

Summary

  • require Python 3.10 or newer and add package classifiers through Python 3.14
  • add a wheel build/install compatibility matrix for Python 3.10, 3.11, 3.12, 3.13, and 3.14 while retaining the full integration suite on Python 3.10
  • update workflows, documentation, and release configuration to remove Python 3.9 and earlier
  • fix modern SciPy, scikit-learn, SHAP, and TensorFlow compatibility issues discovered by the new coverage

Validation

  • full local integration run: 338 passed before fixing the only 3 Keras regression failures; those 3 then passed directly
  • focused compatibility/regression suite: 38 passed
  • Python 3.14 with NumPy 2.5.4, scikit-learn 1.9.1, and SHAP 0.54.1: compatibility tests passed and pip check clean
  • wheel build, YAML parsing, targeted flake8, and git diff checks passed
  • recursively reviewed by GPT-6.1 Sol, Claude Sonnet 5.5, and Grok 4.7 at max reasoning until all three reported clean

Fixes #603

@imatiach-msft
imatiach-msft force-pushed the ilmat/python-3.10-3.14-ci branch 3 times, most recently from 7df2bf5 to f4d0619 Compare October 29, 2026 00:44
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
@imatiach-msft
imatiach-msft force-pushed the ilmat/python-3.10-3.14-ci branch from f4d0619 to 4f5ad3d Compare October 29, 2026 02:20
imatiach-msft and others added 4 commits October 29, 2026 11:32
Keep CI commands aligned with the fast local development workflow while restoring the checkout after transitive dependency installs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
Provide one cross-platform runner for full, compatibility, coverage, and targeted framework-isolated test runs. Keep the GitHub Actions workflow aligned with the local developer commands.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
Remove legacy pandas and scikit-learn constraints, resolve the primary matrix against the latest compatible stack, and isolate the legacy dashboard environment. Modernize test helpers for pandas 3 and current scikit-learn behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
Run the legacy raiwidgets integration as a dedicated Python 3.10 job with independent dependency validation, test reporting, and coverage publication. Remove cross-environment coverage append support from the local test runner.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
Move legacy dashboard compatibility into its own workflow and use scoped Codecov OIDC authentication for functional tokenless coverage uploads.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
@codecov

codecov Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.07%. Comparing base (99d0e29) to head (cc1a334).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #606      +/-   ##
==========================================
+ Coverage   87.68%   88.07%   +0.39%     
==========================================
  Files          59       59              
  Lines        4059     4077      +18     
==========================================
+ Hits         3559     3591      +32     
+ Misses        500      486      -14     
Flag Coverage Δ
dashboard 42.31% <31.25%> (?)
unittests 87.34% <100.00%> (-0.34%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Exercise the modern scikit-learn liblinear fallback and invalid PFI string metrics so the compatibility behavior is protected across supported dependency versions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 01d40984-a691-40fe-b0d6-ab7adbe28824
Signed-off-by: Ilya Matiach <ilmat@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

interpret-community 0.32.0 package is not compatible with python 3.14 version

1 participant