Skip to main content

Expert Systems for Python

Project description

pypi version tests Documentation Status codecov.io

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

from random import choice
from experta import *


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


class RobotCrossStreet(KnowledgeEngine):
    @Rule(Light(color='green'))
    def green_light(self):
        print("Walk")

    @Rule(Light(color='red'))
    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'])))
>>> engine.run()
Be cautious because light is blinking-yellow

Migrating from Pyknow

Experta is a Pyknow fork. Just replace any pyknow references in your code/examples to experta and everything should work the same.

Examples

You can find some more examples on GitHub.

TODO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

experta-1.8.0.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

experta-1.8.0-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file experta-1.8.0.tar.gz.

File metadata

  • Download URL: experta-1.8.0.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.8

File hashes

Hashes for experta-1.8.0.tar.gz
Algorithm Hash digest
SHA256 a87356aef0f86f16c29a76e9ebaca7817b3e682430e31e30d29b4284d267fb0f
MD5 ebab1fcf03d488c93624ff627b16ebec
BLAKE2b-256 4ab005e6ee67002172c0bd489a6aa7b264406caefb64abbad0dce9a10da5e890

See more details on using hashes here.

File details

Details for the file experta-1.8.0-py3-none-any.whl.

File metadata

  • Download URL: experta-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 34.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.8

File hashes

Hashes for experta-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec8d25410cac53ad41e380f46213a1dcc51f95a40831ed558d6184ac6df0308b
MD5 147ff951e9bf1691b16fb2be81045df0
BLAKE2b-256 81c980e1f2084e2931f024093f288458a8e26fe1fc304ca4b3698e3050c95918

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page