RhubarbTart
+++++++++++

RhubarbTart is a light object publishing web framework built on WSGI and Paste.

RhubarbTart is based on the CherryPy_ object publishing model.  It is light and
simple, using WSGI_ components from Paste_ to compliment the object publishing
system with other features typical of a web framework

.. _CherryPy: http://cherrypy.org
.. _WSGI: http://python.org/peps/pep-0333.html
.. _Paste: http://pythonpaste.org

"Eternal happiness is Rhubarb Tart" -- Martin Heidegger `via Monty Python
<http://mzonline.com/bin/view/Python/RhubarbTartSong>`_

The latest version is available in a `Subversion repository
<http://svn.rhubarbtart.org/RhubarbTart/trunk/#egg=RhubarbTart-dev>`_.

Quick Start
-----------

You must have Subversion installed to get the latest version of the
source and dependencies.

First install `easy_install
<http://peak.telecommunity.com/DevCenter/EasyInstall>`_: download
`ez_setup.py <http://peak.telecommunity.com/dist/ez_setup.py>`_ and
run it.

Then run::

    $ easy_install http://cheeseshop.python.org/packages/source/C/Cheetah/Cheetah-1.0.tar.gz
    $ easy_install -f http://rhubarbtart.org RhubarbTart PasteScript==dev
    $ paster create --template=rhubarbtart MyPackage
    $ cd MyPackage
    $ paster serve docs/devel_config.ini

Or you can use the `user tutorial`__ to get started. The tutorial works on a
starter project that shows a number of features of RhubarbTart

.. __: user-tutorial.html

Why another framework?
----------------------

RhubarbTart isn't a new framework, it is a combination of two existing
frameworks: the user-visible API and code structure of CherryPy, and
the infrastructure of Paste.  Recombining old pieces to make new
pieces is the exploration that is required to make evolutionary
progress.

Can I drop my CherryPy application into RhubarbTart and have it work?
---------------------------------------------------------------------

Probably not.  Though RhubarbTart uses the CherryPy names and methods
when possible, it does not implement all the features of CherryPy.
Most notably, filters are not implemented.  We hope that most filter
use can be replaced with decorators or WSGI middleware.

At the least, you'll have to replace all your imports of ``cherrypy``
with ``rhubarbtart``.  Also, the way an application is arranged into
files has changed.  If you do want to convert an application it is
recommended that you start with a fresh project to familiarize
yourself with the layout and then copy in pieces from the CherryPy
version of your application.

