diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a26ebfc1..8f3e0a49 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.14.0" + ".": "0.15.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b99fbb11..9acff59e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,39 @@ # Changelog +## [0.15.0](https://github.com/CAIIVS/raitap/compare/v0.14.0...v0.15.0) (2026-07-07) + + +### ⚠ BREAKING CHANGES + +* **misc:** seed-aware reproducibility caveat (3-state seeding + seed config) ([#345](https://github.com/CAIIVS/raitap/issues/345)) +* **data:** pluggable label-parser config (COCO/YOLO/VOC ingestion) ([#342](https://github.com/CAIIVS/raitap/issues/342)) + +### Features + +* **data:** add text input modality with pluggable input parsers and text-classification use case ([#347](https://github.com/CAIIVS/raitap/issues/347)) ([9be19f1](https://github.com/CAIIVS/raitap/commit/9be19f135bcc5a6eba497a609cafe3aec6a5ee39)) +* **data:** pluggable label-parser config (COCO/YOLO/VOC ingestion) ([#342](https://github.com/CAIIVS/raitap/issues/342)) ([aa48cf3](https://github.com/CAIIVS/raitap/commit/aa48cf32828b796aa203dcd677ec0a2c800bf89a)) +* **misc:** seed-aware reproducibility caveat (3-state seeding + seed config) ([#345](https://github.com/CAIIVS/raitap/issues/345)) ([f5ad47a](https://github.com/CAIIVS/raitap/commit/f5ad47a0db4b40fca1c65306c85847f36febec8c)) +* **transparency:** add Quantus explanation-quality grading ([#346](https://github.com/CAIIVS/raitap/issues/346)) ([614db34](https://github.com/CAIIVS/raitap/commit/614db348adccfd1d11ee24e0cc60b70249af4658)) + + +### Dependencies + +* **actions:** bump actions/cache from 5 to 6 ([#344](https://github.com/CAIIVS/raitap/issues/344)) ([25e08f5](https://github.com/CAIIVS/raitap/commit/25e08f5adcfd2307d88d3272257ff357f74de9fb)) +* **actions:** bump actions/checkout from 6 to 7 ([#334](https://github.com/CAIIVS/raitap/issues/334)) ([f625367](https://github.com/CAIIVS/raitap/commit/f6253671f70166d070f9c4ca23f7e1bb76ab1cab)) + + +### Documentation + +* add architecture decision records page ([#350](https://github.com/CAIIVS/raitap/issues/350)) ([7a11a8a](https://github.com/CAIIVS/raitap/commit/7a11a8acf97ca353a718357aa0b4c985f6d4d360)) + + +### Internal code refactoring + +* config access is typed, not defensive ([#353](https://github.com/CAIIVS/raitap/issues/353)) ([f979b4c](https://github.com/CAIIVS/raitap/commit/f979b4c693868158eddb4df6d5ce2993f5998848)) +* **model:** split backend.py into per-backend modules ([#336](https://github.com/CAIIVS/raitap/issues/336)) ([5742a46](https://github.com/CAIIVS/raitap/commit/5742a46babc2a8ac0b80e052f6b2654a0caeec62)) +* pipeline orchestration + cli seams ([#354](https://github.com/CAIIVS/raitap/issues/354)) ([2ad2dac](https://github.com/CAIIVS/raitap/commit/2ad2daccb7a41631417c40dfdf7908e5d3e8808a)) +* **transparency:** resolve method families via own algorithm_registry; drop framework hardcoding ([#355](https://github.com/CAIIVS/raitap/issues/355)) ([b799371](https://github.com/CAIIVS/raitap/commit/b7993712db8fd4f43ec23a0d085c0529fa9c787e)) + ## [0.14.0](https://github.com/CAIIVS/raitap/compare/v0.13.2...v0.14.0) (2026-06-09) diff --git a/example/uv.lock b/example/uv.lock index 514e9365..3e1112f4 100644 --- a/example/uv.lock +++ b/example/uv.lock @@ -671,8 +671,8 @@ name = "oneccl" version = "2021.17.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "impi-rt", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "intel-sycl-rt", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "impi-rt" }, + { name = "intel-sycl-rt" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/73/9b/2932b6b128924ba96712ea1c807c1618b9963518eb8ec80cf834ffc3c684/oneccl-2021.17.2-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:a77c2c56eeba1c78379a530a2ba2bbd33407f6440b44476f83292d1694100373", size = 157647983, upload-time = "2026-01-22T05:34:10.902Z" }, @@ -683,7 +683,7 @@ name = "oneccl-devel" version = "2021.17.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "oneccl", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "oneccl" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/4a/a1/4fad3108825e2d65d812ba69a9fd3664181cfe8860e49110c92431d1629f/oneccl_devel-2021.17.2-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:6cdaaf12f04fa8eb7934f3b23c202410fece7ae05dfd3b8cc4219701726f1999", size = 47391093, upload-time = "2026-01-22T05:34:26.3Z" }, @@ -975,7 +975,7 @@ wheels = [ [[package]] name = "raitap" -version = "0.14.0" +version = "0.15.0" source = { editable = "../" } dependencies = [ { name = "hydra-core" }, @@ -1041,6 +1041,7 @@ requires-dist = [ { name = "pandas", specifier = ">=2.0.0" }, { name = "pandas-stubs", specifier = "~=3.0.0" }, { name = "pillow", specifier = ">=12.2.0" }, + { name = "quantus", marker = "extra == 'quantus'", specifier = ">=0.5.3" }, { name = "raitap", extras = ["mlflow"], marker = "extra == 'tracking'" }, { name = "raitap", extras = ["pdf", "html"], marker = "extra == 'reporting'" }, { name = "raitap", extras = ["shap", "captum"], marker = "extra == 'transparency'" }, @@ -1063,11 +1064,12 @@ requires-dist = [ { name = "torchvision", marker = "extra == 'onnx-cuda'", specifier = ">=0.20.0,<0.24.0", index = "https://download.pytorch.org/whl/cu126", conflict = { package = "raitap", extra = "onnx-cuda" } }, { name = "torchvision", marker = "extra == 'torch-cpu'", specifier = ">=0.20.0,<0.24.0", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "raitap", extra = "torch-cpu" } }, { name = "torchvision", marker = "extra == 'torch-cuda'", specifier = ">=0.20.0,<0.24.0", index = "https://download.pytorch.org/whl/cu126", conflict = { package = "raitap", extra = "torch-cuda" } }, + { name = "transformers", marker = "extra == 'text'", specifier = ">=4.40" }, { name = "triton-xpu", marker = "python_full_version < '3.14' and sys_platform != 'darwin' and extra == 'onnx-intel'", specifier = ">=3.0.0", index = "https://download.pytorch.org/whl/xpu", conflict = { package = "raitap", extra = "onnx-intel" } }, { name = "triton-xpu", marker = "python_full_version < '3.14' and sys_platform != 'darwin' and extra == 'torch-intel'", specifier = ">=3.0.0", index = "https://download.pytorch.org/whl/xpu", conflict = { package = "raitap", extra = "torch-intel" } }, { name = "xgboost", marker = "extra == 'xgboost'", specifier = ">=2.0" }, ] -provides-extras = ["torch-cpu", "torch-cuda", "torch-intel", "onnx-cpu", "onnx-cuda", "onnx-intel", "shap", "captum", "transparency", "xgboost", "torchattacks", "foolbox", "imagecorruptions", "marabou", "auto-lirpa", "robustness", "launcher", "mlflow", "tracking", "metrics", "pdf", "html", "reporting"] +provides-extras = ["torch-cpu", "torch-cuda", "torch-intel", "onnx-cpu", "onnx-cuda", "onnx-intel", "shap", "captum", "quantus", "transparency", "xgboost", "text", "torchattacks", "foolbox", "imagecorruptions", "marabou", "auto-lirpa", "robustness", "launcher", "mlflow", "tracking", "metrics", "pdf", "html", "reporting"] [package.metadata.requires-dev] dev = [ @@ -1371,14 +1373,14 @@ dependencies = [ { name = "pyelftools" }, ] wheels = [ - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a16b1d00e94ad87d62af3512e390348b8656419598004100c56028bf494f086b", upload-time = "2026-05-12T19:07:53Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:ad5b147d04ee0d40f3d4d32f85f5aa3a3beb6cd5799ca026d3d7f4afa3d9e24f", upload-time = "2026-05-12T19:08:27Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4e46e71e077cf483404a4c17ce40d71c5f0e13a81459139d4346ca427b1dd455", upload-time = "2026-05-12T19:09:05Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9482063af2a308543f23333e32edd738ea87cbb33ade68afda9ae0fd704ccd9", upload-time = "2026-05-12T19:09:38Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fdaed1bafc51d3a2834656a3420a6686a74ea226508765a49bf15d58ff3a930", upload-time = "2026-05-12T19:10:15Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:5d4d67f0deb1e851c01b293e602b8dcddad26ca2be61221cee3dc0e1aa0cdefd", upload-time = "2026-05-12T19:10:50Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c90fc043261382dc35320cf9bdd02a894b10e85cb9b549d3efc00369d0d39e96", upload-time = "2026-05-12T19:11:39Z" }, - { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:23a33a716b512c7377f66dae980071dfdd7aa9b0fa98a4af5af8231c5336721b", upload-time = "2026-05-12T19:12:20Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:55574a68d275b85cd4d5cbf185084bae019ebf09c3f43b0bd2831b14935ec8e7", upload-time = "2026-06-17T16:51:05Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:8f4a63de73e3d632098f93c8f0bd77244958a47d7c5f728b8ff35f8a91fdb983", upload-time = "2026-06-17T16:51:42Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a31c058c5c2e78ebe490a2e69f2f50caec6b1307ac096e944f116fdc06819d9a", upload-time = "2026-06-17T16:52:20Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:6589ece3adc2b1ab88d90ff1267afc25df5c7b868f0b633e732cac70df36cbde", upload-time = "2026-06-17T16:53:02Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e701a31efa0334775f357c98716f3821775aa944219f7888e13c2dfe2daabe2a", upload-time = "2026-06-17T16:53:46Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:2fdf001a9b0575e8b1827127259bb9b13bf36e659882be74c2dfab46597d3e7a", upload-time = "2026-06-17T16:54:33Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c90fc043261382dc35320cf9bdd02a894b10e85cb9b549d3efc00369d0d39e96", upload-time = "2026-06-17T16:55:17Z" }, + { url = "https://download-r2.pytorch.org/whl/triton_xpu-3.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:23a33a716b512c7377f66dae980071dfdd7aa9b0fa98a4af5af8231c5336721b", upload-time = "2026-06-17T16:56:03Z" }, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 6dd022f5..5c074f79 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "raitap" -version = "0.14.0" +version = "0.15.0" authors = [ { name = "Stanislas Laurent", email = "lauresta@students.zhaw.ch" }, { name = "Jonas Vonderhagen", email = "vondejon@students.zhaw.ch" }, diff --git a/uv.lock b/uv.lock index 20e47b9d..89bbd872 100644 --- a/uv.lock +++ b/uv.lock @@ -3453,7 +3453,7 @@ wheels = [ [[package]] name = "raitap" -version = "0.14.0" +version = "0.15.0" source = { editable = "." } dependencies = [ { name = "hydra-core" },