Nucular examples
This document briefly describes some of the tests and examples
provided in the distribution for the nucular system.
Online demos
The demo web interfaces are available for viewing (hosted
on shared machines) at the following links:
The "edit" feature has been turned off on these public interfaces.
Test programs
A number of test programs are provided with the distribution
and some of the archives built by these test programs are
used by the other demo programs. All of these programs must
be able to correctly import the nucular package, like this:
from nucular.nucular import Nucular
There are two categories of test programs available in the distribution:
stand-alone self-tests that use only information from the
distribution, and advanced tests which require external data
archives to run completely (and try to automatically download
them when they are not present).
Stand alone tests
The following basic tests do not use any external resources
and are not prerequisites of other demo programs:
- ltreeTests.py runs some basic sanity tests on the underlying
"layered tree" implementation used to build archive indices.
- bigLtreeTest.py runs additional tests of the "layered tree"
implementation by building and testing a large disk-resident
data structure.
- nucularTest1.py runs some basic sanity checks on the
nucular archive implementation by building a querying a number of
small archives.
- specialTest.py runs some simple nucular tests using special values.
Tests requiring external data sets
The following tests require external data sources (which they will attempt to download
using "wget" if they do not find them). They are also required prerequisites
for running other demo programs.
- gutenbergTest.py builds an archive using a snapshot of the Gutenberg project book
index. This test must run successfully before the other Gutenberg demos will run. If the program
cannot "wget" the snapshot it will print an informative message explaining where to find it manually.
- mondialTest.py builds an archive using a snapshot of the Mondial XML data set.
This demo requires
ElementTree
to be available in your python installation. It
is also a prerequisite for the other Mondial demos.
- pythonIndexTest.py builds an archive using text files from the Python source distribution.
This test program must run successfully before the
pydistro
example interfaces
will work. The program requires a top level directory location for the python distribution.
If the location provided is empty the program will attempt to download the distribution and
install it at the provided location. A second optional argument to the script may identify
the "web visible" location of the files (for example "http://myserver/~arw/python/distribution").
- enronTest.py builds an archive from over half a million sometimes large email
messages from the Enron email corpus
located at http://www.cs.cmu.edu/~enron/.
To run this test you must download and uncompress the 2GB
enron_mail_030204.tar
tarball by hand before running the script.
- dblpTest.py builds an archive from over a million bibliographical entries
located at http://dblp.uni-trier.de/xml/.
To run this test you must download the 400MB
dblp.xml
data file by hand
before executing the script.
In addition to these scripts the test
subdirectory includes a number of modules and tools related to testing
including profileStats.py
, a script to compare variance between two
profiled Python script runs.
CGI and mod-python example interfaces
The distribution includes example test web
interface implementations for the Mondial, Gutenberg, and Python distribution
example archives built by the corresponding test programs.
Please see the README files in the cgi
and modpy
subdirectories of the distribution for instructions on how
to set them up under an appropriate web server.
End of Nucular examples
return to index