[Tutor] Enquiry on technology stack to use

Alan Gauld alan.gauld at btinternet.com
Sat Nov 22 20:14:27 CET 2014

On 22/11/14 13:47, arlus ishmael wrote:

> I'm a student with intermediate python skill. I intend to build a
> hospital management system using Python. The intended design is a
> desktop application with an embedded server that listens for HTTP
> requests that come from a browser or a desktop client.

That's a very odd architecture for a server component. Why not have
a desktop client that runs on the server and talks to the server
in the same way as the web and remote desktops?

> packaged into a single executable

Again a very odd choice that will greatly limit your ability to
scale the application to handle multiple clients. Especially if
you have a mixture of desktop and web clients.

Most server applications use several replicable processes to enable load 
balancing and scalability. Also I assume you will be using a separate 
database which will have its own server processes?

> and preferably it should be cross platform.

I assume you know that a single executable will not work cross
platform, although you can build a single executable solution
per platform from a common code base.

> Furthermore, but not a must, bundling with it a message queue
> could also be great.

Message queues are usually a part of the infrastructure so we'd need to 
know more about the details to say anything about that. Python can 
support a generic message queue but its not generally compatible with 
things like Java or .Net message queues or CORBA. You need more specific 
solutions for that.

> I have tried bundling django + cherrypy in Qt4 application but that
> proved difficult to bundle into an executable. I was looking for some
> suggestions on what technology stack I could use. Any help will be
> greatly appreciated.

Frankly, unless this is a very small hospital, I'd forget about trying 
to produce a single executable. And that doubly so if you want to
embed a GUI into it too. It makes life much more complicated and
limits your options for in-flight configuration/scalability.

Alan G
Author of the Learn to Program web site
Follow my phopto-blog on Flickr at:

More information about the Tutor mailing list