[Tutor] Python social network / cms components?

Steven D'Aprano steve at pearwood.info
Sat Sep 11 04:19:12 CEST 2010

On Fri, 10 Sep 2010 05:34:49 am Igor Choromanski wrote:
> Hi,
> After much research, I've come up with a list of what I think might
> be the best way of putting together a Python based social
> network/cms, but have some questions about how some of these
> components fit together.

This does not sound like a question for the tutor list. All I can 
suggest is that if you're considering building a major project like a 
CMS or social network while still learning the language, you're looking 
at a world of pain! You should consider at least doing a tutorial or 
two first.

If you're already experienced with the language, enough that the basic 
concepts and syntax of Python programming no longer confuse you, then a 
CMS is still an ambitious project, but it's entirely doable with time 
and effort. However you should take this question to the main python 
list, at python-list at python.org or its Usenet mirror, comp.lang.python.

To answer some of your specific questions:

> 1. Google App Engine -- this is an attempt to cut to the chase as
> many pieces of the puzzle seem to be in place.
> Question: Am I limiting my options with this choice? 

Of course you are. *Every* choice limits your options. If you decide to 
build a web-app, that means you're not building a peer-to-peer desktop 
app. If you decide to simulate a desktop GUI in the browser, that means 
losing the ability to support people who want a fast, efficient, 
minimalist Javascript- and AJAX-free experience. And so on.

> 2. Python -- I considered 'drupal' at first, but in the end decided
> that being dependent on modules that may or
> may not exist tomorrow 

What makes you think that drupal is more likely to disappear than 

> + limitations of its templating system are a 
> no-no. Learning its API, too, would be useless elsewhere
> whereas Python seems like a swiss army knife of languages -- good for
> almost anything.
> Question: v.2.5.2 is required by GAE, but python.org recommends
> 2.5.5. Which do I install?

2.5 is not supported except *possibly* for security fixes, and probably 
not even those. Even 2.6 is now only "bug fixes only". For a major 
project, I wouldn't consider anything below 2.6, and possibly even 
2.7 -- by the time you're ready to release your first alpha version, 
2.7 should have received a couple of point releases and be well-tested 
and stable.

There are many other templating engines for Python-based web apps, such 
as CherryPy or Zope, and many more. Before building a huge project, 
you're probably better off at least trying to build a "Hello World" app 
with them so you're not *entirely* flying blind.

Steven D'Aprano

More information about the Tutor mailing list