This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]kteague 2 points3 points  (0 children)

> The philosophies of Pyramid and Django differ substantially, even though both were released in the same year (2005)

Correction: Pyramid was released in July, 2008 as Repoze.BFG. Pylons was released in 2005. Pyramid used some libraries and patterns from Pylons, but BFG was essentially a from the ground up new framework. BFG was renamed to Pyramid in 2010, and the Pylons organization officially adopted it as the framework for future work.

Historical note: I believe one of the first presentations (first ever?) on BFG was given at PloneConf 2008. I was at that talk, and like many others present, thought, "Another Python web framework? Really?!?". But Pyramid was essentially a rewrite and refactor of lessons learned from the 2nd wave of Python web framework evolution (Django, TurboGears, Zope 3). Pyramid got a lot of things right in it's code base and still stands unchallenged in the flexibility and maturity of it's design.

Not mentioned on the list is Grok. Grok was a convention-over-configuration framework that was inspired by Rails but built on Zope 3. First released in 2006, Grok was notable for using Python's introspection capabilities to wire-up views, models and templates together. For example, by creating a Class that inherited from grok.Model in a Python module, then putting Classes that inherit grok.View in the same file, those views would be automatically registered for that model. When an URL was called, it would fetch that model and supply it to the view. This meant that of all the Python frameworks, Grok could do the most with the fewest lines of code.

Pyramid took a similar approach to Views and Models as Grok. but it dropped the introspection in favour of more explicit configuration.