skip to navigation
skip to content

Not Logged In

fresco 0.3.6

A web micro-framework

Latest Version: 0.3.7


  • Improved startup time for apps with lots of middleware

  • fresco.context no longer copies values from the parent when setting up a new request context. This makes it easier for libraries using fresco.context to cache resources per-request.

  • Bugfix for FrescoApp.requestcontext, which was creating duplicate context frames.

  • FrescoApp.view_finished signal now passes the request object to subscribers

  • Route objects can now take a tuple of positional args to pass to views:

    Route(POST, '/contact', args=('',))
  • The route class used by RouteCollection is now configurable, allowing apps to define custom routing classes.

  • fresco.routearg.RouteKwarg has been renamed to RouteArg and now works for positional arguments via Route(..., args=...)

  • Request.make_url now accepts two new optional arguments, query_add and query_replace. This facilitates building urls based on the current query string with selected values added or replaced.

  • Bugfix: improperly encoded paths now cause a 400 bad response to be returned rather than raising UnicodeDecodeError


  • FrescoApp.requestcontext() now invokes all registered middleware. This can be useful for testing views that rely on middleware to set environ keys or provide other services
  • RouteArg classes have been expanded and are now in a separate module, fresco.routeargs


  • Bugfix: Request.form was not handling unicode data in GET requests correctly
  • fresco.core.request_class has been moved to FrescoApp.request_class
  • Route arguments can take default arguments for url generation
  • Added tox for testing: fresco is now tested and works with Python 2.6, 2.7, 3.2 and 3.3


  • Bugfix: Request.make_url was double quoting URLs in some circumstances


  • Improved handling for ResponseExceptions raised during route traversal


  • Bugfix: routing arguments were being incorrectly converted to bytestrings in python2
  • Bugfix: urlfor works correctly with dynamic routes


Note that upgrading to this version will require changes to your application

  • View functions are no longer passed a request object as a positional argument
  • The syntax used to reference views by name has changed from urlfor('mymodule:view') to urlfor('mymodule.view').
  • Routing: named routes are now supported, eg Route('/', GET, myview, name='homepage'). These can later be accessed by eg urlfor('homepage'). The old route tagging facility has been removed.
  • Routing: Support for delegating paths to other routeable objects
  • fresco.exceptions.NotFoundFinal has been replaced by NotFound(final=True)
  • Experimental Python 3 support


  • Bugfix: setting the logger property on a FrescoApp no longer causes errors


  • FrescoApp objects now have an options dictionary for application level settings
  • Added serve_static_file function
  • Added support for signals with blinker
  • urlfor now requires fully qualified module names if called with a string argument


  • Bug: URL generation broken when HTTP_HOST does not contain port number


  • Bugfixes for beaker session support and broken URL generation when 'X-Forwarded-SSL: off' header supplied


  • Removed dependency on Pesto

0.1 (unreleased)

File Type Py Version Uploaded on Size
fresco-0.3.6.tar.gz (md5) Source 2014-01-02 65KB
  • Downloads (All Versions):
  • 45 downloads in the last day
  • 159 downloads in the last week
  • 1048 downloads in the last month