[Web-SIG] repoze.bfg web framework 1.0 released

Randy Syring randy at rcs-comp.com
Mon Jul 6 05:44:55 CEST 2009


Chris,

Sounds interesting.  Question: Does it support some
kind of module/plugin architecture that will allow me to develop "plug-
in" functionality across projects?  What would be called in
Django an "app".

For example, I would like to have a "news", "blog", and "calendar"
module that I can plug into different applications.  The goal is to
have everything for the module contained in one subdirectory or package
including
any configuration, routing, templates, controllers, model, etc.  So,
something like this:

/modules/news/...
/modules/calendar/...
/modules/blog/...

Or:

packages/
   MyProj
   NewsComponent
   CalendarComponent
   BlogComponent

I ended up writing my own framework because I needed this and didn't want to
go with Django and Pylons didn't support it:

http://groups.google.com/group/pylons-discuss/browse_thread/thread/14aef22ddb90347f

But would love to be able to use something else that was more of a community
effort.
Thanks.
--
--------------------------------------
Randy Syring
RCS Computers & Web Solutions
502-644-4776
http://www.rcs-comp.com

"Whether, then, you eat or drink or whatever you do, do all to the glory of
God." 1 Cor 10:31


On Sun, Jul 5, 2009 at 8:47 PM, Chris McDonough <chrism at plope.com> wrote:

> Summary
> -------
>
> The first major release of the BFG web framework (aka "repoze.bfg"),
> version 1.0, is available.  See http://bfg.repoze.org/ for general
> information about repoze.bfg.
>
> Details
> -------
>
> BFG is a Python web framework based on WSGI.  It is inspired by Zope,
> Pylons, and Django.  It makes use of a number of Zope technologies
> under the hood.
>
> BFG is developed as part of the more general Repoze project
> (http://repoze.org).  It is released under the BSD-like license
> available from http://repoze.org/license.html .
>
> BFG version 1.0 represents one year of development effort.  The first
> release of BFG, version 0.1, was made in July of 2008.  Since then,
> roughly 80 pre-1.0 releases have been made.  None of these pre-1.0
> releases explicitly promised any backwards compatibility with any
> earlier release.
>
> Version 1.0, however, marks the first point at which the repoze.bfg
> API has been "frozen".  Future releases in the 1.X line guarantee
> API-level backward compatibility with 1.0.  A backwards
> incompatibility with 1.0 at the API level in any future 1.X version
> will be considered a bug.
>
> More Details
> ------------
>
> BFG contains moderate, incremental improvements to patterns found in
> earlier-generation web frameworks.  It tries to make real-world web
> application development and deployment more fun, more predictable, and
> more productive.  To this end, BFG has the the following features:
>
> - WSGI-based deployment: PasteDeploy and mod_wsgi compatible.
>
> - Runs under Python 2.4, 2.5, and 2.6.
>
> - Runs on UNIX, Windows, and Google App Engine.
>
> - Full documentation coverage: no feature or API is undocumented.
>
> - A comprehensive set of unit tests.  The repoze.bfg package contains
>  11K lines of Python code.  8000 lines of that total line count is
>  unit test code that tests the remaining 3000 lines.
>
> - Sparse resource utilization: BFG has a small memory footprint and
>  doesn't waste any CPU cycles.
>
> - Doesn't have an unreasonable set of dependencies: "easy_install"
>  -ing repoze.bfg over broadband takes less than a minute.
>
> - Quick startup: a typical BFG application starts up in about a
>  second.
>
> - Offers extremely fast XML/HTML and text templating via Chameleon
>  (http://chameleon.repoze.org/).
>
> - Persistence-agnostic: use SQLAlchemy, "raw" SQL, ZODB, CouchDB,
>  filesystem files, LDAP, or anything else which suits a particular
>  application's needs.
>
> - Provides a variety of starter project templates.  Each template
>  makes it possible to quickly start developing a BFG application
>  using a particular application stack.
>
> - Offers URL-to-code mapping like Django or Pylons' *URL routing* or
>  like Zope's *graph traversal*, or allows a combination of both
>  routing and traversal.  This helps make it feel familiar to both
>  Zope and Pylons developers.
>
> - Offers debugging modes for common development error conditions (for
>  example, when a view cannot be found, or when authorization is being
>  inappropriately granted or denied).
>
> - Allows developers to organize their code however they see fit; the
>  framework is not opinionated about code structure.
>
> - Allows developers to write code that is easily unit-testable.
>  Avoids using thread local data structures which hamper testability.
>  Provides helper APIs which make it easy to mock framework components
>  such as templates and views.
>
> - Provides an optional declarative context-sensitive authorization
>  system.  This system prevents or allows the execution of code based
>  on a comparison of credentials possessed by the requestor against
>  ACL information stored by a BFG application.
>
> - Behavior of an an application built using BFG can be extended or
>  overridden arbitrarily by a third-party developer without any
>  modification to the original application's source code.  This makes
>  BFG a good choice for building frameworks and other "extensible
>  applications".
>
> - Zope and Plone developers will be comfortable with the terminology
>  and concepts used by BFG; they are almost all Zope-derived.
>
> Excruciating Details
> --------------------
>
> Quick installation:
>
>  easy_install -i http://dist.repoze.org/bfg/current repoze.bfg
>
> General support and information:
>
>  http://bfg.repoze.org
>
> Tutorials
>
>  http://docs.repoze.org/bfg/current/#tutorials
>
> Sample Applications
>
>  http://docs.repoze.org/bfg/current/#sample-applications
>
> Detailed narrative and API documentation:
>
>  http://docs.repoze.org/bfg/current
>
> Bug tracker:
>
>  http://bfg.repoze.org/trac
>
> Maillist:
>
>  http://lists.repoze.org/listinfo/repoze-dev
>
> IRC support:
>
>  irc://irc.freenode.net#repoze
>
> repoze.bfg is developed primarily by Agendaless Consulting
> (http://agendaless.com) and a team of contributors.
>
> Special thanks to these people, without whom this release would not
> have been possible:
>
> Malthe Borch, Carlos de la Guardia, Chris Rossi, Shane Hathaway, Tom
> Moroz, Yalan Teng, Jason Lantz, Todd Koym, Jessica Geist, Hanno
> Schlichting, Reed O'Brien, Sebastien Douche, Ian Bicking, Jim Fulton,
> Martijn Faassen, Ben Bangert, Fernando Correa Neto, YoungKing, Rob
> Miller, Wichert Akkermann, David Pratt, Mark Ramm, and Chris Perkins.
> _______________________________________________
> Web-SIG mailing list
> Web-SIG at python.org
> Web SIG: http://www.python.org/sigs/web-sig
> Unsubscribe:
> http://mail.python.org/mailman/options/web-sig/randy%40rcs-comp.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/web-sig/attachments/20090705/a98374a2/attachment-0001.htm>


More information about the Web-SIG mailing list