ANNOUNCE: Quixote 0.4 released

Greg Ward
Wed, 3 Oct 2001 23:10:21 -0400

Quixote 0.4 is now available for download from:

Quixote is yet another framework for developing Web applications in
Python.  The design goals were:

  1) To allow easy development of Web applications where the
     accent is more on complicated programming logic than
     complicated templating.

  2) To make the templating language as similar to Python as possible,
     in both syntax and semantics.  The aim is to make as many of the
     skills and structural techniques used in writing regular Python
     code applicable to Web applications built using Quixote.

  3) No magic.  When it's not obvious what to do in
     a certain case, Quixote refuses to guess.

If you view a web site as a program, and web pages as subroutines,
Quixote just might be the tool for you.  If you view a web site as a
graphic design showcase, and each web page as an individual work of art,
Quixote is probably not what you're looking for.

Quixote was primarily written by Andrew Kuchling, Neil Schemenauer, and
Greg Ward ({akuchlin,nascheme,gward}

Apart from all the code changes (see below), the documentation has been
greatly expanded and revised in Quixote 0.4.


* TraversalError now takes a public and a private message,
  instead of just a single message string.  The private
  message is shown if SECURE_ERRORS is false; otherwise,
  the public message is shown.  See the class docstring for
  TraversalError for more details.

* Add the Quixote Form Library, a basic form and widget framework
  for HTML.

* Allow classes and functions inside PTL modules.

* Return a string object from templates rather than a TemplateIO

* Improve the security of session cookies.

* Don't save empty sessions.

* Detect expired sessions.

* Add the quixote.sendmail module, useful for applications
  that need to send outgoing mail (as many web apps do).

* Code reorganization -- various modules moved or renamed:
    quixote.util.fcgi        -> quixote.fcgi
    quixote.compile_template -> quixote.ptl_compile
    quixote.imphooks         -> quixote.ptl_import
    quixote.dumpptlc         -> quixote.ptcl_dump

* More code reorganization: the quixote.zope package is
  gone, as are the BaseRequest and BaseResponse modules.  Only
  HTTPRequest and HTTPResponse survive, in the
  quixote.http_request and quixote.http_response modules.  All
  remaining Zope-isms have been removed, so the code now looks
  much like the rest of Quixote.  Many internal interfaces

* Added the quixote.mod_python module, contributed by
  Erno Kuusela <>.  Allows Quixote applications
  to be driven by the Apache module mod_python, so no CGI
  or FastCGI driver script is required.

Greg Ward - software developer      
MEMS Exchange