{"id":15818577,"url":"https://github.com/avanov/pyke","last_synced_at":"2025-05-08T01:23:57.425Z","repository":{"id":146882146,"uuid":"134276246","full_name":"avanov/pyke","owner":"avanov","description":"Python Knowledge Engine (PyKE)","archived":false,"fork":false,"pushed_at":"2014-03-05T18:29:50.000Z","size":7304,"stargazers_count":2,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2024-10-06T06:02:58.911Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://pyke.sourceforge.net/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avanov.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-21T13:54:36.000Z","updated_at":"2023-05-12T23:50:23.000Z","dependencies_parsed_at":"2023-03-25T00:47:25.594Z","dependency_job_id":null,"html_url":"https://github.com/avanov/pyke","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avanov%2Fpyke","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avanov%2Fpyke/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avanov%2Fpyke/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avanov%2Fpyke/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avanov","download_url":"https://codeload.github.com/avanov/pyke/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252979703,"owners_count":21835106,"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":[],"created_at":"2024-10-05T06:03:17.467Z","updated_at":"2025-05-08T01:23:57.394Z","avatar_url":"https://github.com/avanov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pyke: Python Knowledge Engine\n\nVersion: 1.1.1\n\nBoth forward-chaining and backward-chaining rules (which may include python\ncode) are compiled into python. Can also automatically assemble python\nprograms out of python functions which are attached to backward-chaining\nrules.\n\nCOPYRIGHT AND LICENSE:\n\nThis is published under the MIT License.  The copyright and license are in\nthe file \"LICENSE\" in the source directory.\n\nDOCUMENTATION:\n\nThe complete documentation is at:\n\n    http://pyke.sourceforge.net\n\nA copy of the html documentation is also included in the \"doc/html\" directory\nwithin the source distribution.\n\n\nREQUIREMENTS:\n\nPyke requires python 2.5 or later.  Check with:\n\n    $ python --version\n\nYou can download python at:\n\n    http://www.python.org\n\n\nTO INSTALL:\n\n    1. Download and unzip the source distribution for the version of Python\n       that you want to use.\n\n       If you want to use Python 2.5 or 2.6, you need to use the pyke-1.1.1.zip\n       sources.\n\n       If you want to use Python 3.x, you need to use the pyke3-1.1.1.zip\n       sources.\n\n    2. Open a command line window in the directory above.\n    3. Run \"python setup.py build\"\n    4. As administrator, run: \"python setup.py install\"\n\nSee http://pyke.sourceforge.net/about_pyke/installing_pyke.html for more\ninformation.\n\nSOURCE DISTRIBUTION:\n\nThe source distribution contains the pyke source code, documentation (both\nsource and html), unit tests, and examples.\n\nEXAMPLES:\n\nEach example is in a separate subdirectory under the \"examples\" directory.\nEach example has a README.txt file that explains how to run it.\n\nThe family_relations example is a good place to start.  It shows several\nsolutions to the same problem.  It also has an example of a few rule\noptimizations that result in a 100 times performance improvement on this\nproblem.\n\nThe sqlgen example uses Sqlite3 (or MySQL) and the python sqlite3 (or MySQLdb)\nmodules.  It has a function that reads the schema information into pyke facts.\nThen the rules in database.krb automatically figure out how to join tables\ntogether to retrieve a list of column names, generate the SQL select\nstatements and return a plan to execute this SQL statement and return the\nresults as a dictionary.\n\nThe web_framework example uses the sqlgen example.  This demonstrates the use\nof multiple rule bases.  The web_framework is a WSGI application that uses the\nHTMLTemplate package (install this as administrator with \"pip install\nHTMLTemplate\" or \"easy_install HTMLTemplate\" -- be sure to get version 1.5 or\nlater).  It gets the column names from the HTMLTemplate and feeds those to the\nsqlgen example to generate a plan to retrieve the data.  It then builds a plan\nto populate the template and return the finished HTML document.  It also\ncaches the plans so that they don't have to be re-generated for each request.\nThis makes it run a full 10 times faster than the same example done in\nTurboGears 2!  The example includes a wsgiref simple_server setup to run it\nas an http server so that you can access it through your browser.\n\nThe learn_pyke example is an incomplete attempt at a computer based training\nprogram.  It only deals with the topic of pattern matching.  It is left here\nas an example of using question bases.\n\nThe findall, forall, knapsack, notany and towers_of_hanoi examples are each\nvery small.\n\nSee http://pyke.sourceforge.net/examples.html for more information.\n\n\nRUNNING DOCTESTS:\n\nPyke uses the doctest-tools package to run its doctests.  You can run the\n\"testall.py\" program from doctest-tools in any subdirectory, or in the\ntop-level directory.  You can install doctest-tools as administrator with:\n\n    # pip install doctest-tools\n\nThe top-level directory also has it's own \"testpyke\" script that removes all\ncompiled_krb directories, then runs the testall.py script (from doctest-tools)\ntwice.  The first time forces pyke to recompile everything, and the second\ntime runs the same tests again having pyke re-use the compiled results from\nthe previous run.  If the \"testpyke\" program is not on your path, run it as:\n\n    $ ./testpyke\n\n\nWORKING ON PYKE:\n\nSee http://pyke.sourceforge.net/about_pyke/modifying_pyke.html for information\nabout doing development work on Pyke.  Contributions of any kind are welcome!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favanov%2Fpyke","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favanov%2Fpyke","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favanov%2Fpyke/lists"}