pure Python DB

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Tue Aug 26 22:17:28 CEST 2003


Patrick-

You might try out the Pointrel Data Repository System I wrote -- it's 
all in Python.
  http://sourceforge.net/projects/pointrel/

You need to learn to frame the data storage problem in its terms (triads 
or somewhat Entity-Relation-al, similar in some ways to RDF). It does 
provide single-user transactions using a lock file, but this lock file 
approach has not been tested on lots of platforms.  Compared to other 
systems, you might find it less efficient in disk use (it now supports 
64 bit offsets) and more difficult to delete thigns (the short answer 
is, you can't delete anything -- without writing application level 
support on top of it).  On the plus side, you only need to add one 
Python file to your project.

However, it does not yet have the level of testing yet one might want 
for something mission critical. Naturally, how well suported it is is a 
matter of chicken and egg -- if it is not well supported people won't 
try it or improve it (until it magically makes it over some level of 
general interest). For an example of its current bleeding edge state, I 
just discovered what I think may be a potential bug where abandoned 
transactions could create problems if you are using caching (the cache 
could hold onto no longer valid handles for added new strings) -- I've 
patched that for the next release (and you can always just turn off 
caching), but that's the sort of bleeding edge thing you might encounter 
if you try it. You can see the recent announcement of the latest version 
in comp.lang.python.announce.
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&th=6de75a999a0ca969&rnum=3
Or this recent post:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=3f482037_5%40corp.newsgroups.com&rnum=5

I can say that I'd be interested in making the Pointrel Data Repository 
a stable and well supported popular platform, although I won't commit to 
any specific time frame or level of effort for it. I think it would be 
more ready to go when or if I make the transition to using it to store 
all my email (gulp -- that's commitment! :-) But that hasn't happened 
yet. I'm thinking of using it in a web proxy first as that's a little 
more forgiving application area for me (but the issues of making a good 
proxy are stalling that some).

A year or two or so back I looked at the Gadfly source with a notion of 
using some of it to put a SQL front end onto Pointrel. Maybe that would 
make it more apalatable for general use? But I'm not generally 
interested in using SQL, so I'm not sure how far down that road I want 
to go.

In any case, all the best. And the databases written in C might be worth 
your exploration -- some of the appear to be quite good and fairly cross 
platform in their own terms.

--Paul Fernhout

Patrick Useldinger wrote:
> Hello,
> for a cross-platform project, I am looking for a Python DB. It should be 
> lightweight, but provide transactions an of course reliable.
> Is there such a thing out there?
> I have read about Gadfly, is this still maintained?
> Thanks,
> -Patrick



-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 100,000 Newsgroups - 19 Different Servers! =-----




More information about the Python-list mailing list