A Python3 to IDP API
pip install pyidp3==0.0.9
This project is a Python3 port Joost Vennekens' pyidp.
The Pyidp3 module is an API between Python3 and the IDP system. In short, IDP is a Knowledge Base System (KBS) using the FO(.) language. FO(.) is standard First-Order logic, but expanded. See the IDP website for more. A KBS is a system that stores all it's knowledge in a knowledge base, and then supports different inference method s to apply on the knowledge. It's programmed in a declarative manner. More on programming the IDP system and FO(.) can be found here.
Pyidp3 will try to bridge the gap between IDP (which is programmed declaratively) and Python (which is programme d imperatively). It works in both directions: the user can supply data in Pythonic form to Pyidp3, which will then be converted to IDP form and given to the IDP system. When the IDP system is done infering, Pyidp3 will process it's output and translate this back into Pythonic form.
The documentation of this project can be found at the readthedocs
Pyidp3 is in the PyPi repository. As such, simply using Pip to install will work.
For Arch-Linux:
pip install pyidp3
For most other Linux distributions:
python3 pip install pyidp3
Because Pyidp3 is a port of Pyidp, not all features were added by me.
Here is the list of features that were already in Joost Vennekens' Pyidp (and were merely ported by me):
Here is the list of features I added myself: