Skip to content

v0.9.0

Choose a tag to compare

@rabyj rabyj released this 09 Feb 19:55
· 114 commits to master since this release
v0.9.0
e99efc5

This release drops support for Python 3.8 and 3.9 (both end-of-life) and updates dependencies for modern Python versions.

SHAP 0.45 Compatibility

  • Adapted codebase to breaking changes in SHAP 0.45 for multi-output models, updating code and tests accordingly.
  • Updated the SHAP MLP explainer to use ProcessPoolExecutor for parallel SHAP value computation.
  • Removed SHAP_Analyzer tests, as SHAP's check_additivity now handles validation internally.
  • Made no-inplace operations explicit for SHAP compatibility.
  • Note: scripts in epiclass/utils/shap may still rely on the old SHAP output shape and need review.
  • Python 3.13 support temporarily removed due to compatibility issues.

New Install Script

  • Added install.py as a flexible alternative to pip install . for local development.
  • Auto-detects CPU/GPU and installs the appropriate PyTorch variant.
  • Uses uv if available, falls back to pip.
  • Supports optional extras, --freeze to save installed packages, and --torch-version to specify a PyTorch version.
  • Exits if not in a virtual environment.

Test Improvements

  • Tests now run in parallel via just test-all, with each Python version in a separate background process.
  • Made tests robust to parallel execution by using temporary directories for mock data, resolving HDF5 read/write conflicts.
  • Enabled pytest -k for filtering tests.
  • Improved test log naming for easier navigation.
  • Skipped non-crucial confusion matrix creation tests.

Dependency & Build Changes

  • Removed legacy per-version requirement files in favor of req_core.in with version specifiers.
  • Separated Compute Canada Python indexes into a dedicated file to avoid uv pip install failures.
  • Added uv virtual environment setup script.
  • Updated requirements for modern SHAP, pandas, and PyTorch compatibility.

Cleanup

  • Removed the deprecated TensorFlow module.
  • Fixed get_cmap deprecation warning.
  • Clarified README.