KirbyBase is a simple, plain-text, database management system written in Python. It can be used either embedded in a python script or in a client/server, multi-user mode. You use python code to express your queries instead of having to use another language such as SQL. KirbyBase is disk-based, not memory-based. Database changes are immediately written to disk.

You can find more information on KirbyBase at:
http://www.netpromi.com/kirbybase.html

You can download KirbyBase for Python at:
http://www.netpromi.com/files/KirbyBase_Python_1.8.zip

The most noticeable things about this release are (1) the ability to sort the result set by multiple fields, (2) the ability to have the result set returned as a nicely formatted report, suitable for printing, and (3) the ability to do an insert or an update using a record object (thanks, Fred Pacquier, for the suggestion).

The manual has also been updated to reflect the new features.

Also, for those of you who have asked how Kirby is doing, I have a couple of new pictures of him on the website. :-)

I would like to thank everyone who has emailed me with comments, bug reports, and enhancement requests/ideas. Hearing from people who actually use KirbyBase is what makes working on it worthwhile. Please keep the emails coming!


Changes in Version 1.8:

        ********   IMPORTANT - Method Interface Changes   ****************
       -Added the ability to sort the result set of a select by multiple
        fields and to specify whether each field should be sorted
        ascending or descending.  This necessitated a change to the
        interface of the select method.  I moved the position of sortField
        in the argument list and also changed it to be a list instead of a
        string.  I also changed the name of sortField to sortFields. I
        also moved sortDesc in the arguement list and also made it a list.
        ******************************************************************
       -Added another allowable value, 'report',  to the keyword
        parameter, returnType in the select method.  This returns the
        result set in a pretty print format.  Along with this, added
        another keyword parameter called rptSettings to the select method.
        This is only used if rptType is 'report'.  It is a 2 element list.
        The first element specifies the number of records to print on a
        page.  The second element is boolean specifying whether to print
        a dashed line between records.
       -Added ability to pass field values to update and insert using an
        object with attributes set equal to the field names.
       -Fixed a bug in _getMatches.  If a field of type int or float had
        a blank value in the table (i.e. ''), the code was attempting to
        convert it to it's proper type (i.e. int or float) before
        doing the match comparison.  This would cause an exception to
        occur.  Now, if the field is an int,float,date or datetime and it
        is blank, I convert it to None.  This allows the numeric
        comparisons to work correctly for null fields.
       -Fixed a bug in select.  If a field in the result set was equal
        to '', I was letting it stay that way, when I should really be
        converting it to None before returning the result set.
       -Cleaned up the internals a bit.  Mainly, I tried to use functions
        in the operator module like lt and ge instead of hardcoding < and
        >= in an if statement.


Jamey Cribbs [EMAIL PROTECTED]


-- http://mail.python.org/mailman/listinfo/python-list

Reply via email to