PyNeuraLogic is a framework built on top of NeuraLogic which combines relational and deep learning.

PyNeuraLogic allows users to encode machine learning problems via parameterized, rule-based constructs.

Said constructs are based on a custom declarative language that follows a logic programming paradigm.

Supported backends

PyNeuraLogic currently supports following backends (to some extent), which have to be installed separately:


To use PyNeuraLogic, you need to install the following prerequisites:
Python >= 3.7
Java 1.8


To install PyNeuraLogic’s latest release from the PyPI repository, use the following command:
pip install neuralogic