On 02/21/2013 09:22 AM, Monte Milanuk wrote: > What I was wondering is what would be a good way of handling this with a > PyQt app? Build the desktop app first, and add some sort of > functionality to enable a lightweight web server and framework for the > additional data entry 'clients'? Or would it be better to create > dedicated PyQt client apps to connect to the PC/laptop running the > 'main' application? Should I go a different direction entirely, with a > complete self-hosted webapp built on a framework like web2py?
A webapp is probably the most flexible way forward. That way the client is just the web browser. And this route does not need to preclude using a standalone app. Of course there are lots of ways of doing client/server development. What I would do is design your database and business logic code using a web framework, like Django. Use it's own ORM system, or use something like SQLalchemy. You needn't build a web client if you want to stick with your standalone apps. Instead of writing html views for the web browser to render, you would instead create views that speak some form of remote procedure call, like REST, XMLRPC, or even soap. http://maxivak.com/rest-vs-xml-rpc-vs-soap/ Libraries are available for python to connect to the server and issue calls in a familiar way (just like normal python function calls). > As you can probably tell, I have only a vaguely fuzzy idea of 'how' at > this point... but I would like to be able to proceed with some > confidence that as I get further down the road I'm not going to run into > a dead-end and have to start over down a different path. A web-app with a webservice API exposed, or even a web client is not going to be a dead-end. In fact I think the web service idea is going to be far more flexible than developing your own protocol. Particularly if you do want a web-based client down the road. -- http://mail.python.org/mailman/listinfo/python-list