Python web app. (advice sought)

Torabisu tpawley at gmail.com
Mon Jan 15 03:52:33 EST 2007


Duncan Smith wrote:
> Hello,
>      I find myself in the, for me, unusual (and at the moment unique)
> position of having to write a web application.  I have quite a lot of
> existing Python code that will form part of the business logic.  This
> relies on 3rd party libraries (such as numpy) which would make porting
> to e.g. IronPython difficult (I would imagine).  I was thinking LAMP
> (the P standing for Python, of course), particularly as I was originally
> encouraged to go for open source solutions.
>
> The application will provide some basic statistical analyses of data
> contained in database tables and associated plots (R / matplotlib /
> graphviz).  There will also be some heavier duty Monte Carlo simulation
> and graphical modelling / MCMC.  The user(s) will need to be able to set
> model parameters; maybe even tinker with model structure, so it will be
> very interactive (AJAX?).
>
> I've had a look at Django, Turbogears and Plone, and at the moment I am
> torn between Turbogears and Plone.  I get the impression that Turbogears
> will require me to write more non-Python code, but maybe Plone is more
> than I need (steeper learning curve?).  Maybe Turbogears will lead to a
> more loosely coupled app. than Plone?
>
> The disconcerting thing is that others on the project (who won't be
> developing) have started to talk about a LAMP back end with an IIS front
> end, .NET, and the benefits of sharepoint.  The emphasis is supposed to
> be on rapid development, and these technologies are supposed to help.
> But I have no real familiarity with them at all; just Python, C and SQL
> to any realistic level of competence.
>
> Any advice would be greatly appreciated.  I have to do much of the
> statistical work too, so I need to make good choices (and hopefully be
> able to justify them so nobody else on the project makes inappropriate
> choices for me).  e.g. I don't mind learning Javascript if it doesn't
> take too long.  The physical server will initially be a multiprocessor
> machine with several GB of RAM.  But we also have a cluster (I have no
> details, I only started the project a week ago).  So any advice
> regarding parallelisation would also be appreciated (or, in fact, any
> useful advice / pointers at all).  Thanks.
>
> Duncan

I was in a similar boat a while back, needing to make a decision on
what to use for our web development.  I had worked with Plone
previously and found that for our needs it wasn't going to work.  Our
web development was quite specific and didn't fit ideally into the
standard content management realm.  I also looked at Django and
TurboGears, installing and working with each.  I eventually went with
Django, and I've really enjoyed working with it.  Was a personal choice
and I'm sure our development would have been as successful if I'd
chosen TurboGears.

If you want the strength of persistent layers, MVC, templating etc etc
but want to stay away from the heavier frameworks, another possibility
is http://webpy.org/.  Very simple to implement, lightweight yet still
fairly full of features.




More information about the Python-list mailing list