[5a44bd]: README Maximize Restore History

Download this file

README    162 lines (96 with data), 4.2 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Pyke: Python Knowledge Engine

Version: 0.2

Both forward-chaining and backward-chaining rules (which may include python
code) are compiled into python. Can also automatically assemble python
programs out of python functions which are attached to backward-chaining
rules.

COPYRIGHT AND LICENSE:

This is published under the MIT License.  The copyright and license are in
the file "copyright_license".

DOCUMENTATION:

The documentation is at:

    http://pyke.sourceforge.net

You can download a copy of this documentation to your hard drive:

    pyke_doc_html-0.2.tar.gz

See the end of this file for how to regenerate the html files.


INSTALLATION:

Pyke requires python 2.5 (or later 2.x release).  Check with:

    $ python2.5 --version
 or $ python --version

You can download this at:

    http://www.python.org

To install pyke with easy_install, at the shell prompt just type:

    $ easy_install-2.5 pyke

If you don't have easy_install, you should install it:

    download: http://peak.telecommunity.com/dist/ez_setup.py
    then (as root) run: $ python2.5 ez_setup.py

Otherwise, you'll also need ply 2.3 from:

    http://www.dabeaz.com/ply/

This can be checked as follows:

    $ python2.5
    >>> from ply import lex
    >>> lex.__version__

Then you got two choices for pyke:

    pyke-0.2-py2.5.egg


SOURCE DISTRIBUTION:

The pyke source distribution is the file:

    pyke-0.2.tar.gz

This contains the pyke source code, documentation (both source and html), and
examples.

EXAMPLES:

Each example has a README file that explains how to run it.

The family_relations example is a good place to start.  It shows several
solutions to the same problem.  It also has an example of a few rule
optimizations that result in a 100 times performance improvement on this
problem.

The sqlgen example uses MySQL and the python MySQLdb module.  It has a
function that reads the schema information into pyke facts.  Then the rules in
database.krb automatically figure out how to join tables together to retrieve
a list of column names, generate the SQL select statement and return a plan to
execute this SQL statement and return the results as a dictionary.

The web_framework example uses the sqlgen example.  This demonstrates the use
of multiple rule bases.  The web_framework is a WSGI application that uses the
HTMLTemplate package.  It gets the column names from the HTMLTemplate and
feeds those to the sqlgen example to generate a plan to retrieve the data.  It
then builds a plan to populate the template and return the finished HTML
document.  The example includes a wsgiref simple_server setup to run it as an
http server so that you can access it through your browser.


TO INSTALL FROM THE SOURCES:

    $ python2.5 setup.py install


RUNNING DOCTESTS:

To run doctests on all *.py files in the pyke directory, cd to the pyke
directory and:

    $ ./testpyke


COMPILING THE COMPILER.KRB FILE:

In pyke/compiler:

    $ python2.5
    >>> from pyke import compiler
    >>> compiler.compile('.', 'compiled_krb', ('compiler.krb',))
    $ cp compiled_krb/compiler_bc.py .
    $ rm -rf compiled_krb


EXAMPLES:

Currently there is only one example.  Read its README file for how to run it.


COMPILING THE DOCUMENTATION:

To compile the documentation into html, you'll need docutils and rest2web.
If you're running linux, your distro may have packages for these already.
Or you can:

    $ easy_install-2.5 rest2web

I used version 0.4.1 of docutils and 0.5.0 of rest2web.  I don't know if
earlier versions work OK or not.

To check your versions:

    $ python2.5
    >>> import docutils
    >>> docutils.__version__
    >>> import rest2web
    >>> rest2web.__version__

If your linux distro doesn't have packages for these, and you don't want to
use easy_install, you can get them at:

    http://sourceforge.net/projects/docutils
    http://sourceforge.net/projects/rest2web

To regenerate the html, cd to the doc directory and:

    $ r2w r2w.ini

This regenerates everything from doc/source into doc/html.  It takes about
2 seconds to run.

If you want to run doctest on all of the *.txt files in doc/source,
cd to doc and:

    $ ./testdocs