[Repoze-dev] repoze.bfg is now Pyramid

Chris McDonough chrism at plope.com
Fri Nov 5 15:50:46 EDT 2010


The repoze.bfg web framework has now become "Pyramid",
managed under the Pylons Project.  See

For more detail, please read http://docs.pylonshq.com/#faq .
If you're too busy for my personal blather, the FAQ should
tell you everything you need to know.  Otherwise, please
read on.

Personal Perspective

Over the last few months, I've been collaborating pretty
meaningfully with Ben Bangert, the lead developer of the
Pylons (http://pylonshq.com) web framework.  This
collaboration started because Ben and I have "competing" web
frameworks, both written in Python.  Our repoze.bfg and
Ben's Pylons share almost exactly the same scope.  They are
both "lightweight" web frameworks.  They use similar models
for mapping URLs to code.  They appeal to roughly the same
sort of people.

In the meantime, it's clear that there is a limited amount
of oxygen in the Python web framework world: only the
frameworks which are clear winners will prosper and survive
long-term.  A potential Python web developer just doesn't
have the time to evaluate 20 separate web frameworks.  Even
if he or she did, to a truly impartial evaluator, it would
be extremely difficult to make a choice between two
frameworks as similar as Pylons and repoze.bfg.

Ben and I, as well as other folks including Paul Everitt,
Mark Ramm, and Chris Rossi met in Las Vegas a few weeks ago
to talk about merging Pylons and repoze.bfg.  To everyone's
surprise, consensus was pretty easy: not only should it be
done, it should be done swiftly.  We agreed to collapse the
crowded Python web framework world a bit in order for there
to be slightly more oxygen for the Python web world to

Thus, BFG has now become Pyramid
(http://docs.pylonshq.com/pyramid/dev/), and is now part of
the Pylons Project.  "The Pylons Project" is the project
name for a collection of related technologies.  Pyramid is
the first "new" package which is part of the Pylons Project.
Other packages to the collection will be added over time,
likely including higher-level components such as
applications and other frameworks which rely on a particular
persistence mechanism (Pyramid does not).  The first release
of Pyramid 1.0a1 was made today to PyPI.  See
http://docs.pylonshq.com/pyramid/dev/narr/install.html for
install instructions.

Personally, I couldn't be happier about this.  I'm proud of
the work we've done so far, and I'm extremely optimistic
about the future of Pyramid and the Pylons Project.

repoze.bfg 1.3 (made November 1, 2010) will be its last
major release.  Minor updates will be made for critical bug
fixes (and so there may be a 1.3.1, 1.3.2, etc), but new
feature development will take place in Pyramid.  repoze.bfg
won't see a 1.4 release (at least one made by me).  While
Pyramid is technically backwards incompatible with
repoze.bfg, you won't have to do much to use your existing
repoze.bfg applications on Pyramid.  There's automation
which will change most of your import statements and ZCML
declarations.  See

The Repoze project will continue to exist.  Plenty of Repoze
software exists that has nothing to do with repoze.bfg.  The
Pylons 1.0 web framework, Ben tells me, will be shifted into
legacy status once Pyramid has a non-alpha release.

Existing BFG developers might consider joining the #pylons
IRC channel on freenode.net and the Pylons-devel maillist at
<http://groups.google.com/group/pylons-devel>.  Discussion
about the framework-previously-known-as-BFG is meant to take
place in these locations.

The Pyramid code is now kept at
https://github.com/organizations/Pylons.  Unfortunately,
existing contributor agreements arranged with Agendaless for
the Repoze repository don't carry over to the new version
control location.  We don't currently have the machinery in
place to accept new contributor agreements that will allow
folks to check in directly to the Pyramid trunk and other
Pyramid-related code, so, for now at least, we'll be making
use of the "distributedndess" of Git: if you want to
contribute something, make a fork of the code on GitHub and
send a pull request.


Hopefully these will help clear up any misunderstandings
about Pyramid: http://docs.pylonshq.com/denials/pyramid.html

More information about the Repoze-dev mailing list