Object oriented databae for Python

Gerhard Häring lists at ghaering.de
Thu Mar 20 11:20:22 EST 2003


Konstantin Knizhnik wrote:
> I would like to announce embedded object oriented database for
> languages with dynamic type checking: DyBASE. Currently APIs for Python, Ruby
> and PHP are available.

Great news you're doing Python now! I even thought once about wrapping 
GigaBASE for Python, but it seemed impractical :-)

> DyBASE is easy to use and provide high performance. It is intended to be used in applications
> which needs to deal with persistent data in more sophisticated way than load/store object tree
> provided by standard serialization mechanism. Although DyBASE is very simple, it provides fault
> tolerant support (ACID transactions) and concurrent access to the database.
> 
> DyBASE is free and open source software distributed under MIT license.
> You can find more information about it and download this product at
> www.garret.ru/~knizhnik/dybase.html

For all those who want to try it, it needs Python 2.2.2. With a simple 
trick, you could make it work on any 2.2.x, but people should use 2.2.2, 
anyway :-)

Attached is a patch that:

- adds a setup.py file to be able to use the distutils-based build 
processs for the Python extension. It will currently only work with gcc, 
though. The setup.py will just statically link in the dybase library, so 
*all* you need to do is a simple "python setup.py build" (or install, or 
bdist_wininst) and no more need to invoke any silly Makefiles :-)

- uses DL_EXPORT in the Python extension and does away with an 
unnecessary win32 #ifdef

- Makes the whole thing compilable under Cygwin and win32 native through 
mingw (both GCC flavours, the later being a native win32 one). This 
change is to use malloc instead of valloc on these compilers, because 
valloc doesn't seem to be available with them. And from what I checked 
here, valloc isn't available under MSVC6, either. Note that this patch 
doesn't yet make it possible to use the specific combination 
distutils+MSVC. But this can trivially be added later.

Last but not least, thanks a lot for giving us this library. I'm sure 
I'll find some tasks where I'll use it.

-- Gerhard

[1]
try:
   True
except:
   True, False = 1, 0
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dybase_patch.dif
URL: <http://mail.python.org/pipermail/python-list/attachments/20030320/accc2c50/attachment.ksh>


More information about the Python-list mailing list