PyKnow: Expert Systems for Python
Clone or download


PyKnow: Expert Systems for Python Documentation Status

PyKnow is a Python library for building expert systems strongly inspired by CLIPS.

from random import choice
from pyknow import *

class Light(Fact):
    """Info about the traffic light."""

class RobotCrossStreet(KnowledgeEngine):
    def green_light(self):

    def red_light(self):
        print("Don't walk")

    @Rule(AS.light << Light(color=L('yellow') | L('blinking-yellow')))
    def cautious(self, light):
        print("Be cautious because light is", light["color"])
>>> engine = RobotCrossStreet()
>>> engine.reset()
>>> engine.declare(Light(color=choice(['green', 'yellow', 'blinking-yellow', 'red'])))
Be cautious because light is blinking-yellow

You can find some more examples on GitHub.