I've been working on a new web framework named (provisionally) repoze.bfg.

The relevant README is here: http://svn.repoze.org/repoze.bfg/trunk/README.txt

It is essentially a "Zope lite".  It is Zope-ish in that:

 - it uses a lot of Zope libraries and concepts (interfaces, some CA constructs,

 - it uses graph-traversal-based URL dispatch.

 - by default it provides ZPT (actually z3c.pt) templates.

 - it provides built-in authorization facilities based on permissions
   and users/groups.

It is unlike Zope (variously 2 or 3) inasmuch as:

 - It uses a different publisher and authorization model.

 - It is heavily dependent on WSGI.

 - Its equivalent of the publisher doesn't attempt to traverse into
   *code* stored in the object graph.  All code is on the filesystem.
   The only thing in the object graph is "model" data.

 - It doesn't attempt to provide any server functionality.  This duty is
   left over to WSGI.

 - It doesn't provide *authentication* functionality (just authorization
   functionality).  Authentication is left up to upstream server/middleware
   (e.g. repoze.who).

 - It's not meant to be "plugged in to".  A repoze.bfg application is not
   a plugin to repoze.bfg (e.g. it's not a Zope2 Product).  Instead, a
   repoze.bfg application is just a Python package that happens to use
   repoze.bfg facilities.

 - The graph root is not effectively assumed to be a ZODB database.

 - It provides no built-in through-the-web management interface.

It's unlike Grok inasmuch as:

 - It doesn't try to hide ZCML for configuration.

If I were to characterize it succintly and informally, I migh say it's a bit like Django built around graph traversal dispatch instead of URL-based dispatch.

Speed is a priority. A "hello world" template is currently clocking in at around 550 req/sec on my MacBook (including security lookups).

It's my intent to continue to develop it, along with a package named "repoze.lemonade", which will integrate repoze.bfg with ZODB and provide various persistence-related features (folders, object events, indexing and so forth).

In any case, I thought maybe some folks would be interested in using/contributing to it. It can be checked out via:

svn co http://svn.repoze.org/repoze.bfg/trunk/


- C

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to