No description
Find a file
2024-01-07 08:12:33 +00:00
docs Update all shell scritps and cmd files, plus major refactor of webchat client 2018-03-22 12:51:34 +00:00
src Merge pull request #316 from keiffster/dependabot/pip/src/flask-2.3.2 2024-01-03 15:53:13 +00:00
test Use join() 2022-06-30 01:30:31 -07:00
.gitignore New services framework, first commit 2020-04-06 15:33:33 +01:00
CODE_OF_CONDUCT.md Updated embedded client and pypi scripts to support pypi testing before go live 2020-01-10 07:55:25 +00:00
CONTRIBUTING.md Create CONTRIBUTING.md 2017-06-27 13:51:40 +01:00
copy_services.sh New services framework, first commit 2020-04-06 15:33:33 +01:00
COPYRIGHT.txt Last minute minor changes ahead of 4.0 release 2020-01-09 17:31:41 +00:00
coverage.cfg Updated to 90% unit test coverage 2019-11-12 20:27:33 +00:00
coverage.cmd Updated to 90% unit test coverage 2019-11-12 20:27:33 +00:00
coverage.sh Updated to 90% unit test coverage 2019-11-12 20:27:33 +00:00
ISSUE_TEMPLATE.md Updated embedded client and pypi scripts to support pypi testing before go live 2020-01-10 07:55:25 +00:00
master_checkin.sh Updates to windows installation files 2019-02-13 20:40:37 +00:00
nose.cfg Updated to 90% unit test coverage 2019-11-12 20:27:33 +00:00
pylint.cfg Updated pylint to create 10.0 coverage 2019-09-27 11:56:52 +01:00
pylint.sh Updated pylint to create 10.0 coverage 2019-09-27 11:56:52 +01:00
pytype.cfg Updated pylint to create 10.0 coverage 2019-09-27 11:56:52 +01:00
pytype.sh 0 pylint failures, 0 pytype failures, baseline 2019-09-30 20:13:15 +01:00
README.md Updated readme for pypi 2020-01-17 10:15:53 +00:00
requirements-dev.txt Bump flask from 1.1.2 to 2.2.5 2024-01-03 15:54:00 +00:00
requirements.txt Bump flask from 1.1.2 to 2.2.5 2024-01-03 15:54:00 +00:00

Program-Y

Program Y is a fully compliant AIML 2.1 chatbot framework written in Python 3. It includes an entire platform for building your own chat bots using Artificial Intelligence Markup Language, or AIML for short. For more information about Program-y, its features and its history then check out the Background page.

New in 4.1

v4.1 sees an incremental release which moves the OOB and Trigger configuration into the storage engine. This is designed to reduce the size of config files. For more information on how to configure OOB and Trigger configuration see either the wiki documentation for each or the examples in Y-Bot

New in 4.0

Baseline Release

Version 4.0 is a baseline release to prepare the ground work for a number of major changes in 2020. It includes the addition of over 2000 unit tests which brings coverage up to 99% of the core system and 96% overall Along with the unit tests, we have refactored major parts of the code base for ease of use, performance and long term sustainability. A number of defects have also been corrected due to the addition of the unit tests

Configuration Changes

The major change is in the configuration file struture. This has been refactored and while a breaking change, its structural, rather than content and aligns the configuration files with the internal structure of the bot architecture. The main change is the inclusion of brains and bots contains, so a configuration file now looks like

console:
    bots:
      bot1:
        brains:
          brain1:
          brain2:
      bot2:
        brains:
        brain3

Fixing config files should be as simple as introducing the bots and brains elements and shifting bot and brain elements a couple of tabs right

Embeddable Clients

The third major feature is a complete refresh of the embeddable client, which now provides 3 simple ways to add a bot to you Python app in as little as 2 lines of code

from programy.clients.embed.basic import EmbeddedBasicBot

my_bot = EmbeddedBasicBot()

print("Response = %s" % my_bot.ask_question("Hello"))

For more information on this feature, see Embedded Bots

Unified Naming

A number of configuration items have had their names changed so that all variables use underscore '_' as a space seperator rather than a mix of underscore and dash '-'. The list of changes re

  • default_userid
  • default_get
  • default_property
  • default_map
  • default_response
  • default_response_srai

The convention going forward is that all variables will use underscore '_' as a space seperator

Contact

There are a number of ways you can get help

  • Github Raise an issue directly
  • Slack Talk live with the Dev Team
  • Gitter Talk with the Dev Team
  • Email (See below) although I don't check it every day
  • Twitter, but more of an announcement channel