Chris,<br><br>Sounds interesting.  Question: Does it support some
<br> kind of module/plugin architecture that will allow me to develop &quot;plug-
<br> in&quot; functionality across projects?  What would be called in
<br> Django an &quot;app&quot;.
<br><p>For example, I would like to have a &quot;news&quot;, &quot;blog&quot;, and &quot;calendar&quot;
<br> module that I can plug into different applications.  The goal is to
<br> have everything for the module contained in one subdirectory or package including
<br> any configuration, routing, templates, controllers, model, etc.  So,
<br> something like this:
<br> </p><p>/modules/news/...
<br> /modules/calendar/...
<br> /modules/blog/... <br></p><p>Or:</p><p>packages/<br>   MyProj<br>   NewsComponent<br>   CalendarComponent<br>   BlogComponent</p><p>I ended up writing my own framework because I needed this and didn&#39;t want to go with Django and Pylons didn&#39;t support it: <br>

<br><a href="http://groups.google.com/group/pylons-discuss/browse_thread/thread/14aef22ddb90347f" target="_blank">http://groups.google.com/group/pylons-discuss/browse_thread/thread/14aef22ddb90347f</a></p><p>But would love to be able to use something else that was more of a community effort.<br>

</p>Thanks.
<br clear="all">--<br>--------------------------------------<br>Randy Syring<br>RCS Computers &amp; Web Solutions<br>502-644-4776<br><a href="http://www.rcs-comp.com">http://www.rcs-comp.com</a><br><br>&quot;Whether, then, you eat or drink or whatever you do, do all to the glory of God.&quot; 1 Cor 10:31 <br>

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