raitap 0.2.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {raitap-0.2.0 → raitap-0.3.0}/.github/copilot-instructions.md +5 -1
- {raitap-0.2.0 → raitap-0.3.0}/.github/dependabot.yml +3 -1
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/code-quality.yaml +2 -2
- raitap-0.3.0/.github/workflows/docs-pages-deploy.yml +64 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/docs.yml +11 -7
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/publish-pypi.yml +10 -0
- raitap-0.3.0/.github/workflows/release-please.yml +102 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/semantic-pr-title.yml +3 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/sync-uv-lock-on-release-pr.yml +3 -0
- {raitap-0.2.0 → raitap-0.3.0}/.gitignore +6 -1
- {raitap-0.2.0 → raitap-0.3.0}/.pre-commit-config.yaml +1 -1
- raitap-0.3.0/.release-please-manifest.json +3 -0
- raitap-0.3.0/CHANGELOG.md +83 -0
- {raitap-0.2.0 → raitap-0.3.0}/PKG-INFO +13 -11
- {raitap-0.2.0 → raitap-0.3.0}/README.md +2 -0
- raitap-0.3.0/docs/_static/custom.css +127 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/_templates/sidebar/navigation.html +4 -2
- raitap-0.3.0/docs/changelog.md +2 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/conf.py +9 -1
- {raitap-0.2.0 → raitap-0.3.0}/docs/contributor/index.md +1 -1
- raitap-0.3.0/docs/contributor/releases.md +51 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/contributor/setup.md +5 -1
- raitap-0.3.0/docs/contributor/transparency.md +338 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/index.md +1 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/data/configuration.md +10 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/reporting/configuration.md +8 -1
- raitap-0.3.0/docs/modules/reporting/index.md +18 -0
- raitap-0.3.0/docs/modules/reporting/output.md +122 -0
- raitap-0.3.0/docs/modules/transparency/configuration.md +121 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/transparency/frameworks-and-libraries.md +59 -7
- raitap-0.3.0/docs/modules/transparency/output.md +29 -0
- raitap-0.3.0/docs/reference/api/transparency.md +26 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/configuration/kitchen-sink.md +5 -3
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/get-it-running.md +1 -1
- raitap-0.3.0/docs/using-raitap/installation.md +130 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/understanding-outputs.md +8 -0
- {raitap-0.2.0 → raitap-0.3.0}/pyproject.toml +29 -20
- raitap-0.3.0/release-please-config.json +68 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/config.yaml +0 -1
- raitap-0.3.0/src/raitap/configs/reporting/disabled.yaml +2 -0
- raitap-0.3.0/src/raitap/configs/reporting/pdf.yaml +11 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/schema.py +10 -3
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/transparency/shap_deep.yaml +3 -3
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/transparency/shap_gradient.yaml +3 -3
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/__init__.py +5 -1
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/data.py +78 -26
- raitap-0.3.0/src/raitap/data/metadata.py +79 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/tests/test_data.py +28 -0
- raitap-0.3.0/src/raitap/data/tests/test_metadata.py +85 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/factory.py +31 -8
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/tests/test_visualizers.py +13 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/visualizers.py +1 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/backend.py +24 -8
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/model.py +5 -4
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/tests/test_models.py +12 -0
- raitap-0.3.0/src/raitap/reporting/__init__.py +20 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/reporting/base_reporter.py +8 -7
- raitap-0.3.0/src/raitap/reporting/builder.py +444 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/reporting/factory.py +12 -11
- raitap-0.3.0/src/raitap/reporting/hydra_callback.py +88 -0
- raitap-0.3.0/src/raitap/reporting/manifest.py +115 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/reporting/pdf_reporter.py +95 -76
- raitap-0.3.0/src/raitap/reporting/sections.py +59 -0
- raitap-0.3.0/src/raitap/reporting/tests/test_builder.py +759 -0
- raitap-0.3.0/src/raitap/reporting/tests/test_pdf_reporter.py +172 -0
- raitap-0.3.0/src/raitap/run/__init__.py +54 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/run/outputs.py +15 -0
- raitap-0.3.0/src/raitap/run/pipeline.py +276 -0
- raitap-0.3.0/src/raitap/tests/test_memory_leaks.py +219 -0
- raitap-0.3.0/src/raitap/tests/test_run_labels.py +106 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tests/test_run_main.py +110 -4
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/base_tracker.py +15 -1
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/README.md +12 -1
- raitap-0.3.0/src/raitap/transparency/__init__.py +184 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/conftest.py +37 -32
- raitap-0.3.0/src/raitap/transparency/contracts.py +285 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/exceptions.py +23 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/explainers/__init__.py +5 -2
- raitap-0.3.0/src/raitap/transparency/explainers/base_explainer.py +382 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/explainers/captum_explainer.py +6 -3
- raitap-0.3.0/src/raitap/transparency/explainers/custom_explainer.py +1 -0
- raitap-0.3.0/src/raitap/transparency/explainers/full_explainer.py +42 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/explainers/shap_explainer.py +6 -3
- raitap-0.3.0/src/raitap/transparency/explainers/tests/test_base_explainer.py +490 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/explainers/tests/test_captum_explainer.py +28 -3
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/explainers/tests/test_shap_explainer.py +19 -2
- raitap-0.3.0/src/raitap/transparency/factory.py +519 -0
- raitap-0.3.0/src/raitap/transparency/results.py +456 -0
- raitap-0.3.0/src/raitap/transparency/semantics.py +310 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/e2e_case_matrix.py +60 -6
- raitap-0.3.0/src/raitap/transparency/tests/test_contracts.py +211 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/test_e2e_integration.py +39 -0
- raitap-0.3.0/src/raitap/transparency/tests/test_factory.py +1564 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/test_results.py +263 -7
- raitap-0.3.0/src/raitap/transparency/tests/test_semantics.py +274 -0
- raitap-0.3.0/src/raitap/transparency/visualisers/base_visualiser.py +172 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/visualisers/captum_visualisers.py +196 -6
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/visualisers/shap_visualisers.py +183 -15
- raitap-0.3.0/src/raitap/transparency/visualisers/tabular_visualiser.py +137 -0
- raitap-0.3.0/src/raitap/transparency/visualisers/tests/test_visualisers.py +1121 -0
- raitap-0.3.0/uv.lock +4023 -0
- raitap-0.2.0/.cursor/plans/transparency_api_refactor_795321fa.plan.md +0 -49
- raitap-0.2.0/.github/workflows/release-please.yml +0 -53
- raitap-0.2.0/.release-please-manifest.json +0 -3
- raitap-0.2.0/CHANGELOG.md +0 -26
- raitap-0.2.0/docs/_static/custom.css +0 -88
- raitap-0.2.0/docs/contributor/going-stable-1-0.md +0 -28
- raitap-0.2.0/docs/contributor/transparency.md +0 -220
- raitap-0.2.0/docs/modules/reporting/index.md +0 -11
- raitap-0.2.0/docs/modules/reporting/output.md +0 -30
- raitap-0.2.0/docs/modules/transparency/configuration.md +0 -85
- raitap-0.2.0/docs/modules/transparency/output.md +0 -16
- raitap-0.2.0/docs/reference/api/transparency.md +0 -8
- raitap-0.2.0/docs/using-raitap/installation.md +0 -84
- raitap-0.2.0/mkdocs.yaml +0 -0
- raitap-0.2.0/release-please-config.json +0 -12
- raitap-0.2.0/src/raitap/configs/reporting/null.yaml +0 -1
- raitap-0.2.0/src/raitap/configs/reporting/pdf.yaml +0 -4
- raitap-0.2.0/src/raitap/reporting/__init__.py +0 -14
- raitap-0.2.0/src/raitap/reporting/sections.py +0 -33
- raitap-0.2.0/src/raitap/reporting/tests/test_pdf_reporter.py +0 -101
- raitap-0.2.0/src/raitap/run/__init__.py +0 -20
- raitap-0.2.0/src/raitap/run/pipeline.py +0 -172
- raitap-0.2.0/src/raitap/transparency/__init__.py +0 -81
- raitap-0.2.0/src/raitap/transparency/explainers/base_explainer.py +0 -237
- raitap-0.2.0/src/raitap/transparency/factory.py +0 -274
- raitap-0.2.0/src/raitap/transparency/results.py +0 -239
- raitap-0.2.0/src/raitap/transparency/tests/test_factory.py +0 -664
- raitap-0.2.0/src/raitap/transparency/visualisers/base_visualiser.py +0 -70
- raitap-0.2.0/src/raitap/transparency/visualisers/tabular_visualiser.py +0 -70
- raitap-0.2.0/src/raitap/transparency/visualisers/tests/test_visualisers.py +0 -544
- raitap-0.2.0/src/raitap/utils/serialization.py +0 -19
- raitap-0.2.0/uv.lock +0 -4335
- {raitap-0.2.0 → raitap-0.3.0}/.github/actions/setup-raitap-env/action.yml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/pull_request_template.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/cuda-pr-ready.yml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/package-smoke.yml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.github/workflows/test-e2e.yml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.markdownlint.jsonc +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.vscode/extensions.json +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/.vscode/settings.json +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/CONTRIBUTING.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/LICENSE +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/assets/images/tech_assessment_platform_logo.png +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/_ext/config_options.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/_ext/install_tabs.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/contributor/data.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/contributor/metrics.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/contributor/pull-requests.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/contributor/tracking.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/license.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/data/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/data/own-vs-built-in.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/metrics/configuration.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/metrics/frameworks-and-libraries.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/metrics/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/metrics/output.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/model/configuration.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/model/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/model/own-vs-built-in.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/tracking/configuration.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/tracking/frameworks-and-libraries.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/tracking/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/tracking/output.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/modules/transparency/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/reference/api/data.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/reference/api/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/reference/api/metrics.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/reference/api/models.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/reference/api/tracking.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/configuration/general.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/configuration/global-config-options.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/configuration/index.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/docs/using-raitap/job-launcher.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/flake.lock +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/flake.nix +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/__about__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/data/imagenet_samples.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/data/isic2018.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/data/malaria.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/data/udacityselfdriving.yaml +0 -0
- /raitap-0.2.0/src/raitap/configs/hydra/launcher/submitit_slurm.yaml → /raitap-0.3.0/src/raitap/configs/hydra/launcher/default_submitit_slurm.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/metrics/classification.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/metrics/detection.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/model/resnet50.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/model/vit_b32.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/tracking/mlflow.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/tracking/mlflow_server.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/transparency/demo.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/transparency/onnx_demo.yaml +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/configs/utils.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/samples.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/tests/test_data_class.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/data/utils.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/docs_preview.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/base_metric.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/classification_metrics.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/detection_metrics.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/inputs.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/tests/test_classification_metrics.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/tests/test_detection_metrics.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/tests/test_factory_evaluate.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/tests/test_utils.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/metrics/utils.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/README.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/runtime.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/models/tests/test_model_class.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/py.typed +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/reporting/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/run/__main__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/run/forward_output.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/README.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/mlflow_tracker.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/smoke_test_mlflow.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/tests/test_base_tracker.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/tests/test_mlflow_summary_params.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/tests/test_mlflow_tracker.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/tracking/tests/test_smoke_test_mlflow.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/algorithm_allowlist.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/explainers/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/README.md +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/mpl_baseline/captum_ig_image_heat_map.png +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/mpl_baseline/captum_occlusion_image_heat_map.png +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/mpl_baseline/shap_gradient_image_heat_map.png +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/test_e2e_mpl_baseline.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/test_e2e_transparency_matrix.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/tests/test_methods.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/visualisers/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/transparency/visualisers/tests/__init__.py +0 -0
- {raitap-0.2.0 → raitap-0.3.0}/src/raitap/utils/__init__.py +0 -0
- {raitap-0.2.0/src/raitap → raitap-0.3.0/src/raitap/utils}/serialization.py +0 -0
|
@@ -4,6 +4,10 @@ When reviewing pull requests on GitHub:
|
|
|
4
4
|
|
|
5
5
|
1. **PR title:** Must follow [Conventional Commits](https://www.conventionalcommits.org/) with the same **types** and optional **scopes** as `[tool.commitizen.customize] schema_pattern` in `pyproject.toml` (types include feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert; scopes include transparency, tracking, metrics, docs, infra, deps, misc, config, model, data, reporting). Scope is optional. Breaking changes should use `!` after the type or scope (e.g. `feat!:` or `feat(api)!:`) because the PR title becomes the squash merge subject.
|
|
6
6
|
|
|
7
|
-
2. **Breaking changes:** If the diff removes or renames public APIs, changes config defaults, or migrates persisted formats in a non-backward-compatible way, the PR title should signal breaking (`!`) or the description should state **BREAKING CHANGE**. CI enforces title shape; you supplement by flagging mismatches between diff and title.
|
|
7
|
+
2. **Breaking changes:** If the diff removes or renames public APIs, changes config defaults, or migrates persisted formats in a non-backward-compatible way, the PR title should signal breaking (`!`) or the description should state **BREAKING CHANGE**. CI enforces title shape; you supplement by flagging mismatches between diff and title. Clearly indicate right at the start of your review if the PR is breaking or not. if it is and the title does not mark it, add a visible warning callout:
|
|
8
|
+
|
|
9
|
+
> [!WARNING]
|
|
10
|
+
>
|
|
11
|
+
> The PR contains breaking changes, but the tiles does not contain "!". Please mark it as breaking by adding "!" after the type or scope (e.g. `feat!:` or `feat(api)!:`).
|
|
8
12
|
|
|
9
13
|
3. **Limits:** Copilot does not replace required checks. GitHub includes the PR title and body in the review prompt per GitHub Copilot code review documentation.
|
|
@@ -12,7 +12,7 @@ updates:
|
|
|
12
12
|
labels:
|
|
13
13
|
- "dependencies"
|
|
14
14
|
commit-message:
|
|
15
|
-
prefix: "deps"
|
|
15
|
+
prefix: "deps(prod)"
|
|
16
16
|
prefix-development: "deps(dev)"
|
|
17
17
|
|
|
18
18
|
# Monitor GitHub Actions - only security and major updates
|
|
@@ -21,6 +21,8 @@ updates:
|
|
|
21
21
|
schedule:
|
|
22
22
|
interval: "weekly"
|
|
23
23
|
open-pull-requests-limit: 5
|
|
24
|
+
commit-message:
|
|
25
|
+
prefix: "deps(actions)"
|
|
24
26
|
ignore:
|
|
25
27
|
- dependency-name: "*"
|
|
26
28
|
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
- name: Paths filter
|
|
26
26
|
id: filter
|
|
27
27
|
if: github.event_name != 'workflow_dispatch'
|
|
28
|
-
uses: dorny/paths-filter@
|
|
28
|
+
uses: dorny/paths-filter@v4
|
|
29
29
|
with:
|
|
30
30
|
filters: |
|
|
31
31
|
python:
|
|
@@ -58,7 +58,7 @@ jobs:
|
|
|
58
58
|
steps:
|
|
59
59
|
- name: Detect open PR for branch
|
|
60
60
|
id: detect
|
|
61
|
-
uses: actions/github-script@
|
|
61
|
+
uses: actions/github-script@v9
|
|
62
62
|
with:
|
|
63
63
|
script: |
|
|
64
64
|
const branch = context.ref.replace("refs/heads/", "");
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Builds documentation from a given ref and deploys to GitHub Pages. Invoked only after a successful PyPI publish
|
|
2
|
+
# so the public site always matches a released package version.
|
|
3
|
+
name: Deploy docs (Pages)
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
workflow_call:
|
|
7
|
+
inputs:
|
|
8
|
+
ref:
|
|
9
|
+
description: "Git ref (for example refs/tags/v1.2.3 or v1.2.3) to build docs from"
|
|
10
|
+
required: true
|
|
11
|
+
type: string
|
|
12
|
+
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read
|
|
15
|
+
pages: write
|
|
16
|
+
id-token: write
|
|
17
|
+
|
|
18
|
+
concurrency:
|
|
19
|
+
group: docs-github-pages
|
|
20
|
+
cancel-in-progress: false
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
build:
|
|
24
|
+
name: Build documentation
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- name: Checkout code
|
|
28
|
+
uses: actions/checkout@v6
|
|
29
|
+
with:
|
|
30
|
+
ref: ${{ inputs.ref }}
|
|
31
|
+
|
|
32
|
+
- name: Set up Python
|
|
33
|
+
uses: actions/setup-python@v6
|
|
34
|
+
with:
|
|
35
|
+
python-version: "3.13"
|
|
36
|
+
|
|
37
|
+
- name: Install uv
|
|
38
|
+
uses: astral-sh/setup-uv@v7
|
|
39
|
+
with:
|
|
40
|
+
enable-cache: true
|
|
41
|
+
cache-dependency-glob: "uv.lock"
|
|
42
|
+
|
|
43
|
+
- name: Install documentation dependencies
|
|
44
|
+
run: uv sync --group docs
|
|
45
|
+
|
|
46
|
+
- name: Build documentation
|
|
47
|
+
run: uv run sphinx-build -b html -n -W --keep-going docs docs/_build/html
|
|
48
|
+
|
|
49
|
+
- name: Set up Pages
|
|
50
|
+
uses: actions/configure-pages@v6
|
|
51
|
+
|
|
52
|
+
- name: Upload Pages artifact
|
|
53
|
+
uses: actions/upload-pages-artifact@v5
|
|
54
|
+
with:
|
|
55
|
+
path: docs/_build/html
|
|
56
|
+
|
|
57
|
+
deploy:
|
|
58
|
+
name: Deploy documentation
|
|
59
|
+
needs: build
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
steps:
|
|
62
|
+
- name: Deploy to GitHub Pages
|
|
63
|
+
id: deployment
|
|
64
|
+
uses: actions/deploy-pages@v5
|
|
@@ -8,7 +8,7 @@ on:
|
|
|
8
8
|
workflow_dispatch:
|
|
9
9
|
inputs:
|
|
10
10
|
deploy:
|
|
11
|
-
description: "Deploy to GitHub Pages
|
|
11
|
+
description: "Deploy main to GitHub Pages (bypasses release coupling; site may not match PyPI)"
|
|
12
12
|
required: true
|
|
13
13
|
default: false
|
|
14
14
|
type: boolean
|
|
@@ -24,6 +24,10 @@ jobs:
|
|
|
24
24
|
build:
|
|
25
25
|
name: Build documentation
|
|
26
26
|
runs-on: ubuntu-latest
|
|
27
|
+
permissions:
|
|
28
|
+
contents: read
|
|
29
|
+
pages: write
|
|
30
|
+
id-token: write
|
|
27
31
|
|
|
28
32
|
steps:
|
|
29
33
|
- name: Checkout code
|
|
@@ -47,18 +51,18 @@ jobs:
|
|
|
47
51
|
run: uv run sphinx-build -b html -n -W --keep-going docs docs/_build/html
|
|
48
52
|
|
|
49
53
|
- name: Set up Pages
|
|
50
|
-
if:
|
|
51
|
-
uses: actions/configure-pages@
|
|
54
|
+
if: github.event_name == 'workflow_dispatch' && inputs.deploy
|
|
55
|
+
uses: actions/configure-pages@v6
|
|
52
56
|
|
|
53
57
|
- name: Upload Pages artifact
|
|
54
|
-
if:
|
|
55
|
-
uses: actions/upload-pages-artifact@
|
|
58
|
+
if: github.event_name == 'workflow_dispatch' && inputs.deploy
|
|
59
|
+
uses: actions/upload-pages-artifact@v5
|
|
56
60
|
with:
|
|
57
61
|
path: docs/_build/html
|
|
58
62
|
|
|
59
63
|
deploy:
|
|
60
64
|
name: Deploy documentation
|
|
61
|
-
if:
|
|
65
|
+
if: github.event_name == 'workflow_dispatch' && inputs.deploy
|
|
62
66
|
needs: build
|
|
63
67
|
runs-on: ubuntu-latest
|
|
64
68
|
permissions:
|
|
@@ -69,4 +73,4 @@ jobs:
|
|
|
69
73
|
steps:
|
|
70
74
|
- name: Deploy to GitHub Pages
|
|
71
75
|
id: deployment
|
|
72
|
-
uses: actions/deploy-pages@
|
|
76
|
+
uses: actions/deploy-pages@v5
|
|
@@ -30,3 +30,13 @@ jobs:
|
|
|
30
30
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
31
31
|
with:
|
|
32
32
|
packages-dir: dist/
|
|
33
|
+
|
|
34
|
+
deploy-docs:
|
|
35
|
+
needs: publish
|
|
36
|
+
permissions:
|
|
37
|
+
contents: read
|
|
38
|
+
pages: write
|
|
39
|
+
id-token: write
|
|
40
|
+
uses: ./.github/workflows/docs-pages-deploy.yml
|
|
41
|
+
with:
|
|
42
|
+
ref: ${{ github.ref }}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
name: Release Please
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
RELEASE_PLEASE_TARGET_BRANCH: main
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
pull-requests: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
release-please:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
outputs:
|
|
19
|
+
release_created: ${{ steps.release.outputs.release_created }}
|
|
20
|
+
tag_name: ${{ steps.release.outputs.tag_name }}
|
|
21
|
+
prs_created: ${{ steps.release.outputs.prs_created }}
|
|
22
|
+
steps:
|
|
23
|
+
- id: release
|
|
24
|
+
uses: googleapis/release-please-action@v5
|
|
25
|
+
with:
|
|
26
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
27
|
+
config-file: release-please-config.json
|
|
28
|
+
manifest-file: .release-please-manifest.json
|
|
29
|
+
target-branch: ${{ env.RELEASE_PLEASE_TARGET_BRANCH }}
|
|
30
|
+
|
|
31
|
+
# Release Please pushes with GITHUB_TOKEN, which does not trigger pull_request workflows (including
|
|
32
|
+
# sync-uv-lock-on-release-pr.yml). Regenerate the lockfile in this same workflow when the release PR changes.
|
|
33
|
+
sync-uv-lock:
|
|
34
|
+
needs: release-please
|
|
35
|
+
if: ${{ needs.release-please.outputs.prs_created == 'true' }}
|
|
36
|
+
runs-on: ubuntu-latest
|
|
37
|
+
permissions:
|
|
38
|
+
contents: write
|
|
39
|
+
steps:
|
|
40
|
+
- uses: actions/checkout@v6
|
|
41
|
+
with:
|
|
42
|
+
ref: release-please--branches--${{ env.RELEASE_PLEASE_TARGET_BRANCH }}
|
|
43
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
44
|
+
- uses: actions/setup-python@v6
|
|
45
|
+
with:
|
|
46
|
+
python-version: "3.13"
|
|
47
|
+
- uses: astral-sh/setup-uv@v7
|
|
48
|
+
with:
|
|
49
|
+
enable-cache: true
|
|
50
|
+
cache-dependency-glob: uv.lock
|
|
51
|
+
- name: Regenerate uv.lock
|
|
52
|
+
run: uv lock
|
|
53
|
+
- name: Commit if changed
|
|
54
|
+
run: |
|
|
55
|
+
git config user.name "github-actions[bot]"
|
|
56
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
57
|
+
git add uv.lock
|
|
58
|
+
if git diff --staged --quiet; then
|
|
59
|
+
echo "No uv.lock changes."
|
|
60
|
+
else
|
|
61
|
+
git commit -m "chore: sync uv.lock"
|
|
62
|
+
git push
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
# Publishes when Release Please creates a release in the same workflow run. Tag-push workflows do not run for
|
|
66
|
+
# resources created with GITHUB_TOKEN (GitHub limitation); see publish-pypi.yml for manual or PAT-created tags.
|
|
67
|
+
publish-pypi:
|
|
68
|
+
needs: release-please
|
|
69
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
70
|
+
runs-on: ubuntu-latest
|
|
71
|
+
environment: pypi
|
|
72
|
+
permissions:
|
|
73
|
+
contents: read
|
|
74
|
+
id-token: write
|
|
75
|
+
steps:
|
|
76
|
+
- uses: actions/checkout@v6
|
|
77
|
+
with:
|
|
78
|
+
ref: ${{ needs.release-please.outputs.tag_name }}
|
|
79
|
+
- uses: actions/setup-python@v6
|
|
80
|
+
with:
|
|
81
|
+
python-version: "3.13"
|
|
82
|
+
- uses: astral-sh/setup-uv@v7
|
|
83
|
+
with:
|
|
84
|
+
enable-cache: true
|
|
85
|
+
cache-dependency-glob: uv.lock
|
|
86
|
+
- name: Build sdist and wheel
|
|
87
|
+
run: uv build
|
|
88
|
+
- name: Publish to PyPI
|
|
89
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
90
|
+
with:
|
|
91
|
+
packages-dir: dist/
|
|
92
|
+
|
|
93
|
+
deploy-docs:
|
|
94
|
+
needs: publish-pypi
|
|
95
|
+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
|
96
|
+
permissions:
|
|
97
|
+
contents: read
|
|
98
|
+
pages: write
|
|
99
|
+
id-token: write
|
|
100
|
+
uses: ./.github/workflows/docs-pages-deploy.yml
|
|
101
|
+
with:
|
|
102
|
+
ref: ${{ needs.release-please.outputs.tag_name }}
|
|
@@ -32,6 +32,7 @@ jobs:
|
|
|
32
32
|
chore
|
|
33
33
|
revert
|
|
34
34
|
deps
|
|
35
|
+
publish
|
|
35
36
|
scopes: |
|
|
36
37
|
transparency
|
|
37
38
|
tracking
|
|
@@ -45,6 +46,8 @@ jobs:
|
|
|
45
46
|
data
|
|
46
47
|
reporting
|
|
47
48
|
dev
|
|
49
|
+
prod
|
|
50
|
+
actions
|
|
48
51
|
requireScope: false
|
|
49
52
|
validateSingleCommitMatchesPrTitle: true
|
|
50
53
|
subjectPattern: ^.+$
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
name: Sync uv.lock on Release Please PRs
|
|
2
2
|
|
|
3
|
+
# Runs when the release PR branch is updated by something other than GITHUB_TOKEN (e.g. a user push), because
|
|
4
|
+
# pushes performed with GITHUB_TOKEN do not trigger new workflow runs. Release Please runs lock sync in release-please.yml.
|
|
5
|
+
|
|
3
6
|
on:
|
|
4
7
|
pull_request:
|
|
5
8
|
branches:
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.3.0](https://github.com/CAIIVS/raitap/compare/v0.2.1...v0.3.0) (2026-05-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* **transparency:** overhaul transparency to support many explainer categories, scopes and families in a typed robust way ([#98](https://github.com/CAIIVS/raitap/issues/98))
|
|
9
|
+
* remove alibi support for the moment, due to deps conflicts
|
|
10
|
+
* **reporting:** add compact global/local reports and multirun merging ([#89](https://github.com/CAIIVS/raitap/issues/89))
|
|
11
|
+
* **transparency:** split RAITAP and library kwargs in transparency config ([#86](https://github.com/CAIIVS/raitap/issues/86))
|
|
12
|
+
* harden python version support and document legacy CUDA compatibility guidance ([#85](https://github.com/CAIIVS/raitap/issues/85))
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **reporting:** add compact global/local reports and multirun merging ([#89](https://github.com/CAIIVS/raitap/issues/89)) ([e691e70](https://github.com/CAIIVS/raitap/commit/e691e707a24f1af0e29f3c6cac31b1be29a76750))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug fixes
|
|
20
|
+
|
|
21
|
+
* harden python version support and document legacy CUDA compatibility guidance ([#85](https://github.com/CAIIVS/raitap/issues/85)) ([5f0cad6](https://github.com/CAIIVS/raitap/commit/5f0cad65b984069a1f094988826ef6fdd8afd3a6))
|
|
22
|
+
* remove alibi support for the moment, due to deps conflicts ([4a9d6d4](https://github.com/CAIIVS/raitap/commit/4a9d6d4214c837bf7f3aed620921ae20edf3ca5c))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Dependencies
|
|
26
|
+
|
|
27
|
+
* **actions:** bump dorny/paths-filter from 3 to 4 ([#84](https://github.com/CAIIVS/raitap/issues/84)) ([b215d4a](https://github.com/CAIIVS/raitap/commit/b215d4a64234d72e6b8b1dfb7abea422171d7c6c))
|
|
28
|
+
* **actions:** bump googleapis/release-please-action from 4 to 5 ([#91](https://github.com/CAIIVS/raitap/issues/91)) ([106bc89](https://github.com/CAIIVS/raitap/commit/106bc89ead1438e8b08c8ab43b89822db22608bf))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Documentation
|
|
32
|
+
|
|
33
|
+
* badges ([098f0b5](https://github.com/CAIIVS/raitap/commit/098f0b5d0e66b7c7af88b3f597d0d07947cfa18c))
|
|
34
|
+
* delete mkdocs.yaml ([21087d1](https://github.com/CAIIVS/raitap/commit/21087d1249f6f70944db9781ec2acf093ada7492))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Internal code refactoring
|
|
38
|
+
|
|
39
|
+
* improve type-safety, remove dead code, remove memory and data leaks ([#80](https://github.com/CAIIVS/raitap/issues/80)) ([d50a79c](https://github.com/CAIIVS/raitap/commit/d50a79c4f7ac5e3c5601428113b84b5aa613e2b7))
|
|
40
|
+
* **transparency:** overhaul transparency to support many explainer categories, scopes and families in a typed robust way ([#98](https://github.com/CAIIVS/raitap/issues/98)) ([f0d5718](https://github.com/CAIIVS/raitap/commit/f0d5718da13adf45f5063082c4044a44054b5a77))
|
|
41
|
+
* **transparency:** split RAITAP and library kwargs in transparency config ([#86](https://github.com/CAIIVS/raitap/issues/86)) ([663f42e](https://github.com/CAIIVS/raitap/commit/663f42e196647fb2d5400f62288948258f270299))
|
|
42
|
+
|
|
43
|
+
## [0.2.1](https://github.com/CAIIVS/raitap/compare/v0.2.0...v0.2.1) (2026-04-14)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Dependencies
|
|
47
|
+
|
|
48
|
+
* **dev:** update commitizen requirement from >=3.0.0 to >=4.13.9 ([#47](https://github.com/CAIIVS/raitap/issues/47)) ([846633b](https://github.com/CAIIVS/raitap/commit/846633b42fdfde949e1af600a5eebc01908dae0b))
|
|
49
|
+
* **dev:** update furo requirement from >=2024.8.6 to >=2025.12.19 ([#42](https://github.com/CAIIVS/raitap/issues/42)) ([b89e8ab](https://github.com/CAIIVS/raitap/commit/b89e8ab41697b30cdc1379151d6c245c18019a45))
|
|
50
|
+
* **dev:** update myst-parser requirement from >=4.0.0 to >=5.0.0 ([#45](https://github.com/CAIIVS/raitap/issues/45)) ([4c726d0](https://github.com/CAIIVS/raitap/commit/4c726d0d17fa4cb6ef6b80db0247859c89508750))
|
|
51
|
+
* **dev:** update pytest requirement from >=8.0.0 to >=9.0.3 ([#49](https://github.com/CAIIVS/raitap/issues/49)) ([22745d4](https://github.com/CAIIVS/raitap/commit/22745d41435a0510476eab7fde3d9048735ba416))
|
|
52
|
+
* **dev:** update pytest-cov requirement from >=4.1.0 to >=7.1.0 ([#41](https://github.com/CAIIVS/raitap/issues/41)) ([29ef0ee](https://github.com/CAIIVS/raitap/commit/29ef0ee5d65c6f771b26f608190b0e68d2fdf825))
|
|
53
|
+
* **dev:** update sphinx requirement from >=8.0.0 to >=9.1.0 ([#46](https://github.com/CAIIVS/raitap/issues/46)) ([6ecbc20](https://github.com/CAIIVS/raitap/commit/6ecbc20a7156fe6dcc21c8c4012727c0fc4b8d07))
|
|
54
|
+
* **dev:** update sphinx-autobuild requirement from >=2024.10.3 to >=2025.8.25 ([#48](https://github.com/CAIIVS/raitap/issues/48)) ([c313c3f](https://github.com/CAIIVS/raitap/commit/c313c3ff2131885351f88889b264ecd28c3b2359))
|
|
55
|
+
* update pillow requirement from >=10.0.0 to >=12.2.0 ([#43](https://github.com/CAIIVS/raitap/issues/43)) ([34b79ad](https://github.com/CAIIVS/raitap/commit/34b79adfaa5ab909bf5e64b0c36bef9794a6e1e0))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### Code Refactoring
|
|
59
|
+
|
|
60
|
+
* **transparency:** truly lib agnostic and added alibi ([#69](https://github.com/CAIIVS/raitap/issues/69)) ([1447c61](https://github.com/CAIIVS/raitap/commit/1447c61db83f0d8db17a73b051a7b01dc9d29fc6))
|
|
61
|
+
|
|
62
|
+
## [0.2.0](https://github.com/CAIIVS/raitap/compare/v0.1.0...v0.2.0) (2026-04-13)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### ⚠ BREAKING CHANGES
|
|
66
|
+
|
|
67
|
+
* issues discovered during cluster tests ([#51](https://github.com/CAIIVS/raitap/issues/51))
|
|
68
|
+
|
|
69
|
+
### Bug Fixes
|
|
70
|
+
|
|
71
|
+
* issues discovered during cluster tests ([#51](https://github.com/CAIIVS/raitap/issues/51)) ([64e964c](https://github.com/CAIIVS/raitap/commit/64e964c88f5e44ad2b092781d2e607c15664e8c6))
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
### Documentation
|
|
75
|
+
|
|
76
|
+
* fix order ([13e5ae3](https://github.com/CAIIVS/raitap/commit/13e5ae398ee54b8d22c07a25f998415dc6c9cc99))
|
|
77
|
+
|
|
78
|
+
## [0.1.0](https://github.com/CAIIVS/raitap/compare/v0.0.1...v0.1.0) (2026-04-12)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Features
|
|
82
|
+
|
|
83
|
+
* pypi publishing ([#64](https://github.com/CAIIVS/raitap/issues/64)) ([a1cadb0](https://github.com/CAIIVS/raitap/commit/a1cadb06383951d2bc99ace4067d1bd6a29406f0))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: raitap
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Python library to assess the responsibility level of AI models for integration into MLOps workflows.
|
|
5
5
|
Project-URL: Documentation, https://caiivs.github.io/raitap/
|
|
6
6
|
Project-URL: Homepage, https://caiivs.github.io/raitap/
|
|
@@ -691,13 +691,13 @@ Classifier: Programming Language :: Python :: 3
|
|
|
691
691
|
Classifier: Programming Language :: Python :: 3.13
|
|
692
692
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
693
693
|
Classifier: Typing :: Typed
|
|
694
|
-
Requires-Python:
|
|
694
|
+
Requires-Python: <3.14,>=3.13
|
|
695
695
|
Requires-Dist: hydra-core>=1.3.2
|
|
696
696
|
Requires-Dist: matplotlib>=3.9.0
|
|
697
697
|
Requires-Dist: numpy>=2.4.2
|
|
698
698
|
Requires-Dist: pandas-stubs~=3.0.0
|
|
699
699
|
Requires-Dist: pandas>=2.0.0
|
|
700
|
-
Requires-Dist: pillow>=
|
|
700
|
+
Requires-Dist: pillow>=12.2.0
|
|
701
701
|
Provides-Extra: captum
|
|
702
702
|
Requires-Dist: captum>=0.7.0; extra == 'captum'
|
|
703
703
|
Provides-Extra: launcher
|
|
@@ -718,12 +718,12 @@ Requires-Dist: onnxruntime-gpu>=1.24.4; extra == 'onnx-cuda'
|
|
|
718
718
|
Requires-Dist: torch>=2.10.0; extra == 'onnx-cuda'
|
|
719
719
|
Requires-Dist: torchvision>=0.20.0; extra == 'onnx-cuda'
|
|
720
720
|
Provides-Extra: onnx-intel
|
|
721
|
-
Requires-Dist: onnx>=1.21.0; extra == 'onnx-intel'
|
|
722
|
-
Requires-Dist: onnxruntime-openvino>=1.24.1; extra == 'onnx-intel'
|
|
721
|
+
Requires-Dist: onnx>=1.21.0; (sys_platform != 'darwin') and extra == 'onnx-intel'
|
|
722
|
+
Requires-Dist: onnxruntime-openvino>=1.24.1; (sys_platform != 'darwin') and extra == 'onnx-intel'
|
|
723
723
|
Requires-Dist: openvino>=2025.1.0; (sys_platform == 'win32') and extra == 'onnx-intel'
|
|
724
|
-
Requires-Dist: torch>=2.10.0; (python_full_version < '3.14') and extra == 'onnx-intel'
|
|
725
|
-
Requires-Dist: torchvision>=0.20.0; (python_full_version < '3.14') and extra == 'onnx-intel'
|
|
726
|
-
Requires-Dist: triton-xpu; (python_full_version < '3.14') and extra == 'onnx-intel'
|
|
724
|
+
Requires-Dist: torch>=2.10.0; (python_full_version < '3.14' and sys_platform != 'darwin') and extra == 'onnx-intel'
|
|
725
|
+
Requires-Dist: torchvision>=0.20.0; (python_full_version < '3.14' and sys_platform != 'darwin') and extra == 'onnx-intel'
|
|
726
|
+
Requires-Dist: triton-xpu; (python_full_version < '3.14' and sys_platform != 'darwin') and extra == 'onnx-intel'
|
|
727
727
|
Provides-Extra: reporting
|
|
728
728
|
Requires-Dist: borb==3.0.7; extra == 'reporting'
|
|
729
729
|
Provides-Extra: shap
|
|
@@ -735,9 +735,9 @@ Provides-Extra: torch-cuda
|
|
|
735
735
|
Requires-Dist: torch>=2.10.0; extra == 'torch-cuda'
|
|
736
736
|
Requires-Dist: torchvision>=0.20.0; extra == 'torch-cuda'
|
|
737
737
|
Provides-Extra: torch-intel
|
|
738
|
-
Requires-Dist: torch>=2.10.0; (python_full_version < '3.14') and extra == 'torch-intel'
|
|
739
|
-
Requires-Dist: torchvision>=0.20.0; (python_full_version < '3.14') and extra == 'torch-intel'
|
|
740
|
-
Requires-Dist: triton-xpu; (python_full_version < '3.14') and extra == 'torch-intel'
|
|
738
|
+
Requires-Dist: torch>=2.10.0; (python_full_version < '3.14' and sys_platform != 'darwin') and extra == 'torch-intel'
|
|
739
|
+
Requires-Dist: torchvision>=0.20.0; (python_full_version < '3.14' and sys_platform != 'darwin') and extra == 'torch-intel'
|
|
740
|
+
Requires-Dist: triton-xpu; (python_full_version < '3.14' and sys_platform != 'darwin') and extra == 'torch-intel'
|
|
741
741
|
Provides-Extra: tracking
|
|
742
742
|
Requires-Dist: mlflow>=3.9.0; extra == 'tracking'
|
|
743
743
|
Provides-Extra: transparency
|
|
@@ -745,6 +745,8 @@ Requires-Dist: captum>=0.7.0; extra == 'transparency'
|
|
|
745
745
|
Requires-Dist: shap>=0.46.0; extra == 'transparency'
|
|
746
746
|
Description-Content-Type: text/markdown
|
|
747
747
|
|
|
748
|
+
 [](https://deepwiki.com/CAIIVS/raitap)
|
|
749
|
+
|
|
748
750
|
<img src="https://raw.githubusercontent.com/CAIIVS/raitap/main/assets/images/tech_assessment_platform_logo.png" width="400">
|
|
749
751
|
|
|
750
752
|
RAITAP is a Python library to assess the responsibility level of AI models. It is designed to be easily integrated into existing MLOps workflows.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
 [](https://deepwiki.com/CAIIVS/raitap)
|
|
2
|
+
|
|
1
3
|
<img src="https://raw.githubusercontent.com/CAIIVS/raitap/main/assets/images/tech_assessment_platform_logo.png" width="400">
|
|
2
4
|
|
|
3
5
|
RAITAP is a Python library to assess the responsibility level of AI models. It is designed to be easily integrated into existing MLOps workflows.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--content-font-size: 1rem;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.sidebar-brand-text {
|
|
6
|
+
font-weight: 700;
|
|
7
|
+
letter-spacing: 0.02em;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.toctree-wrapper .caption {
|
|
11
|
+
font-weight: 700;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
table.docutils {
|
|
15
|
+
margin-left: 0;
|
|
16
|
+
margin-right: auto;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@media (min-width: 67em) {
|
|
20
|
+
div.content {
|
|
21
|
+
width: 80em;
|
|
22
|
+
max-width: 60vw;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.article-container {
|
|
27
|
+
margin-top: 24px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.article-container,
|
|
31
|
+
#furo-main-content {
|
|
32
|
+
width: 100%;
|
|
33
|
+
max-width: none;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
h1 {
|
|
37
|
+
margin-top: 0;
|
|
38
|
+
margin-bottom: 2rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@media (min-width: 768px) {
|
|
42
|
+
h1 {
|
|
43
|
+
margin-bottom: 4rem;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
h2 {
|
|
48
|
+
font-size: 1.75rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
h3 {
|
|
52
|
+
font-size: 1.25rem;
|
|
53
|
+
margin-top: 1.2rem;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
h4 {
|
|
57
|
+
font-size: 1rem;
|
|
58
|
+
font-weight: 500;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Furo puts the whole nav in .sidebar-scroll with overflow:auto. Absolute bottom:0 inside that
|
|
62
|
+
box is tied to the full scroll height, so the bar can land in the middle of the viewport while
|
|
63
|
+
scrolling. Only the TOC scrolls here; the repo row stays a normal flex item at the bottom. */
|
|
64
|
+
.sidebar-scroll {
|
|
65
|
+
display: flex;
|
|
66
|
+
flex-direction: column;
|
|
67
|
+
flex-grow: 1;
|
|
68
|
+
flex-shrink: 1;
|
|
69
|
+
min-height: 0;
|
|
70
|
+
overflow: hidden;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.raitap-sidebar-toc-scroll {
|
|
74
|
+
flex: 1 1 auto;
|
|
75
|
+
min-height: 0;
|
|
76
|
+
overflow: auto;
|
|
77
|
+
scroll-behavior: smooth;
|
|
78
|
+
scrollbar-gutter: stable;
|
|
79
|
+
scrollbar-color: var(--color-foreground-border) transparent;
|
|
80
|
+
scrollbar-width: thin;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.sidebar-tree.raitap-sidebar-repo {
|
|
84
|
+
flex-shrink: 0;
|
|
85
|
+
box-sizing: border-box;
|
|
86
|
+
margin-top: 0;
|
|
87
|
+
margin-bottom: 0;
|
|
88
|
+
padding: 1rem var(--sidebar-item-spacing-horizontal) var(--sidebar-item-spacing-vertical);
|
|
89
|
+
border-top: 1px solid var(--color-sidebar-item-background--hover);
|
|
90
|
+
background-color: var(--color-sidebar-background);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.raitap-sidebar-repo .reference.external {
|
|
94
|
+
display: flex;
|
|
95
|
+
align-items: center;
|
|
96
|
+
gap: 0.5rem;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.sd-container-fluid {
|
|
100
|
+
padding-left: 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.sd-card-title {
|
|
104
|
+
margin-bottom: 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.sd-tab-set {
|
|
108
|
+
margin-top: 0;
|
|
109
|
+
|
|
110
|
+
&>label {
|
|
111
|
+
padding-top: 0.5em;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.admonition-title {
|
|
117
|
+
padding-block: 8px;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.content-icon-container {
|
|
121
|
+
margin-top: 8px;
|
|
122
|
+
gap: 1rem;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.sidebar-drawer {
|
|
126
|
+
width: auto;
|
|
127
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
<div class="raitap-sidebar-toc-scroll">
|
|
1
2
|
{% include "furo/sidebar/navigation.html" %}
|
|
3
|
+
</div>
|
|
2
4
|
|
|
3
|
-
<div class="sidebar-tree
|
|
5
|
+
<div class="sidebar-tree raitap-sidebar-repo">
|
|
4
6
|
<ul>
|
|
5
7
|
<li class="toctree-l1">
|
|
6
|
-
<a class="reference external" href="https://github.com/CAIIVS/raitap"
|
|
8
|
+
<a class="reference external" href="https://github.com/CAIIVS/raitap">
|
|
7
9
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" height="1em" width="1em">
|
|
8
10
|
<path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path>
|
|
9
11
|
</svg>
|
|
@@ -76,8 +76,16 @@ myst_heading_anchors = 4
|
|
|
76
76
|
nitpick_ignore_regex = [
|
|
77
77
|
(r"py:class", r"Data"),
|
|
78
78
|
(r"py:class", r"'dict\[str.*"),
|
|
79
|
-
(r"py:class", r"raitap\.transparency\.explainers\.base_explainer\.
|
|
79
|
+
(r"py:class", r"raitap\.transparency\.explainers\.base_explainer\.AbstractExplainer"),
|
|
80
|
+
(r"py:class", r"raitap\.transparency\.explainers\.base_explainer\.AttributionOnlyExplainer"),
|
|
81
|
+
(r"py:class", r"raitap\.transparency\.explainers\.full_explainer\.FullExplainer"),
|
|
80
82
|
(r"py:class", r"raitap\.transparency\.visualisers\.base_visualiser\.BaseVisualiser"),
|
|
83
|
+
(
|
|
84
|
+
r"py:class",
|
|
85
|
+
r"raitap\.transparency\.visualisers\.shap_visualisers\._TabularSummaryContractMixin",
|
|
86
|
+
),
|
|
87
|
+
(r"py:class", r"raitap\.tracking\.base_tracker\.Trackable"),
|
|
88
|
+
(r"py:class", r"raitap\.reporting\.sections\.Reportable"),
|
|
81
89
|
]
|
|
82
90
|
|
|
83
91
|
intersphinx_mapping = {
|