I'm pleased to announce the first public release of gizmo(qp). Gizmo extends the QP Web Framework (that by default uses Durus for persistence), adding functionality to help with building rich and exacting web interfaces. Key features include: - Unburden pages from the tasks of access control, templating, and generation of contextual (where, who) navigational data. These are taken care of independently & externally from the page. - A DHTML Information class, that is contributed to by all participants of a response, making complex DHTML pages easier to build and debug. - Gizmos, that are user interface objects with client-side behaviour and interaction. The gizmo api is a simple pattern for encapsulating user interface objects that know how to cooperatively participate in the page generation process. - Gizmo Form, that supports automatic generation of redundant client-side field validation as well as an additional json callback for a field (when the field's validation logic requires server-side business logic or data). A by-product of Gizmo Form is a simplified JavaScript version of the generic spec python module, included in QP. - Skins, in particular the GTi Skin, that supports format-agnostic template files that may embed python expressions. GTi templates may also liberally pull() in bits and pieces of other templates (or content files, source code, or any textual source). This feature is really handy for technical sites, with content that makes frequent references to *live* code. - Built-in Form Login, User Registration, and User Admin facilities. - Comprehensive demo, also available live. URL: http://gizmojo.org/