[BangPypers] Your favorite Python libraries and frameworks

Pradeep Gowda pradeep at btbytes.com
Tue Oct 30 04:25:33 CET 2007


On 30-Oct-07, at 7:53 AM, larryt at winfirst.com wrote:

>>
>> On 10/29/07, Kiran Jonnalagadda <jace at pobox.com> wrote:
>>>
>>> On 29-Oct-07, at 8:38 PM, Ramdas S wrote:
>>>
>>>> I've been told that other frameworks (notabley Zope, Pylons and
>>>> TurboGears) are better by their users/developers. That is probably
>>>> true, but I feel that it is better to bet on something that has a
>>>> bigger momentum in  terms of users, developers, and developer
>>>> companies.
>>>
>>> Not meaning to start a flamewar, but this may be worth reading for
>>> those who haven't already:
>>>
>>> http://dirtsimple.org/2007/01/where-zope-leads-python-follows.html
>
> But that link doesn't say why it might make sense to actually use zope
> for real projects right now.  It also doesn't mention zope.interfaces,
> which is a prime and very current example of zope leading the way.

Zope gets a lot of flack for being old, archaic and what not. But,  
when zope started its life as bobo, the object publisher, the other  
alternatives in the web development world were cgi and perl!
Zope2 brought through the web publishing - not just allowing non-tech  
people to write and publish content, but also, make customisations,  
even write new products `through the web`.
To customize zope you needed to use the textbox in your browser,  
nothing else....

Anyway, talking about Zope2 is like reminiscing about old cars. There  
have been iconic cars which were way ahead of their day and were  
successful because of what they did and people still love them :)

Perhaps, if one wants make peace with Zope2, understand that it was  
an immensely productive platform for end users, may not be so for a  
programmer who walks in the door and starts his editor....
How many programmers love Excel? Very few, right? So, what makes  
sense for end users may not be sexy for the programmer. Excel has  
functional programming? hah, who cares...
everybody knows excel is for "MBA" types ... ;)

People complain about lack of documentation. I never felt that way.  
Maybe thats because I was taught the zope way by colleagues when I  
started out and believe me, coming from a short stint in PHP  
programming,
Zope was a breath of cool,mint-laced air.

As PJE's article (link above) points out, many of the python  
innovations started in Zope.
  Zope is one such community which really takes care of its customers  
interests and developers investment in it.
It is very rearly that zope and plone make changes which break  
existing code, without giving enough time and migration help to the  
developer community.

When zope3 was conceived and developed from scratch, they did not  
drop Zope2. They invented Five (2+3 get it?). to allow coexistence of  
old user/code base and the Brave New World.

Some complained that Zope3 is too much like J2EE and has too much XML  
in it, so came along Grok, which tries to "grok" configurable  
settings looking at code. Think convention over configuration.

Again, people believed that Zope is a silo with little connection to  
the "python" world. Oh, how they are mistaken.
Zope3 takes component reuse and modularity *really*  seriously. Zope2  
has  its own Webserver. Zope3 uses Twisted, the much revered  python  
network libraries.

Every *single* of Zope3  and even Plone's libraries are now available  
as Eggs, which you can use without touching zope. No need to get your  
hands dirty there, boy!
Just to put things in perspective, django does not even have an egg  
for installation. They have written their own ORM, templating all in  
the name of tight integration. Smells a lot like Zope2 in 1990s to  
me. People who love django for this reason, should be able empathise  
with zope2 people.. (Having said that, I have to disclose that my  
current project is on Django, and it is immensely productive.)

Zope3 also believes in WSGI - the future of python web development.  
Just yesterday, I was able to rig up a Grok application and a Pylons  
application together using Repoze(http://www.repoze.org). (I'll post  
a blog entry soon about this). Think of the possibilities.

The kind of functionality available in Zope and plone especially when  
it comes to fine grained authentication, content metadata,  
internationalisation support, are yet to be seen on other python  
framework.
However, the choice is simpler now, because Zope is pushing for a  
``Python Ecosystem'' rather than a single do-it-all framework. Once  
again they lead the way.

Peace,
Pradeep


More information about the BangPypers mailing list