Changelog
Source:.github/py_changelog.md
All notable changes to the Python pyshapr library will be documented in this file. Changes to the underlying shapr R package is documented in shapr CHANGELOG
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.5.1] - 2026-06-24
Fixed
- Constrained
numpy<2.5to keeppip install pyshaprresolvable on Python 3.12 and 3.13. Nonumbarelease yet supports numpy 2.5, so an unconstrained install (via the transitiveshap->numbadependency) backtracked to an ancient, incompatiblenumbathat fails to build. The cap may be lifted oncenumbasupports numpy 2.5.
[0.5.0] - 2026-06-23
Changed
-
Renamed the package from
shaprpytopyshapr(both the PyPI distribution name and the import name). Update installs topip install pyshaprand imports toimport pyshapr. This is the first release published under thepyshaprname. The previousshaprpypackage remains available on PyPI for a transition period as a thin compatibility shim (released asshaprpy 0.4.4) that depends on and forwards topyshapr.
[0.4.4] - 2026-06-23
Added
- Added basic snapshot tests for
approach="arf"on both numerical and mixed categorical feature sets. - Added an
arf/vaeacend-to-end example script for numerical and mixed categorical feature sets.
Changed
- Updated documentation to explicitly list
arfandvaeacas supported approaches. - Updated local
vaeacsnapshot tests to passvaeac_*arguments directly toexplain(). - Made the
python/package passruff checkandruff format.
[0.4.1] - 2025-12-22
[0.4.0] - 2025-11-28
Added
-
NEW:
Shaprclass for exploration and analysis of explanation results- Object-oriented interface for working with Shapley value explanations
- Methods for extracting results:
get_results(),get_explanation_dict(),get_r_object() - Summary and printing functionality:
summary(),print() - Integration with SHAP library via
to_shap()method for plotting
- Enhanced example scripts demonstrating new class-based functionality
- Added comprehensive unit and snapshot tests covering all approaches and full functionality, including categorical features and causal ordering
Changed
-
BREAKING:
explain()function now returns aShaprobject instead of a plain dictionary - Restructured internal module organization with private
_explain.pyand_rutils.pymodules - Updated all example scripts, tests and README to demonstrate new class-based API
- Improved lazy loading for R package dependencies
- Cleaned up unused library components
Fixed
- Enhanced R package import reliability by removing empty paths from library locations, effectively resolving confusing warnings from R on package load
- Fixed a bug in handling categorical features (R factors) during conversion to Python
- Fixed an issue with passing boolean vectors for the
confoundingargument
[0.3.0] - 2025-08-27
Added
- Publish
shaprpyon PyPI - Restructured the
shaprpypackage for improved modularity and maintainability - Test suite with snapshot testing for output validation using syrupy
- GitHub Actions CI/CD pipeline for automated testing across Python versions
- Input validation tests for error handling
Changed
- BREAKING: Minimum Python version requirement increased from 3.8+ to 3.10+
- Updated package classifiers to reflect Python 3.10+ requirement