RCAEval 0.0.4__py3-none-any.whl
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.
RCAEval/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: RCAEval
|
|
3
|
+
Version: 0.0.4
|
|
4
|
+
Description-Content-Type: text/markdown
|
|
5
|
+
Provides-Extra: dev
|
|
6
|
+
Requires-Dist: aiobotocore ==2.5.0 ; extra == 'dev'
|
|
7
|
+
Requires-Dist: aiohttp ==3.8.4 ; extra == 'dev'
|
|
8
|
+
Requires-Dist: aiohttp-retry ==2.8.3 ; extra == 'dev'
|
|
9
|
+
Requires-Dist: aioitertools ==0.11.0 ; extra == 'dev'
|
|
10
|
+
Requires-Dist: aiosignal ==1.3.1 ; extra == 'dev'
|
|
11
|
+
Requires-Dist: amqp ==5.1.1 ; extra == 'dev'
|
|
12
|
+
Requires-Dist: antlr4-python3-runtime ==4.9.3 ; extra == 'dev'
|
|
13
|
+
Requires-Dist: appdirs ==1.4.4 ; extra == 'dev'
|
|
14
|
+
Requires-Dist: asttokens ==2.2.1 ; extra == 'dev'
|
|
15
|
+
Requires-Dist: async-timeout ==4.0.2 ; extra == 'dev'
|
|
16
|
+
Requires-Dist: asyncssh ==2.13.1 ; extra == 'dev'
|
|
17
|
+
Requires-Dist: atpublic ==3.1.1 ; extra == 'dev'
|
|
18
|
+
Requires-Dist: attrs ==23.1.0 ; extra == 'dev'
|
|
19
|
+
Requires-Dist: backcall ==0.2.0 ; extra == 'dev'
|
|
20
|
+
Requires-Dist: billiard ==3.6.4.0 ; extra == 'dev'
|
|
21
|
+
Requires-Dist: boto3 ==1.26.76 ; extra == 'dev'
|
|
22
|
+
Requires-Dist: botocore ==1.29.76 ; extra == 'dev'
|
|
23
|
+
Requires-Dist: cairocffi ==1.5.1 ; extra == 'dev'
|
|
24
|
+
Requires-Dist: CairoSVG ==2.7.0 ; extra == 'dev'
|
|
25
|
+
Requires-Dist: causal-learn ==0.1.3.3 ; extra == 'dev'
|
|
26
|
+
Requires-Dist: causality ==0.0.10 ; extra == 'dev'
|
|
27
|
+
Requires-Dist: celery ==5.2.7 ; extra == 'dev'
|
|
28
|
+
Requires-Dist: certifi ==2023.5.7 ; extra == 'dev'
|
|
29
|
+
Requires-Dist: cffi ==1.15.1 ; extra == 'dev'
|
|
30
|
+
Requires-Dist: cfgv ==3.3.1 ; extra == 'dev'
|
|
31
|
+
Requires-Dist: charset-normalizer ==3.1.0 ; extra == 'dev'
|
|
32
|
+
Requires-Dist: click ==8.1.3 ; extra == 'dev'
|
|
33
|
+
Requires-Dist: click-didyoumean ==0.3.0 ; extra == 'dev'
|
|
34
|
+
Requires-Dist: click-plugins ==1.1.1 ; extra == 'dev'
|
|
35
|
+
Requires-Dist: click-repl ==0.2.0 ; extra == 'dev'
|
|
36
|
+
Requires-Dist: colorama ==0.4.6 ; extra == 'dev'
|
|
37
|
+
Requires-Dist: comm ==0.1.3 ; extra == 'dev'
|
|
38
|
+
Requires-Dist: configobj ==5.0.8 ; extra == 'dev'
|
|
39
|
+
Requires-Dist: contourpy ==1.0.7 ; extra == 'dev'
|
|
40
|
+
Requires-Dist: cryptography ==40.0.2 ; extra == 'dev'
|
|
41
|
+
Requires-Dist: cssselect2 ==0.7.0 ; extra == 'dev'
|
|
42
|
+
Requires-Dist: cycler ==0.11.0 ; extra == 'dev'
|
|
43
|
+
Requires-Dist: debugpy ==1.6.7 ; extra == 'dev'
|
|
44
|
+
Requires-Dist: decorator ==5.1.1 ; extra == 'dev'
|
|
45
|
+
Requires-Dist: defusedxml ==0.7.1 ; extra == 'dev'
|
|
46
|
+
Requires-Dist: dictdiffer ==0.9.0 ; extra == 'dev'
|
|
47
|
+
Requires-Dist: diskcache ==5.6.1 ; extra == 'dev'
|
|
48
|
+
Requires-Dist: distlib ==0.3.6 ; extra == 'dev'
|
|
49
|
+
Requires-Dist: distro ==1.8.0 ; extra == 'dev'
|
|
50
|
+
Requires-Dist: dpath ==2.1.5 ; extra == 'dev'
|
|
51
|
+
Requires-Dist: dulwich ==0.21.5 ; extra == 'dev'
|
|
52
|
+
Requires-Dist: dvc ==2.57.3 ; extra == 'dev'
|
|
53
|
+
Requires-Dist: dvc-data ==0.51.0 ; extra == 'dev'
|
|
54
|
+
Requires-Dist: dvc-http ==2.30.2 ; extra == 'dev'
|
|
55
|
+
Requires-Dist: dvc-objects ==0.22.0 ; extra == 'dev'
|
|
56
|
+
Requires-Dist: dvc-render ==0.5.3 ; extra == 'dev'
|
|
57
|
+
Requires-Dist: dvc-s3 ==2.22.0 ; extra == 'dev'
|
|
58
|
+
Requires-Dist: dvc-studio-client ==0.9.2 ; extra == 'dev'
|
|
59
|
+
Requires-Dist: dvc-task ==0.2.1 ; extra == 'dev'
|
|
60
|
+
Requires-Dist: et-xmlfile ==1.1.0 ; extra == 'dev'
|
|
61
|
+
Requires-Dist: exceptiongroup ==1.1.1 ; extra == 'dev'
|
|
62
|
+
Requires-Dist: executing ==1.2.0 ; extra == 'dev'
|
|
63
|
+
Requires-Dist: filelock ==3.12.0 ; extra == 'dev'
|
|
64
|
+
Requires-Dist: flatten-dict ==0.4.2 ; extra == 'dev'
|
|
65
|
+
Requires-Dist: flufl.lock ==7.1.1 ; extra == 'dev'
|
|
66
|
+
Requires-Dist: fonttools ==4.39.4 ; extra == 'dev'
|
|
67
|
+
Requires-Dist: frozenlist ==1.3.3 ; extra == 'dev'
|
|
68
|
+
Requires-Dist: fsspec ==2023.5.0 ; extra == 'dev'
|
|
69
|
+
Requires-Dist: funcy ==2.0 ; extra == 'dev'
|
|
70
|
+
Requires-Dist: gitdb ==4.0.10 ; extra == 'dev'
|
|
71
|
+
Requires-Dist: GitPython ==3.1.31 ; extra == 'dev'
|
|
72
|
+
Requires-Dist: grandalf ==0.8 ; extra == 'dev'
|
|
73
|
+
Requires-Dist: graphviz ==0.20.1 ; extra == 'dev'
|
|
74
|
+
Requires-Dist: hydra-core ==1.3.2 ; extra == 'dev'
|
|
75
|
+
Requires-Dist: identify ==2.5.24 ; extra == 'dev'
|
|
76
|
+
Requires-Dist: idna ==3.4 ; extra == 'dev'
|
|
77
|
+
Requires-Dist: igraph ==0.10.4 ; extra == 'dev'
|
|
78
|
+
Requires-Dist: iniconfig ==2.0.0 ; extra == 'dev'
|
|
79
|
+
Requires-Dist: ipykernel ==6.23.1 ; extra == 'dev'
|
|
80
|
+
Requires-Dist: ipython ==8.13.2 ; extra == 'dev'
|
|
81
|
+
Requires-Dist: iterative-telemetry ==0.0.8 ; extra == 'dev'
|
|
82
|
+
Requires-Dist: jedi ==0.18.2 ; extra == 'dev'
|
|
83
|
+
Requires-Dist: jmespath ==1.0.1 ; extra == 'dev'
|
|
84
|
+
Requires-Dist: joblib ==1.2.0 ; extra == 'dev'
|
|
85
|
+
Requires-Dist: jupyter-client ==8.2.0 ; extra == 'dev'
|
|
86
|
+
Requires-Dist: jupyter-core ==5.3.0 ; extra == 'dev'
|
|
87
|
+
Requires-Dist: kiwisolver ==1.4.4 ; extra == 'dev'
|
|
88
|
+
Requires-Dist: kombu ==5.2.4 ; extra == 'dev'
|
|
89
|
+
Requires-Dist: lazy-loader ==0.2 ; extra == 'dev'
|
|
90
|
+
Requires-Dist: littleutils ==0.2.2 ; extra == 'dev'
|
|
91
|
+
Requires-Dist: llvmlite ==0.39.1 ; extra == 'dev'
|
|
92
|
+
Requires-Dist: markdown-it-py ==2.2.0 ; extra == 'dev'
|
|
93
|
+
Requires-Dist: mdurl ==0.1.2 ; extra == 'dev'
|
|
94
|
+
Requires-Dist: multidict ==6.0.4 ; extra == 'dev'
|
|
95
|
+
Requires-Dist: nanotime ==0.5.2 ; extra == 'dev'
|
|
96
|
+
Requires-Dist: nest-asyncio ==1.5.6 ; extra == 'dev'
|
|
97
|
+
Requires-Dist: networkx ==2.5 ; extra == 'dev'
|
|
98
|
+
Requires-Dist: nodeenv ==1.8.0 ; extra == 'dev'
|
|
99
|
+
Requires-Dist: numba ==0.56.4 ; extra == 'dev'
|
|
100
|
+
Requires-Dist: numpy ==1.23.5 ; extra == 'dev'
|
|
101
|
+
Requires-Dist: omegaconf ==2.3.0 ; extra == 'dev'
|
|
102
|
+
Requires-Dist: openpyxl ==3.1.2 ; extra == 'dev'
|
|
103
|
+
Requires-Dist: orjson ==3.8.12 ; extra == 'dev'
|
|
104
|
+
Requires-Dist: outdated ==0.2.2 ; extra == 'dev'
|
|
105
|
+
Requires-Dist: packaging ==23.1 ; extra == 'dev'
|
|
106
|
+
Requires-Dist: pandas ==2.0.1 ; extra == 'dev'
|
|
107
|
+
Requires-Dist: pandas-flavor ==0.5.0 ; extra == 'dev'
|
|
108
|
+
Requires-Dist: parso ==0.8.3 ; extra == 'dev'
|
|
109
|
+
Requires-Dist: pathspec ==0.11.1 ; extra == 'dev'
|
|
110
|
+
Requires-Dist: patsy ==0.5.3 ; extra == 'dev'
|
|
111
|
+
Requires-Dist: pexpect ==4.8.0 ; extra == 'dev'
|
|
112
|
+
Requires-Dist: pickleshare ==0.7.5 ; extra == 'dev'
|
|
113
|
+
Requires-Dist: Pillow ==9.5.0 ; extra == 'dev'
|
|
114
|
+
Requires-Dist: pingouin ==0.5.3 ; extra == 'dev'
|
|
115
|
+
Requires-Dist: platformdirs ==3.5.1 ; extra == 'dev'
|
|
116
|
+
Requires-Dist: pluggy ==1.0.0 ; extra == 'dev'
|
|
117
|
+
Requires-Dist: pre-commit ==3.3.2 ; extra == 'dev'
|
|
118
|
+
Requires-Dist: prompt-toolkit ==3.0.38 ; extra == 'dev'
|
|
119
|
+
Requires-Dist: psutil ==5.9.5 ; extra == 'dev'
|
|
120
|
+
Requires-Dist: ptyprocess ==0.7.0 ; extra == 'dev'
|
|
121
|
+
Requires-Dist: pure-eval ==0.2.2 ; extra == 'dev'
|
|
122
|
+
Requires-Dist: pyagrum ==1.8.0 ; extra == 'dev'
|
|
123
|
+
Requires-Dist: pycparser ==2.21 ; extra == 'dev'
|
|
124
|
+
Requires-Dist: pydot ==1.4.2 ; extra == 'dev'
|
|
125
|
+
Requires-Dist: pydotplus ==2.0.2 ; extra == 'dev'
|
|
126
|
+
Requires-Dist: pygit2 ==1.12.1 ; extra == 'dev'
|
|
127
|
+
Requires-Dist: Pygments ==2.15.1 ; extra == 'dev'
|
|
128
|
+
Requires-Dist: pygtrie ==2.5.0 ; extra == 'dev'
|
|
129
|
+
Requires-Dist: pyparsing ==3.0.9 ; extra == 'dev'
|
|
130
|
+
Requires-Dist: pytest ==7.3.1 ; extra == 'dev'
|
|
131
|
+
Requires-Dist: python-dateutil ==2.8.2 ; extra == 'dev'
|
|
132
|
+
Requires-Dist: python-igraph ==0.10.4 ; extra == 'dev'
|
|
133
|
+
Requires-Dist: pytz ==2023.3 ; extra == 'dev'
|
|
134
|
+
Requires-Dist: PyYAML ==6.0 ; extra == 'dev'
|
|
135
|
+
Requires-Dist: pyzmq ==25.0.2 ; extra == 'dev'
|
|
136
|
+
Requires-Dist: requests ==2.30.0 ; extra == 'dev'
|
|
137
|
+
Requires-Dist: rich ==13.3.5 ; extra == 'dev'
|
|
138
|
+
Requires-Dist: ruamel.yaml ==0.17.26 ; extra == 'dev'
|
|
139
|
+
Requires-Dist: ruamel.yaml.clib ==0.2.7 ; extra == 'dev'
|
|
140
|
+
Requires-Dist: s3fs ==2023.5.0 ; extra == 'dev'
|
|
141
|
+
Requires-Dist: s3transfer ==0.6.1 ; extra == 'dev'
|
|
142
|
+
Requires-Dist: scikit-learn ==1.2.2 ; extra == 'dev'
|
|
143
|
+
Requires-Dist: scikit-network ==0.31.0 ; extra == 'dev'
|
|
144
|
+
Requires-Dist: scipy ==1.10.1 ; extra == 'dev'
|
|
145
|
+
Requires-Dist: scmrepo ==1.0.3 ; extra == 'dev'
|
|
146
|
+
Requires-Dist: seaborn ==0.12.2 ; extra == 'dev'
|
|
147
|
+
Requires-Dist: shortuuid ==1.0.11 ; extra == 'dev'
|
|
148
|
+
Requires-Dist: shtab ==1.6.1 ; extra == 'dev'
|
|
149
|
+
Requires-Dist: six ==1.16.0 ; extra == 'dev'
|
|
150
|
+
Requires-Dist: smmap ==5.0.0 ; extra == 'dev'
|
|
151
|
+
Requires-Dist: sqltrie ==0.3.1 ; extra == 'dev'
|
|
152
|
+
Requires-Dist: stack-data ==0.6.2 ; extra == 'dev'
|
|
153
|
+
Requires-Dist: statsmodels ==0.14.0 ; extra == 'dev'
|
|
154
|
+
Requires-Dist: tabulate ==0.9.0 ; extra == 'dev'
|
|
155
|
+
Requires-Dist: texttable ==1.6.7 ; extra == 'dev'
|
|
156
|
+
Requires-Dist: threadpoolctl ==3.1.0 ; extra == 'dev'
|
|
157
|
+
Requires-Dist: tigramite ==4.2.2.1 ; extra == 'dev'
|
|
158
|
+
Requires-Dist: tinycss2 ==1.2.1 ; extra == 'dev'
|
|
159
|
+
Requires-Dist: tk ==0.1.0 ; extra == 'dev'
|
|
160
|
+
Requires-Dist: tomli ==2.0.1 ; extra == 'dev'
|
|
161
|
+
Requires-Dist: tomlkit ==0.11.8 ; extra == 'dev'
|
|
162
|
+
Requires-Dist: torch ==1.12.1 ; extra == 'dev'
|
|
163
|
+
Requires-Dist: tornado ==6.3.2 ; extra == 'dev'
|
|
164
|
+
Requires-Dist: tqdm ==4.65.0 ; extra == 'dev'
|
|
165
|
+
Requires-Dist: traitlets ==5.9.0 ; extra == 'dev'
|
|
166
|
+
Requires-Dist: typing-extensions ==4.5.0 ; extra == 'dev'
|
|
167
|
+
Requires-Dist: tzdata ==2023.3 ; extra == 'dev'
|
|
168
|
+
Requires-Dist: urllib3 ==1.26.15 ; extra == 'dev'
|
|
169
|
+
Requires-Dist: vine ==5.0.0 ; extra == 'dev'
|
|
170
|
+
Requires-Dist: virtualenv ==20.23.0 ; extra == 'dev'
|
|
171
|
+
Requires-Dist: voluptuous ==0.13.1 ; extra == 'dev'
|
|
172
|
+
Requires-Dist: wcwidth ==0.2.6 ; extra == 'dev'
|
|
173
|
+
Requires-Dist: webencodings ==0.5.1 ; extra == 'dev'
|
|
174
|
+
Requires-Dist: wrapt ==1.15.0 ; extra == 'dev'
|
|
175
|
+
Requires-Dist: xarray ==2023.5.0 ; extra == 'dev'
|
|
176
|
+
Requires-Dist: yarl ==1.9.2 ; extra == 'dev'
|
|
177
|
+
Requires-Dist: zc.lockfile ==3.0.post1 ; extra == 'dev'
|
|
178
|
+
Provides-Extra: rcd
|
|
179
|
+
Requires-Dist: aiobotocore ==2.5.0 ; extra == 'rcd'
|
|
180
|
+
Requires-Dist: aiohttp ==3.8.4 ; extra == 'rcd'
|
|
181
|
+
Requires-Dist: aiohttp-retry ==2.8.3 ; extra == 'rcd'
|
|
182
|
+
Requires-Dist: aioitertools ==0.11.0 ; extra == 'rcd'
|
|
183
|
+
Requires-Dist: aiosignal ==1.3.1 ; extra == 'rcd'
|
|
184
|
+
Requires-Dist: amqp ==5.1.1 ; extra == 'rcd'
|
|
185
|
+
Requires-Dist: antlr4-python3-runtime ==4.9.3 ; extra == 'rcd'
|
|
186
|
+
Requires-Dist: appdirs ==1.4.4 ; extra == 'rcd'
|
|
187
|
+
Requires-Dist: asttokens ==2.2.1 ; extra == 'rcd'
|
|
188
|
+
Requires-Dist: async-timeout ==4.0.2 ; extra == 'rcd'
|
|
189
|
+
Requires-Dist: asyncssh ==2.13.1 ; extra == 'rcd'
|
|
190
|
+
Requires-Dist: atpublic ==3.1.1 ; extra == 'rcd'
|
|
191
|
+
Requires-Dist: attrs ==23.1.0 ; extra == 'rcd'
|
|
192
|
+
Requires-Dist: backcall ==0.2.0 ; extra == 'rcd'
|
|
193
|
+
Requires-Dist: billiard ==3.6.4.0 ; extra == 'rcd'
|
|
194
|
+
Requires-Dist: boto3 ==1.26.76 ; extra == 'rcd'
|
|
195
|
+
Requires-Dist: botocore ==1.29.76 ; extra == 'rcd'
|
|
196
|
+
Requires-Dist: cairocffi ==1.5.1 ; extra == 'rcd'
|
|
197
|
+
Requires-Dist: CairoSVG ==2.7.0 ; extra == 'rcd'
|
|
198
|
+
Requires-Dist: causal-learn ==0.1.3.3 ; extra == 'rcd'
|
|
199
|
+
Requires-Dist: causality ==0.0.10 ; extra == 'rcd'
|
|
200
|
+
Requires-Dist: celery ==5.2.7 ; extra == 'rcd'
|
|
201
|
+
Requires-Dist: certifi ==2023.5.7 ; extra == 'rcd'
|
|
202
|
+
Requires-Dist: cffi ==1.15.1 ; extra == 'rcd'
|
|
203
|
+
Requires-Dist: cfgv ==3.3.1 ; extra == 'rcd'
|
|
204
|
+
Requires-Dist: charset-normalizer ==3.1.0 ; extra == 'rcd'
|
|
205
|
+
Requires-Dist: click ==8.1.3 ; extra == 'rcd'
|
|
206
|
+
Requires-Dist: click-didyoumean ==0.3.0 ; extra == 'rcd'
|
|
207
|
+
Requires-Dist: click-plugins ==1.1.1 ; extra == 'rcd'
|
|
208
|
+
Requires-Dist: click-repl ==0.2.0 ; extra == 'rcd'
|
|
209
|
+
Requires-Dist: colorama ==0.4.6 ; extra == 'rcd'
|
|
210
|
+
Requires-Dist: comm ==0.1.3 ; extra == 'rcd'
|
|
211
|
+
Requires-Dist: configobj ==5.0.8 ; extra == 'rcd'
|
|
212
|
+
Requires-Dist: contourpy ==1.0.7 ; extra == 'rcd'
|
|
213
|
+
Requires-Dist: cryptography ==40.0.2 ; extra == 'rcd'
|
|
214
|
+
Requires-Dist: cssselect2 ==0.7.0 ; extra == 'rcd'
|
|
215
|
+
Requires-Dist: cycler ==0.11.0 ; extra == 'rcd'
|
|
216
|
+
Requires-Dist: debugpy ==1.6.7 ; extra == 'rcd'
|
|
217
|
+
Requires-Dist: decorator ==5.1.1 ; extra == 'rcd'
|
|
218
|
+
Requires-Dist: defusedxml ==0.7.1 ; extra == 'rcd'
|
|
219
|
+
Requires-Dist: dictdiffer ==0.9.0 ; extra == 'rcd'
|
|
220
|
+
Requires-Dist: diskcache ==5.6.1 ; extra == 'rcd'
|
|
221
|
+
Requires-Dist: distlib ==0.3.6 ; extra == 'rcd'
|
|
222
|
+
Requires-Dist: distro ==1.8.0 ; extra == 'rcd'
|
|
223
|
+
Requires-Dist: dpath ==2.1.5 ; extra == 'rcd'
|
|
224
|
+
Requires-Dist: dulwich ==0.21.5 ; extra == 'rcd'
|
|
225
|
+
Requires-Dist: dvc ==2.57.3 ; extra == 'rcd'
|
|
226
|
+
Requires-Dist: dvc-data ==0.51.0 ; extra == 'rcd'
|
|
227
|
+
Requires-Dist: dvc-http ==2.30.2 ; extra == 'rcd'
|
|
228
|
+
Requires-Dist: dvc-objects ==0.22.0 ; extra == 'rcd'
|
|
229
|
+
Requires-Dist: dvc-render ==0.5.3 ; extra == 'rcd'
|
|
230
|
+
Requires-Dist: dvc-s3 ==2.22.0 ; extra == 'rcd'
|
|
231
|
+
Requires-Dist: dvc-studio-client ==0.9.2 ; extra == 'rcd'
|
|
232
|
+
Requires-Dist: dvc-task ==0.2.1 ; extra == 'rcd'
|
|
233
|
+
Requires-Dist: et-xmlfile ==1.1.0 ; extra == 'rcd'
|
|
234
|
+
Requires-Dist: exceptiongroup ==1.1.1 ; extra == 'rcd'
|
|
235
|
+
Requires-Dist: executing ==1.2.0 ; extra == 'rcd'
|
|
236
|
+
Requires-Dist: filelock ==3.12.0 ; extra == 'rcd'
|
|
237
|
+
Requires-Dist: flatten-dict ==0.4.2 ; extra == 'rcd'
|
|
238
|
+
Requires-Dist: flufl.lock ==7.1.1 ; extra == 'rcd'
|
|
239
|
+
Requires-Dist: fonttools ==4.39.4 ; extra == 'rcd'
|
|
240
|
+
Requires-Dist: frozenlist ==1.3.3 ; extra == 'rcd'
|
|
241
|
+
Requires-Dist: fsspec ==2023.5.0 ; extra == 'rcd'
|
|
242
|
+
Requires-Dist: funcy ==2.0 ; extra == 'rcd'
|
|
243
|
+
Requires-Dist: gitdb ==4.0.10 ; extra == 'rcd'
|
|
244
|
+
Requires-Dist: GitPython ==3.1.31 ; extra == 'rcd'
|
|
245
|
+
Requires-Dist: grandalf ==0.8 ; extra == 'rcd'
|
|
246
|
+
Requires-Dist: graphviz ==0.20.1 ; extra == 'rcd'
|
|
247
|
+
Requires-Dist: hydra-core ==1.3.2 ; extra == 'rcd'
|
|
248
|
+
Requires-Dist: identify ==2.5.24 ; extra == 'rcd'
|
|
249
|
+
Requires-Dist: idna ==3.4 ; extra == 'rcd'
|
|
250
|
+
Requires-Dist: igraph ==0.10.4 ; extra == 'rcd'
|
|
251
|
+
Requires-Dist: iniconfig ==2.0.0 ; extra == 'rcd'
|
|
252
|
+
Requires-Dist: ipykernel ==6.23.1 ; extra == 'rcd'
|
|
253
|
+
Requires-Dist: ipython ==8.13.2 ; extra == 'rcd'
|
|
254
|
+
Requires-Dist: iterative-telemetry ==0.0.8 ; extra == 'rcd'
|
|
255
|
+
Requires-Dist: jedi ==0.18.2 ; extra == 'rcd'
|
|
256
|
+
Requires-Dist: jmespath ==1.0.1 ; extra == 'rcd'
|
|
257
|
+
Requires-Dist: joblib ==1.2.0 ; extra == 'rcd'
|
|
258
|
+
Requires-Dist: jupyter-client ==8.2.0 ; extra == 'rcd'
|
|
259
|
+
Requires-Dist: jupyter-core ==5.3.0 ; extra == 'rcd'
|
|
260
|
+
Requires-Dist: kiwisolver ==1.4.4 ; extra == 'rcd'
|
|
261
|
+
Requires-Dist: kombu ==5.2.4 ; extra == 'rcd'
|
|
262
|
+
Requires-Dist: lazy-loader ==0.2 ; extra == 'rcd'
|
|
263
|
+
Requires-Dist: littleutils ==0.2.2 ; extra == 'rcd'
|
|
264
|
+
Requires-Dist: llvmlite ==0.39.1 ; extra == 'rcd'
|
|
265
|
+
Requires-Dist: markdown-it-py ==2.2.0 ; extra == 'rcd'
|
|
266
|
+
Requires-Dist: mdurl ==0.1.2 ; extra == 'rcd'
|
|
267
|
+
Requires-Dist: multidict ==6.0.4 ; extra == 'rcd'
|
|
268
|
+
Requires-Dist: nanotime ==0.5.2 ; extra == 'rcd'
|
|
269
|
+
Requires-Dist: nest-asyncio ==1.5.6 ; extra == 'rcd'
|
|
270
|
+
Requires-Dist: networkx ==2.5 ; extra == 'rcd'
|
|
271
|
+
Requires-Dist: nodeenv ==1.8.0 ; extra == 'rcd'
|
|
272
|
+
Requires-Dist: numba ==0.56.4 ; extra == 'rcd'
|
|
273
|
+
Requires-Dist: numpy ==1.23.5 ; extra == 'rcd'
|
|
274
|
+
Requires-Dist: omegaconf ==2.3.0 ; extra == 'rcd'
|
|
275
|
+
Requires-Dist: openpyxl ==3.1.2 ; extra == 'rcd'
|
|
276
|
+
Requires-Dist: orjson ==3.8.12 ; extra == 'rcd'
|
|
277
|
+
Requires-Dist: outdated ==0.2.2 ; extra == 'rcd'
|
|
278
|
+
Requires-Dist: packaging ==23.1 ; extra == 'rcd'
|
|
279
|
+
Requires-Dist: pandas ==2.0.1 ; extra == 'rcd'
|
|
280
|
+
Requires-Dist: pandas-flavor ==0.5.0 ; extra == 'rcd'
|
|
281
|
+
Requires-Dist: parso ==0.8.3 ; extra == 'rcd'
|
|
282
|
+
Requires-Dist: pathspec ==0.11.1 ; extra == 'rcd'
|
|
283
|
+
Requires-Dist: patsy ==0.5.3 ; extra == 'rcd'
|
|
284
|
+
Requires-Dist: pexpect ==4.8.0 ; extra == 'rcd'
|
|
285
|
+
Requires-Dist: pickleshare ==0.7.5 ; extra == 'rcd'
|
|
286
|
+
Requires-Dist: Pillow ==9.5.0 ; extra == 'rcd'
|
|
287
|
+
Requires-Dist: pingouin ==0.5.3 ; extra == 'rcd'
|
|
288
|
+
Requires-Dist: platformdirs ==3.5.1 ; extra == 'rcd'
|
|
289
|
+
Requires-Dist: pluggy ==1.0.0 ; extra == 'rcd'
|
|
290
|
+
Requires-Dist: pre-commit ==3.3.2 ; extra == 'rcd'
|
|
291
|
+
Requires-Dist: prompt-toolkit ==3.0.38 ; extra == 'rcd'
|
|
292
|
+
Requires-Dist: psutil ==5.9.5 ; extra == 'rcd'
|
|
293
|
+
Requires-Dist: ptyprocess ==0.7.0 ; extra == 'rcd'
|
|
294
|
+
Requires-Dist: pure-eval ==0.2.2 ; extra == 'rcd'
|
|
295
|
+
Requires-Dist: pyagrum ==1.8.0 ; extra == 'rcd'
|
|
296
|
+
Requires-Dist: pycparser ==2.21 ; extra == 'rcd'
|
|
297
|
+
Requires-Dist: pydot ==1.4.2 ; extra == 'rcd'
|
|
298
|
+
Requires-Dist: pydotplus ==2.0.2 ; extra == 'rcd'
|
|
299
|
+
Requires-Dist: pygit2 ==1.12.1 ; extra == 'rcd'
|
|
300
|
+
Requires-Dist: Pygments ==2.15.1 ; extra == 'rcd'
|
|
301
|
+
Requires-Dist: pygtrie ==2.5.0 ; extra == 'rcd'
|
|
302
|
+
Requires-Dist: pyparsing ==3.0.9 ; extra == 'rcd'
|
|
303
|
+
Requires-Dist: pytest ==7.3.1 ; extra == 'rcd'
|
|
304
|
+
Requires-Dist: python-dateutil ==2.8.2 ; extra == 'rcd'
|
|
305
|
+
Requires-Dist: python-igraph ==0.10.4 ; extra == 'rcd'
|
|
306
|
+
Requires-Dist: pytz ==2023.3 ; extra == 'rcd'
|
|
307
|
+
Requires-Dist: PyYAML ==6.0 ; extra == 'rcd'
|
|
308
|
+
Requires-Dist: pyzmq ==25.0.2 ; extra == 'rcd'
|
|
309
|
+
Requires-Dist: requests ==2.30.0 ; extra == 'rcd'
|
|
310
|
+
Requires-Dist: rich ==13.3.5 ; extra == 'rcd'
|
|
311
|
+
Requires-Dist: ruamel.yaml ==0.17.26 ; extra == 'rcd'
|
|
312
|
+
Requires-Dist: ruamel.yaml.clib ==0.2.7 ; extra == 'rcd'
|
|
313
|
+
Requires-Dist: s3fs ==2023.5.0 ; extra == 'rcd'
|
|
314
|
+
Requires-Dist: s3transfer ==0.6.1 ; extra == 'rcd'
|
|
315
|
+
Requires-Dist: scikit-learn ==1.2.2 ; extra == 'rcd'
|
|
316
|
+
Requires-Dist: scikit-network ==0.31.0 ; extra == 'rcd'
|
|
317
|
+
Requires-Dist: scipy ==1.10.1 ; extra == 'rcd'
|
|
318
|
+
Requires-Dist: scmrepo ==1.0.3 ; extra == 'rcd'
|
|
319
|
+
Requires-Dist: seaborn ==0.12.2 ; extra == 'rcd'
|
|
320
|
+
Requires-Dist: shortuuid ==1.0.11 ; extra == 'rcd'
|
|
321
|
+
Requires-Dist: shtab ==1.6.1 ; extra == 'rcd'
|
|
322
|
+
Requires-Dist: six ==1.16.0 ; extra == 'rcd'
|
|
323
|
+
Requires-Dist: smmap ==5.0.0 ; extra == 'rcd'
|
|
324
|
+
Requires-Dist: sqltrie ==0.3.1 ; extra == 'rcd'
|
|
325
|
+
Requires-Dist: stack-data ==0.6.2 ; extra == 'rcd'
|
|
326
|
+
Requires-Dist: statsmodels ==0.14.0 ; extra == 'rcd'
|
|
327
|
+
Requires-Dist: tabulate ==0.9.0 ; extra == 'rcd'
|
|
328
|
+
Requires-Dist: texttable ==1.6.7 ; extra == 'rcd'
|
|
329
|
+
Requires-Dist: threadpoolctl ==3.1.0 ; extra == 'rcd'
|
|
330
|
+
Requires-Dist: tigramite ==4.2.2.1 ; extra == 'rcd'
|
|
331
|
+
Requires-Dist: tinycss2 ==1.2.1 ; extra == 'rcd'
|
|
332
|
+
Requires-Dist: tk ==0.1.0 ; extra == 'rcd'
|
|
333
|
+
Requires-Dist: tomli ==2.0.1 ; extra == 'rcd'
|
|
334
|
+
Requires-Dist: tomlkit ==0.11.8 ; extra == 'rcd'
|
|
335
|
+
Requires-Dist: torch ==1.12.1 ; extra == 'rcd'
|
|
336
|
+
Requires-Dist: tornado ==6.3.2 ; extra == 'rcd'
|
|
337
|
+
Requires-Dist: tqdm ==4.65.0 ; extra == 'rcd'
|
|
338
|
+
Requires-Dist: traitlets ==5.9.0 ; extra == 'rcd'
|
|
339
|
+
Requires-Dist: typing-extensions ==4.5.0 ; extra == 'rcd'
|
|
340
|
+
Requires-Dist: tzdata ==2023.3 ; extra == 'rcd'
|
|
341
|
+
Requires-Dist: urllib3 ==1.26.15 ; extra == 'rcd'
|
|
342
|
+
Requires-Dist: vine ==5.0.0 ; extra == 'rcd'
|
|
343
|
+
Requires-Dist: virtualenv ==20.23.0 ; extra == 'rcd'
|
|
344
|
+
Requires-Dist: voluptuous ==0.13.1 ; extra == 'rcd'
|
|
345
|
+
Requires-Dist: wcwidth ==0.2.6 ; extra == 'rcd'
|
|
346
|
+
Requires-Dist: webencodings ==0.5.1 ; extra == 'rcd'
|
|
347
|
+
Requires-Dist: wrapt ==1.15.0 ; extra == 'rcd'
|
|
348
|
+
Requires-Dist: xarray ==2023.5.0 ; extra == 'rcd'
|
|
349
|
+
Requires-Dist: yarl ==1.9.2 ; extra == 'rcd'
|
|
350
|
+
Requires-Dist: zc.lockfile ==3.0.post1 ; extra == 'rcd'
|
|
351
|
+
|
|
352
|
+
# 🕵️ Root Cause Analysis for Microservices based on Causal Inference: How Far Are We?
|
|
353
|
+
|
|
354
|
+
[](https://github.com/phamquiluan/RCAEval/actions/workflows/build-and-test.yml)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
## Download Experimental Data \& Supplementary Material
|
|
358
|
+
|
|
359
|
+
You can download our supplementary material and all the data we used for this research from this [Google Drive](https://drive.google.com/drive/folders/1BG2P1ETEyKW62dU0I1ZpE64Ng9fy5_ju?usp=sharing).
|
|
360
|
+
|
|
361
|
+
## Installation
|
|
362
|
+
|
|
363
|
+
We maintain 3 environments for different methods that could be installed easily as follows.
|
|
364
|
+
|
|
365
|
+
### OS & Hardware requirements
|
|
366
|
+
- Ubuntu 22.04
|
|
367
|
+
- 8 CPU, 16GB RAM, 30GB free disk.
|
|
368
|
+
|
|
369
|
+
### Pre-installation
|
|
370
|
+
|
|
371
|
+
Open your terminal and run commands
|
|
372
|
+
```bash
|
|
373
|
+
sudo apt update -y
|
|
374
|
+
sudo apt install -y build-essential \
|
|
375
|
+
libxml2 libxml2-dev zlib1g-dev \
|
|
376
|
+
python3-tk graphviz
|
|
377
|
+
|
|
378
|
+
sudo add-apt-repository ppa:deadsnakes/ppa
|
|
379
|
+
sudo apt update -y
|
|
380
|
+
sudo apt-get install -y python3.8 python3.8-dev python3.8-venv
|
|
381
|
+
sudo apt-get install -y python3.10 python3.10-dev python3.10-venv
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Install the Dev environment
|
|
385
|
+
By installing this environment, you can run the following:
|
|
386
|
+
- PC-based, FCI-based, LiNGAM-based, GES-based
|
|
387
|
+
- CausalRCA
|
|
388
|
+
- CIRCA, Nsigma, Dummy
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
python3.10 -m venv env-dev
|
|
392
|
+
. env-dev/bin/activate
|
|
393
|
+
pip install pip==20.0.2
|
|
394
|
+
pip install -e .[dev]
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
### Install the RCD environment
|
|
399
|
+
By installing this environment, you can run the RCD algorithm
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
python3.8 -m venv env-rcd
|
|
403
|
+
. env-rcd/bin/activate
|
|
404
|
+
pip install pip==20.0.2
|
|
405
|
+
pip install -e .[rcd]
|
|
406
|
+
bash script/link.sh
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### Install the fGES environment
|
|
410
|
+
By installing this environment, you can run the fGES-based algorithm
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
python3.8 -m venv env-fges
|
|
414
|
+
. env-fges/bin/activate
|
|
415
|
+
|
|
416
|
+
pip install pip==20.0.2
|
|
417
|
+
pip install -e .[rcd]
|
|
418
|
+
|
|
419
|
+
cd LIB
|
|
420
|
+
pip install -e .
|
|
421
|
+
cd ..
|
|
422
|
+
|
|
423
|
+
# it MUST be performed in this order
|
|
424
|
+
sudo apt-get install -y gcc graphviz libgraphviz-dev pkg-config
|
|
425
|
+
pip install dill pygobnilp
|
|
426
|
+
pip install -U numba
|
|
427
|
+
pip install category_encoders sortedcontainers fcit
|
|
428
|
+
pip install pgmpy
|
|
429
|
+
pip install feature_engine
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
## Reproducibility
|
|
433
|
+
|
|
434
|
+
### Reproduce RQ1 - Causal Discovery Performance
|
|
435
|
+
|
|
436
|
+
To reproduce the causal discovery performance, as presented in Table 3. You can download the corresponding dataset and extracted to folder `./data`. Then, you can run the file `graph_eval.py` to obtain the results for one iteration. For example:
|
|
437
|
+
|
|
438
|
+
As presented in Table 3, PC achieves F1, F1-S, and SHD of 0.49, 0.65, and 16 on the CIRCA 10 dataset. To reproduce this results as presented in the Table 3. You can run the following commands:
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
python graph_eval.py -i data/syn_circa/10 -m pc -w 5
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
The expected output should be exactly as presented in the paper (it takes around 1 minute to run the code)
|
|
445
|
+
|
|
446
|
+
```
|
|
447
|
+
F1: 0.49
|
|
448
|
+
F1-S: 0.65
|
|
449
|
+
SHD: 16
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
We can replace the method `pc` and dataset `syn_circa/10` to replicate corresponding results.
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
### Reproduce RQ2 - Root Cause Analysis Performance
|
|
457
|
+
|
|
458
|
+
To reproduce the root cause analysis performance, as presented in Table 5. You can download the corresponding dataset and extracted to folder `./data`. Then, you can run the file `eval.py` to reproduce the results. For example:
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
As presented in Table 5, NSigma [ $t_\Delta = 0$ ] achieves Avg@5 of 0.94, 1, 0.9, 0.98, and 0.67 for CPU, MEM, DISK, DELAY, and LOSS fault types on the Online Boutique dataset. To reproduce the RCA performance of NSigma [ $t_\Delta = 0$ ] as presented in the Table 5. You can run the following commands:
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
python eval.py -i data/online-boutique -o output-tmp -m nsigma --iter-num 10 -w 10 --length 10
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
<details>
|
|
468
|
+
<summary>Expected output after running the above code (it takes around 1 minute)</summary>
|
|
469
|
+
|
|
470
|
+
<br />
|
|
471
|
+
|
|
472
|
+
The results are exactly as presented in the paper (Table 5).
|
|
473
|
+
```
|
|
474
|
+
Evaluation results
|
|
475
|
+
s_cpu: 0.94
|
|
476
|
+
s_mem: 1.0
|
|
477
|
+
s_disk: 0.9
|
|
478
|
+
s_delay: 0.98
|
|
479
|
+
s_loss: 0.67
|
|
480
|
+
```
|
|
481
|
+
</details>
|
|
482
|
+
|
|
483
|
+
As presented in Table 5, NSigma [ $t_\Delta = 60$ ] achieves Avg@5 of 0.16, 0.24, 0.43, 0.55, and 0.38 for CPU, MEM, DISK, DELAY, and LOSS fault types on the Online Boutique dataset. To reproduce the RCA performance of NSigma [ $t_\Delta = 60$ ] as presented in the Table 5. You can run the following commands:
|
|
484
|
+
|
|
485
|
+
```bash
|
|
486
|
+
python eval.py -i data/online-boutique -o output-tmp -m nsigma --iter-num 10 -w 10 --length 10 --ad-delay 60
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
<details>
|
|
490
|
+
<summary>Expected output after running the above code (it takes around 1 minute)</summary>
|
|
491
|
+
|
|
492
|
+
<br />
|
|
493
|
+
|
|
494
|
+
The results are exactly as presented in the paper (Table 5).
|
|
495
|
+
```
|
|
496
|
+
Evaluation results
|
|
497
|
+
s_cpu: 0.16
|
|
498
|
+
s_mem: 0.24
|
|
499
|
+
s_disk: 0.43
|
|
500
|
+
s_delay: 0.55
|
|
501
|
+
s_loss: 0.38
|
|
502
|
+
```
|
|
503
|
+
</details>
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
We can replace the method `nsigma` by `baro`, `pc_pagerank`, `fci_pagerank`, `rcd`, `e_diagnosis`, etc. to replicate corresponding results.
|
|
507
|
+
|
|
508
|
+
### Reproduce RQ3 - Efficiency
|
|
509
|
+
|
|
510
|
+
The efficiency is captured in our evaluation script and saved in the corresponding output directory.
|
|
511
|
+
|
|
512
|
+
### Reproduce RQ4 - Data lengths
|
|
513
|
+
|
|
514
|
+
Our RQ4 relies on the scripts of RQ1 and RQ2, which we presented above.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
RCAEval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
RCAEval-0.0.4.dist-info/METADATA,sha256=CfOl4yjW9CnPoXYTlTP4m-Cg4hlrSdJwldp0m6N2e2c,22256
|
|
3
|
+
RCAEval-0.0.4.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
4
|
+
RCAEval-0.0.4.dist-info/top_level.txt,sha256=8_qmaB_I9e5_E4L2D1hVRXoGLl1SDcKdVd5dAFCdXeY,8
|
|
5
|
+
RCAEval-0.0.4.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
RCAEval
|