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@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to