This project provides QBAF-Py, a library for drawing inferences from Quantitative Bipolar Argumentation Frameworks (QBAFs) and explaining them. The library core is written in CPython (C with a Python API) to facilitate speed and efficiency.
Installing QBAF-Py requires pip.
To install QBAF-Py, run in the project's root directory:
pip install .
Note: To install on Windows, Microsoft Visual C++ 14.0 or greater might be required.
QBAF-Py features an optional basic visualization module for QBAFs and some explanation types.
Install it with pip install -e .[Visualizer]
and note that it is required for running the examples provided in the Jupyter notebook.
QBAF-Py does not have any dependencies! Only if you want to work on the QBAF-Py code base, you should install some dev dependencies for testing.
To illustrate how QBAF-Py works, the notebook examples.ipynb has several examples available. The notebook is also available on Google Colab.
Generated documentation in html can be found here.
You can also generate documentation in other formats making use of sphinx (you need to have sphinx installed).
The documentation is genereted from your installed libraries, so you need to install QBAF-Py first.
To generate the documentation, run in the doc directory:
make
You will be able to see all the formats for the documentation. For example, if you want html documentation run:
make html
To test the package locally, first install the test requirements (pip install -e .[dev]
) and then run pytest
in the project's root directory.
Authors: José Ruiz Alarcón - @Ruiz968, Timotheus Kampik - @TimKam
This project is mainly based on the paper Change in quantitative bipolar argumentation: Sufficient, necessary, and counterfactual explanations (Kampik, Čyras & Ruiz Alarcón, 2024).