{"id":17972414,"url":"https://github.com/keiffster/program-y","last_synced_at":"2025-05-16T09:06:12.324Z","repository":{"id":45439755,"uuid":"74462571","full_name":"keiffster/program-y","owner":"keiffster","description":"Python 3.x based AIML 2.0 Chatbot interpreter, framework, related programs and knowledge files","archived":false,"fork":false,"pushed_at":"2024-05-21T19:31:09.000Z","size":37770,"stargazers_count":347,"open_issues_count":25,"forks_count":135,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-27T09:04:34.052Z","etag":null,"topics":["ai","aiml","aiml2","api","chatbot","framework","nlp","nlp-parsing","python","python3","tutorial","virtual","virtualassistant"],"latest_commit_sha":null,"homepage":"https://keiffster.github.io/program-y/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keiffster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-22T10:43:41.000Z","updated_at":"2025-04-24T06:53:57.000Z","dependencies_parsed_at":"2023-01-28T10:45:42.359Z","dependency_job_id":"369afa41-6f80-4636-9d48-8a5448a7a0cd","html_url":"https://github.com/keiffster/program-y","commit_stats":{"total_commits":716,"total_committers":22,"mean_commits":32.54545454545455,"dds":0.1955307262569832,"last_synced_commit":"fc7b0a3afa4fa6ed683e0c817a9aa89f9543bb20"},"previous_names":[],"tags_count":116,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiffster%2Fprogram-y","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiffster%2Fprogram-y/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiffster%2Fprogram-y/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiffster%2Fprogram-y/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keiffster","download_url":"https://codeload.github.com/keiffster/program-y/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501558,"owners_count":22081528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","aiml","aiml2","api","chatbot","framework","nlp","nlp-parsing","python","python3","tutorial","virtual","virtualassistant"],"created_at":"2024-10-29T16:14:56.064Z","updated_at":"2025-05-16T09:06:07.316Z","avatar_url":"https://github.com/keiffster.png","language":"Python","readme":"# Program-Y\n\nProgram Y is a fully compliant AIML 2.1 chatbot framework written in Python 3. It includes an entire platform for \nbuilding your own chat bots using Artificial Intelligence Markup Language, or AIML for short. \nFor more information about Program-y, its features and its history then check out the Background page.\n\n## New in 4.1\nv4.1 sees an incremental release which moves the OOB and Trigger configuration into the storage engine. This is designed\nto reduce the size of config files. For more information on how to configure OOB and Trigger configuration see either\nthe wiki documentation for each or the examples in Y-Bot\n\n## New in 4.0\n### Baseline Release\nVersion 4.0 is a baseline release to prepare the ground work for a number of major changes in 2020. \nIt includes the addition of over 2000 unit tests which brings coverage up to 99% of the core system and 96% overall\nAlong with the unit tests, we have refactored major parts of the code base for ease of use, performance and long term\nsustainability. A number of defects have also been corrected due to the addition of the unit tests\n\n### Configuration Changes\nThe major change is in the configuration file struture. This has been refactored and while a breaking change, its \nstructural, rather than content and aligns the configuration files with the internal structure of the bot architecture. \nThe main change is the inclusion of brains and bots contains, so a configuration file now looks like\n```yaml\nconsole:\n    bots:\n      bot1:\n        brains:\n          brain1:\n          brain2:\n      bot2:\n        brains:\n        brain3\n```\nFixing config files should be as simple as introducing the bots and brains elements and shifting bot and brain elements \na couple of tabs right\n\n### Embeddable Clients\nThe third major feature is a complete refresh of the embeddable client, which now provides 3 simple ways to add a bot\nto you Python app in as little as 2 lines of code\n```python\nfrom programy.clients.embed.basic import EmbeddedBasicBot\n\nmy_bot = EmbeddedBasicBot()\n\nprint(\"Response = %s\" % my_bot.ask_question(\"Hello\"))\n```\nFor more information on this feature, see [Embedded Bots](https://github.com/keiffster/program-y/wiki/Tutorial-Embedded-Bots)\n\n### Unified Naming\nA number of configuration items have had their names changed so that all variables use underscore '_' as a \nspace seperator rather than a mix of underscore and dash '-'. The list of changes re\n\n* default_userid\n* default_get\n* default_property\n* default_map\n* default_response\n* default_response_srai\n\nThe convention going forward is that all variables will use underscore '_' as a space seperator\n\n## Contact\nThere are a number of ways you can get help\n\n* [Github](https://github.com/keiffster/program-y/issues) Raise an issue directly\n* [Slack](https://program-y.slack.com) Talk live with the Dev Team\n* [Gitter](https://gitter.im/Program-y) Talk with the Dev Team\n* Email (See below) although I don't check it every day\n* Twitter, but more of an announcement channel\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeiffster%2Fprogram-y","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeiffster%2Fprogram-y","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeiffster%2Fprogram-y/lists"}