[TIP] Pandokia - more info

Mark Sienkiewicz sienkiew at stsci.edu
Thu Apr 9 08:45:04 PDT 2009

Douglas Philips wrote:
>> As promised, I've put some more info about Pandokia, our test  
>> management
>> & reporting system, on the web at http://stsdas.stsci.edu/pandokia/
> Woot!
> Still letting it all sink in. Hard not remembered that the results  
> format was multiline. Not sure if that is Simple enough in the  
> Titusian sense, but we'll find out that soon enough. 

The format is driven by the requirements:

- a record contains multiple named fields
- most of the fields are optional
- you do not know how many fields or all of their names until run time
- some fields contain multi-line values (sometimes thousands of lines)

I think it is a very simple format both to write and to read, but if you 
think of a simplification, I'd like to hear it.  I'm a big fan of RFC 
1925, especially section 2 (12):

   (12) In protocol design, perfection has been reached not when there
        is nothing left to add, but when there is nothing left to take

> I'm not so  
> sanguine about using a database for storing the results, but that's a  
> tool chain thing, the data formats are what I'm most interested in.

I'm not that quick to look for a database either.  I've lost count of 
how many times I've passed on even evaluating a free software package 
just because it needed a working mysql to install it.

sqlite is what really makes the database tolerable.  There is no server 
and no configuration.  The database engine runs in your process and uses 
a plain file to store the data.  In that respect, a user doesn't even 
need to know that there is a database there.  (Well, if they have a 
python with a working sqlite3 module, that is...)

When you see the queries we make, the database makes more sense.  I 
might have been able to kludge it all into berkeley dbm, but that would 
have added significantly to the complexity and the development time.  
And I would be wondering what happens next month when my database goes 
over 2 GB.

I also expect that pandokia will be adaptable to other database 
engines.  This may be an advantage to somebody who has large user base.

b.t.w.  Firefox 3 uses sqlite internally, so there is a good chance that 
you've already seen how unobtrusive it is.

Mark Sienkiewicz

p.s. Hi everybody.  I've been reading this "low volume" list for about a 
week. :)

More information about the testing-in-python mailing list