explainiverse 0.1.1a0__tar.gz → 0.1.1a1__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.
Files changed (21) hide show
  1. explainiverse-0.1.1a1/PKG-INFO +128 -0
  2. explainiverse-0.1.1a1/README.md +105 -0
  3. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/pyproject.toml +1 -1
  4. explainiverse-0.1.1a0/PKG-INFO +0 -84
  5. explainiverse-0.1.1a0/README.md +0 -61
  6. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/LICENSE +0 -0
  7. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/__init__.py +0 -0
  8. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/adapters/__init__.py +0 -0
  9. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/adapters/base_adapter.py +0 -0
  10. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/adapters/sklearn_adapter.py +0 -0
  11. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/core/__init__.py +0 -0
  12. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/core/explainer.py +0 -0
  13. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/core/explanation.py +0 -0
  14. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/engine/__init__.py +0 -0
  15. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/engine/suite.py +0 -0
  16. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/evaluation/__init__.py +0 -0
  17. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/evaluation/metrics.py +0 -0
  18. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/explainers/__init__.py +0 -0
  19. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/explainers/attribution/__init__.py +0 -0
  20. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/explainers/attribution/lime_wrapper.py +0 -0
  21. {explainiverse-0.1.1a0 → explainiverse-0.1.1a1}/src/explainiverse/explainers/attribution/shap_wrapper.py +0 -0
