We aim to implement a Python alternative to CLIPS, as compatible as possible. With the goal of making it easy for the CLIPS programmer to transfer all of his/her knowledge to this platform.


  • Python 3 compatible.
  • Pure Python implementation.
  • Matcher based on the RETE algorithm.

Difference between CLIPS and Experta

  1. CLIPS is a programming language, Experta is a Python library. This imposes some limitations on the constructions we can do (specially on the LHS of a rule).
  2. CLIPS is written in C, Experta in Python. A noticeable impact in performance is to be expected.
  3. In CLIPS you add facts using assert, in Python assert is a keyword, so we use declare instead.