repoze.bfg 1.1 released
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, see http://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 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 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.
posted at: 00:00 | permalink