Introduction
============


Propeller is a lightweight, open source HTTP framework written in Python and focuses on quickly writing web apps with minimal effort. Propeller relies on `Jinja2 <http://jinja.pocoo.org/docs/>`_ for templating. It's pretty fast, too. Propeller is BSD-licensed.

Propeller doesn't get in your way. It provides a fast, lightweight framework that handles the low level stuff, but doesn't impose object-relational mappers, form validation, upload handling or the like. That's all up to you.


Features
--------

- A lightweight, standalone web server that automatically reloads code during development
- RESTfully dispatches requests to :ref:`request-handlers`


Hello world example
-------------------

The following code example is the canonical "Hello world" program in Propeller::

    from propeller import Application, RequestHandler, Response

    class HomeHandler(RequestHandler):
        def get(self, request):
            return Response('Hello world')

    a = Application([
        (r'^/', HomeHandler),
    ])

    if __name__ == '__main__':
        a.run()

Save the file as ``hello.py`` and start your app::

    python hello.py