@@ -0,0 +1,128 @@
1
+ Metadata-Version: 2.1
2
+ Name: explainiverse
3
+ Version: 0.1.1a1
4
+ Summary: Unified, extensible explainability framework supporting LIME, SHAP, and custom adapters
5
+ Home-page: https://github.com/jemsbhai/explainiverse
6
+ License: MIT
7
+ Author: Muntaser Syed
8
+ Author-email: jemsbhai@gmail.com
9
+ Requires-Python: >=3.10,<3.13
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Requires-Dist: lime (>=0.2.0.1,<0.3.0.0)
16
+ Requires-Dist: numpy (==1.24.4)
17
+ Requires-Dist: scikit-learn (>=1.1,<1.4)
18
+ Requires-Dist: shap (>=0.48.0,<0.49.0)
19
+ Requires-Dist: xgboost (>=3.0.2,<4.0.0)
20
+ Project-URL: Repository, https://github.com/jemsbhai/explainiverse
21
+ Description-Content-Type: text/markdown
22
+
23
+ # Explainiverse
24
+
25
+ **Explainiverse** is a unified, extensible, and testable Python framework for Explainable AI (XAI).
26
+ It offers a standardized interface for model-agnostic explainability, evaluation metrics like AOPC and ROAR, and support for multiple XAI methods out of the box.
27
+
28
+ ---
29
+
30
+ ## Features
31
+
32
+ - Standardized `Explainer` API (`BaseExplainer`)
33
+ - Support for:
34
+ - Local and global feature attribution
35
+ - Regression and classification tasks
36
+ - Integrated explainers:
37
+ - **LIME** (tabular, local surrogate)
38
+ - **SHAP** (KernelExplainer with multi-class, regression, cohort support)
39
+ - Evaluation metrics:
40
+ - **AOPC** (Area Over Perturbation Curve)
41
+ - **ROAR** (Remove And Retrain)
42
+ - Multiple `top_k` support
43
+ - Baseline options: `"mean"`, `"median"`, `np.ndarray`, `callable`
44
+ - Curve generation for ROAR vs feature importance
45
+ - Explainability Suite:
46
+ - Run and compare multiple explainers
47
+ - Auto-suggestion based on model/task type
48
+ - Built-in support for models: `LogisticRegression`, `RandomForest`, `SVC`, `KNN`, `XGB`, `NaiveBayes`, and more
49
+
50
+ ---
51
+
52
+
53
+ ## Installation
54
+
55
+ From PyPI:
56
+
57
+ ```bash
58
+ pip install explainiverse
59
+ ```
60
+
61
+ For development use:
62
+
63
+ ```bash
64
+ git clone https://github.com/jemsbhai/explainiverse.git
65
+ cd explainiverse
66
+ poetry install
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Quick Example
72
+ ```python
73
+
74
+ from explainiverse.adapters.sklearn_adapter import SklearnAdapter
75
+ from explainiverse.explainers.attribution.lime_wrapper import LimeExplainer
76
+ from explainiverse.engine.suite import ExplanationSuite
77
+
78
+ # Wrap your model
79
+ adapter = SklearnAdapter(your_model, class_names=["yes", "no"])
80
+
81
+ # Build the suite
82
+ suite = ExplanationSuite(
83
+ model=adapter,
84
+ explainer_configs=[
85
+ ("lime", {...}),
86
+ ("shap", {...})
87
+ ],
88
+ data_meta={"task": "classification"}
89
+ )
90
+
91
+ results = suite.run(instance)
92
+ suite.compare()
93
+ suite.evaluate_roar(X_train, y_train, X_test, y_test, top_k=3)
94
+ ```
95
+
96
+
97
+ ---
98
+
99
+ ## Running Tests
100
+
101
+ All tests can be run using:
102
+
103
+ ```bash
104
+ poetry run python tests/test_all.py
105
+ ```
106
+
107
+ For individual component testing:
108
+
109
+ ```bash
110
+ poetry run python tests/test_shap_explainer.py
111
+ poetry run python tests/test_lime_explainer.py
112
+ poetry run python tests/test_evaluation_metrics.py
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Documentation
118
+
119
+ Documentation is currently in development.
120
+ Until then, test files (especially `test_shap_explainer.py`) demonstrate usage and structure.
121
+
122
+ ---
123
+
124
+ ## License
125
+
126
+ This project is licensed under the MIT License.
127
+
128
+
@@ -0,0 +1,105 @@
1
+ # Explainiverse
2
+
3
+ **Explainiverse** is a unified, extensible, and testable Python framework for Explainable AI (XAI).
4
+ It offers a standardized interface for model-agnostic explainability, evaluation metrics like AOPC and ROAR, and support for multiple XAI methods out of the box.
5
+
6
+ ---
7
+
8
+ ## Features
9
+
10
+ - Standardized `Explainer` API (`BaseExplainer`)
11
+ - Support for:
12
+ - Local and global feature attribution
13
+ - Regression and classification tasks
14
+ - Integrated explainers:
15
+ - **LIME** (tabular, local surrogate)
16
+ - **SHAP** (KernelExplainer with multi-class, regression, cohort support)
17
+ - Evaluation metrics:
18
+ - **AOPC** (Area Over Perturbation Curve)
19
+ - **ROAR** (Remove And Retrain)
20
+ - Multiple `top_k` support
21
+ - Baseline options: `"mean"`, `"median"`, `np.ndarray`, `callable`
22
+ - Curve generation for ROAR vs feature importance
23
+ - Explainability Suite:
24
+ - Run and compare multiple explainers
25
+ - Auto-suggestion based on model/task type
26
+ - Built-in support for models: `LogisticRegression`, `RandomForest`, `SVC`, `KNN`, `XGB`, `NaiveBayes`, and more
27
+
28
+ ---
29
+
30
+
31
+ ## Installation
32
+
33
+ From PyPI:
34
+
35
+ ```bash
36
+ pip install explainiverse
37
+ ```
38
+
39
+ For development use:
40
+
41
+ ```bash
42
+ git clone https://github.com/jemsbhai/explainiverse.git
43
+ cd explainiverse
44
+ poetry install
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Quick Example
50
+ ```python
51
+
52
+ from explainiverse.adapters.sklearn_adapter import SklearnAdapter
53
+ from explainiverse.explainers.attribution.lime_wrapper import LimeExplainer
54
+ from explainiverse.engine.suite import ExplanationSuite
55
+
56
+ # Wrap your model
57
+ adapter = SklearnAdapter(your_model, class_names=["yes", "no"])
58
+
59
+ # Build the suite
60
+ suite = ExplanationSuite(
61
+ model=adapter,
62
+ explainer_configs=[
63
+ ("lime", {...}),
64
+ ("shap", {...})
65
+ ],
66
+ data_meta={"task": "classification"}
67
+ )
68
+
69
+ results = suite.run(instance)
70
+ suite.compare()
71
+ suite.evaluate_roar(X_train, y_train, X_test, y_test, top_k=3)
72
+ ```
73
+
74
+
75
+ ---
76
+
77
+ ## Running Tests
78
+
79
+ All tests can be run using:
80
+
81
+ ```bash
82
+ poetry run python tests/test_all.py
83
+ ```
84
+
85
+ For individual component testing:
86
+
87
+ ```bash
88
+ poetry run python tests/test_shap_explainer.py
89
+ poetry run python tests/test_lime_explainer.py
90
+ poetry run python tests/test_evaluation_metrics.py
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Documentation
96
+
97
+ Documentation is currently in development.
98
+ Until then, test files (especially `test_shap_explainer.py`) demonstrate usage and structure.
99
+
100
+ ---
101
+
102
+ ## License
103
+
104
+ This project is licensed under the MIT License.
105
+
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "explainiverse"
3
- version = "0.1.1a0"
3
+ version = "0.1.1a1"
4
4
  description = "Unified, extensible explainability framework supporting LIME, SHAP, and custom adapters"
