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
+ [![Build and test](https://github.com/phamquiluan/RCAEval/actions/workflows/build-and-test.yml/badge.svg)](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,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (72.1.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ RCAEval