Repoze Blog
2009-11-15 00:00:00-05:00
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.
Links
Quick installation:
easy_install -i http://dist.repoze.org/bfg/1.1/simple repoze.bfg
General support and information:
http://bfg.repoze.org
Tutorials
http://docs.repoze.org/bfg/1.1/#tutorials
Sample Applications
http://docs.repoze.org/bfg/1.1/#sample-applications
Detailed narrative and API documentation:
http://docs.repoze.org/bfg/1.1
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. It is 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 .
posted at: 00:00 | permalink
