Python-based implementation of tuProlog -- the open ecosystem for symbolic AI --, based on 2P-Kt
Project description
2PPy (tuProlog in Python)
Experimental porting of 2P-Kt on Python, via JPype.
This is a work in progress. 2PPy is not ready for general availability, yet.
Introduction
Object-oriented and modular ecosystem for symbolic AI and logic programming, currently featuring:
-
a module for logic terms and clauses representation, namely
tuprolog.core
, -
a module for logic unification, namely
tuprolog.unify
, -
a module for in-memory indexing and storing logic theories, as well as other sorts of collections of logic clauses, namely
tuprolog.theory
, -
a module providing generic API for resolution of logic queries, namely
tuprolog.solve
, currently implementing a Prolog solver -
two parsing modules: one aimed at parsing terms, namely
tuprolog.core.parsing
, and the other aimed at parsing theories, namelytuprolog.theory.parsing
, -
two serialisation-related modules: one aimed at (de)serialising terms and clauses, namely
tuprolog.core.serialize
, and the other aimed at (de)serialising terms theories, namelytuprolog.theory.serialize
, -
a module for using Prolog via a command-line interface, namely
tuprolog.repl
.
How to do stuff
Prerequisites
-
Install Python 3 (look into the
.python-version
to know the exact version)- I suggest using Pyenv to easily handle multiple Python versions on the same machine
- Ensure PIP works fine
-
Install Java (JDK preferred), and ensure the
JAVA_HOME
variable is correctly set -
Ensure Java and Python are both either 64bit or 32bit
How to develop 2PPy
-
Restore Python dependencies via PIP, by running:
pip install -r requirements.txt
On Mac OS this may not work as expected. Consider running the following command instead:
python3 -m pip -r requirements.txt
-
Restore JVM dependencies via
download-jars.sh
, by running:./download-jars.sh
Notice that this command requires
curl
andwget
to be installed on your system (wget
may be lacking on Mac OS and Windows)
How to use 2PPy as a library
-
Install 2PPy from Pypi by running:
pip install 2ppy
On Mac OS this may not work as expected. Consider running the following command instead:
python3 -m pip install 2ppy
-
Import
tuprolog.*
modules in your Python scripts -
Profit
How to use 2PPy as an executable
-
Install 2PPy from Pypi by running:
pip install 2ppy
On Mac OS this may not work as expected. Consider running the following command instead:
python3 -m pip install 2ppy
-
Run
tuprolog
module viapython -m tuprolog
For the moment, running 2PPy means starting an interactive Python shell with pre-loaded tuprolog.*
modules.
Eventually python -m tuprolog
will launch a command-line logic solver.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.