Date: 16 November 2009 2:54:17 PMSubject: repoze.bfg 1.1 releasedReply-To: Plone Website Team <plone-...@lists.sourceforge.net>Source: Planet PloneAuthor: Plone Website Team <plone-...@lists.sourceforge.net>The second major release of the BFG web framework (aka "repoze.bfg"), version 1.1, is now available.
For a list of changes made since the 1.0 release, seehttp://docs.repoze.org/bfg/1.1/whatsnew-1.1.html.
See http://bfg.repoze.org/for other general information about repoze.bfg.
BFG is a Python web framework based on WSGI. It is inspired by Zope, Pylons, and Django.
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 which performs 100% statement coverage of the BFG codebase.
- 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 routingor like Zope'sgraph 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 extraneous 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.
Links
Quick installation:
easy_install -i http://dist.repoze.org/bfg/1.1/simplerepoze.bfgGeneral support and information:
http://bfg.repoze.orgTutorials
http://docs.repoze.org/bfg/1.1/#tutorialsSample Applications
http://docs.repoze.org/bfg/1.1/#sample-applicationsDetailed narrative and API documentation:
http://docs.repoze.org/bfg/1.1Bug tracker:
http://bfg.repoze.org/tracMaillist:
http://lists.repoze.org/listinfo/repoze-devIRC support:
irc://irc.freenode.net#repozerepoze.bfg is developed primarily by Agendaless Consulting ( http://agendaless.com) and a team of contributors. It is part of the more general Repoze project (http://repoze.org). It is released under the BSD-like license available fromhttp://repoze.org/license.html.