Привязки Python CFFI для интегрированной производственной системы на языке C CLIPS 6.41.
Источник: | https://github.com/noxdafox/clipspy |
---|---|
Документация: | https://clipspy.readthedocs.io |
Скачать: | https://pypi.python.org/pypi/clipspy |
Первоначально разработанный в Космическом центре имени Джонсона НАСА, CLIPS представляет собой основанный на правилах язык программирования, полезный для создания экспертных и производственных систем, в которых эвристическое решение легче реализовать и поддерживать, чем императивное. CLIPS предназначен для облегчения разработки программного обеспечения для моделирования человеческих знаний и опыта.
CLIPSPy привносит возможности CLIPS в экосистему Python.
В Linux CLIPSPy упаковывается для архитектуры x86_64 в виде колеса в соответствии с рекомендациями PEP-513. Большинство дистрибутивов должно поддерживаться.
$ pip установить clipspy
Apple Silicon поддерживается для версий Python выше 3.11.
$ pip установить clipspy
CLIPSPy представляет собой колесо для большинства версий и архитектур Python.
> пип установить клипспий
Предоставленные файлы Makefile обеспечивают получение исходного кода CLIPS и компиляцию привязок Python вместе с ним.
$ make# сделать установку
Пожалуйста, проверьте документацию для получения дополнительной информации о сборке CLIPSPy из исходных кодов.
import clipsDEFTEMPLATE_STRING = """(deftemplate person (имя слота (тип STRING)) (фамилия слота (тип STRING)) (дата рождения слота (тип SYMBOL)))"""DEFRULE_STRING = """(defrule hello-world "Приветствуем новый человек." (person (имя ?имя) (фамилия ?фамилия)) => (println "Привет " ?имя " " ??? = template.assert_fact(name='John',surname='Doe',birthdate=clips.Symbol('01/01/1970'))# слоты фактов доступны как элементы словаряassert fact['name'] == 'Джон '# выполнить активацию в повестке дняenvironment.run()