Python, xml, databases, ...

Rasjid Wilcox rasjidw at openminddev.net
Wed Dec 3 07:39:28 EST 2003


Zunbeltz Izaola wrote:
 
> Up, I concept missundertand of mine. I want to know if
> MySQL/PostgreSQL are only used in large web servers and such things,
> or are also used in small programs that both the server and client
> runs localy.

I've definitely seen MySQL used where both server and client run locally,
and I'm sure there is plenty of the same with PostgreSQL.

>> 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.
> 
> I want to have the program in both linux and windows.
> 
>> 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.
>>  
> 
> Can you give me an advaice about what has a better easy to
> use/performance ratio.

Unfortunately, no, since I'm at about the same stage you are (ie, trying to
work out what to use).

I have _personally_ rulled out MySQL on Windows (due to it packaging the
cygwin dll in a non-standard way, since I use Cygwin at work), and will
only consider PostgreSQL on Windows if I can make the install trivial for a
non-technical user.

SQLite does not support Foreign Key constraints, so I think it is out for
me. Gadfly is not multi-user, so it is also out for me also.

Firebird is the only full featured open-source database that I know of that
has native binaries (non-cygwin) for Windows, and also runs on Linux and
Mac (although a native Windows port of PostgreSQL is in progress).

Another option that I have is to on Windows use the MDAC component and use a
MS Access backend database, and use MySQL or PostgreSQL on Linux/Mac.
See http://www.markcarter.me.uk/computing/python/ado.html for some info on
how to access a MS Access database from Python on Windows.

Without knowing what SQL feature set _you_ are after, it is impossible to
know what is the best option for you.
 
>> > 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.
> 
> I have no see the question yet :-)

My question was entitled 'Building a GUI agnostic database application'.

Cheers,

Rasjid.





More information about the Python-list mailing list