5
5
  authors = ["Muntaser Syed <jemsbhai@gmail.com>"]
6
6
  license = "MIT"
@@ -1,84 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: explainiverse
3
- Version: 0.1.1a0
4
- Summary: Unified, extensible explainability framework supporting LIME, SHAP, and custom adapters
5
- Home-page: https://github.com/jemsbhai/explainiverse
6
- License: MIT
7
- Author: Muntaser Syed
8
- Author-email: jemsbhai@gmail.com
9
- Requires-Python: >=3.10,<3.13
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Requires-Dist: lime (>=0.2.0.1,<0.3.0.0)
16
- Requires-Dist: numpy (==1.24.4)
17
- Requires-Dist: scikit-learn (>=1.1,<1.4)
18
- Requires-Dist: shap (>=0.48.0,<0.49.0)
19
- Requires-Dist: xgboost (>=3.0.2,<4.0.0)
20
- Project-URL: Repository, https://github.com/jemsbhai/explainiverse
21
- Description-Content-Type: text/markdown
22
-
23
- # Explainiverse
24
-
25
- Explainiverse is a unified, extensible, and testable Python framework for explainable AI (XAI).
26
- It provides a consistent API and support for post-hoc explainers like LIME and SHAP, model adapters, and rigorous evaluation strategies.
27
-
28
- ---
29
-
30
- ## Features
31
-
32
- - Standardized Explainer interface (`BaseExplainer`)
33
- - Support for classification, regression, and multi-class models
34
- - Integrated explainers:
35
- - LIME (Local surrogate models)
36
- - SHAP (KernelExplainer with per-class and global support)
37
- - Adapter layer for scikit-learn models
38
- - Explanation object with structured output and future extensibility for `.plot()`
39
- - Full unit test suite covering classification, regression, global/cohort SHAP, and adapter behavior
40
-
41
- ---
42
-
43
- ## Installation
44
-
45
- This package will soon be available on PyPI.
46
-
47
- For development use:
48
-
49
- ```bash
50
- git clone https://github.com/YOUR_USERNAME/explainiverse.git
51
- cd explainiverse
52
- poetry install
53
- ```
54
-
55
- ---
56
-
57
- ## Running Tests
58
-
59
- All tests can be run using:
60
-
61
- ```bash
62
- poetry run python tests/test_all.py
63
- ```
64
-
65
- For individual component testing:
66
-
67
- ```bash
68
- poetry run python tests/test_shap_explainer.py
69
- poetry run python tests/test_lime_explainer.py
70
- ```
71
-
72
- ---
73
-
74
- ## Documentation
75
-
76
- Documentation is currently in development.
77
- Until then, test files (especially `test_shap_explainer.py`) demonstrate usage and structure.
78
-
79
- ---
80
-
81
- ## License
82
-
83
- This project is licensed under the MIT License.
84
-
@@ -1,61 +0,0 @@
1
- # Explainiverse
2
-
3
- Explainiverse is a unified, extensible, and testable Python framework for explainable AI (XAI).
4
- It provides a consistent API and support for post-hoc explainers like LIME and SHAP, model adapters, and rigorous evaluation strategies.
5
-
6
- ---
7
-
8
- ## Features
9
-
10
- - Standardized Explainer interface (`BaseExplainer`)
11
- - Support for classification, regression, and multi-class models
12
- - Integrated explainers:
13
- - LIME (Local surrogate models)
14
- - SHAP (KernelExplainer with per-class and global support)
15
- - Adapter layer for scikit-learn models
16
- - Explanation object with structured output and future extensibility for `.plot()`
17
- - Full unit test suite covering classification, regression, global/cohort SHAP, and adapter behavior
18
-
19
- ---
20
-
21
- ## Installation
22
-
23
- This package will soon be available on PyPI.
24
-
25
- For development use:
26
-
27
- ```bash
28
- git clone https://github.com/YOUR_USERNAME/explainiverse.git
29
- cd explainiverse
30
- poetry install
31
- ```
32
-
33
- ---
34
-
35
- ## Running Tests
36
-
37
- All tests can be run using:
38
-
39
- ```bash
40
- poetry run python tests/test_all.py
41
- ```
42
-
43
- For individual component testing:
44
-
45
- ```bash
46
- poetry run python tests/test_shap_explainer.py
47
- poetry run python tests/test_lime_explainer.py
48
- ```
49
-
50
- ---
51
-
52
- ## Documentation
53
-
54
- Documentation is currently in development.
55
- Until then, test files (especially `test_shap_explainer.py`) demonstrate usage and structure.
56
-
57
- ---
58
-
59
- ## License
60
-
61
- This project is licensed under the MIT License.
File without changes