Werkzeug

The Swiss Army Knife For Python Web Developers

API Stability

Table of Contents

Werkzeug has not yet reached 1.0 and as a matter of fact some things might change over time. The following modules will very likely change in one of the next release versions:

werkzeug.contrib
The community-contributed modules are yet undocumented and we expect some upcoming changes there.

Backwards Incompatible Changes

0.3
  • Werkzeug 0.3 will be the last release with Python 2.3 compatibility.
  • The environ_property is now read-only by default. This decision was made because the request in general should be considered read-only.
0.2
  • The BaseReporterStream is now part of the contrib module, the new module is werkzeug.contrib.reporterstream. Starting with 0.3, the old import will not work any longer.
  • RequestRedirect now uses a 301 status code. Previously a 302 status code was used incorrectly. If you want to continue using this 302 code, use response = redirect(e.new_url, 302).
  • lazy_property is now called cached_property. The alias for the old name will disappear in Werkzeug 0.3.
  • match can now raise MethodNotAllowed if configured for methods and there was no method for that request.
  • The response_body attribute on the response object is now called data. With Werkzeug 0.3 the old name will not work any longer.
  • The file-like methods on the response object are deprecated. If you want to use the response object as file like object use the Response class or a subclass of BaseResponse and mix the new ResponseStreamMixin class and use response.stream.