Python, xml, databases, ...

Rasjid Wilcox rasjidw at openminddev.net
Wed Dec 3 05:40:58 EST 2003


Zunbeltz Izaola wrote:
> I want to store the information in a A object in a file. The structure
> is a tree-like structure and I think XML is a good choice. I want to
> know what model SAX or DOM, will be better to write/read the
> information from the file. Is posible the files to get big (>1MB) and
> the XML HOWTO recommend to use SAX, is that ok? what would be eaiser?
> 
> In a future i want to be able to do search and in different instances
> of object A. I think i can storoe the information in a database
> format.

I think you want to be clear whether you want a database or not.  If you
want to put the data into a database, you probably do not want to also put
it into a file structure.  Although you certainly could then store to file
in the database, I think you would end up loosing the usefulness of one or
the other (or both).

> What tool are suitable for this task? I have read somethin
> about MySQL and PostgreSQL, but i think they are only for servers, no
> for program, is that all right?

What do you mean by 'they are only for servers'?

Any machine can run a service (such as MySQL or PostgreSQL), and if it
offers that service to other machines then it is acting as 'server', or it
can just use it locally.

What platform are you planning to run this on?  If it is Linux, then either
MySQL or PostgreSQL are easy options - most distros have pre-compiled
versions out of the box.

On Windows, both MySQL and PostgreSQL rely on the Cygwin dll.  It looks like
MySQL has an easier Windows install, but their use of the cygwin dll
outside of Cygwin proper has serious stability consequences if the user
installs another cygwin based program.  PostgreSQL is a 'proper' cygwin
program, but will be harder for non-unix/linux people to
install/administer.

You could also consider Firebird (http://firebird.sourceforge.net/) it has a
native Windows version as well as a Unix/Linux version) or SQLite
(http://www.hwaci.com/sw/sqlite/) with PySQLite
(http://pysqlite.sourceforge.net/manual.html).

There is also GadflyB5 (http://gadfly.sourceforge.net/) which looks like it
is written in pure python.  There are probably other options too.
 
> I would build a GUI for the program (presumibly with wxPython). I want
> to separate the GUI layer from the program layer. For comunication of
> this two layer I have think in asyncore, but i have read something
> about twisted and piro. Can anyone give my his/her opinion about this?

Funny, I asked almost the same question about 20 minutes before you did.

Cheers,

Rasjid.





More information about the Python-list mailing list