Tipfy is a cute little Python framework for App Engine which follows the basic concepts of web.py and webapp. It is built on top of Werkzeug's WSGI utilities and is really small but powerful. See also other App Engine frameworks.
Aw, another microframework!
Well, yeah. But it is for a good cause. Tipfy serves as an example of how App Engine's webapp could be implemented using Werkzeug. It is in fact comparable to webapp in terms of startup cpu cost and overall speed, but also has some extra features:
- Sessions using secure cookies.
- Flash messages.
- Interactive debugger.
- Internationalization, as an optional extension.
- Use any template engine: Jinja2 and Mako extensions are included, but you can add your own and use whatever engine you prefer, really.
- Powerful and easier to use url routing system and url builder.
Tipfy was started to "fix" some webapp characteristics that are unfortunate (but, hey! webapp is nice). In special:
- Handlers don't need to be imported to be used in URL rules. They are lazily loaded by the WSGI Application.
- Handlers return a response object which is itself a WSGI application, instead of writing to a buffer.
- The requested method is dispatched by the handler, and not by the WSGI application. Handlers can implement different strategies to execute the requested action.
- Handlers receive parameters as keyword arguments instead of positional ones.
Okay, so how does it look like?
Take a look at the Hello, World! mini-tutorial.
Nice. I want more.
Documentation is a priority, but also a continuous work in progress. You can see what has been done so far in docs.tipfy.org.
Join the evolution
To talk about Tipfy, post to the Tipfy Group or drop some words at the #appengine IRC channel at freenode.org. See also our Roadmap.