Our take
- Activity
- 71
- Community
- 87
- Issues
- 91
- Pull requests
- 72
+1 stars in the last 30 days
- Closes issues faster than 82% of the projects we track
- More contributors than 78% of the projects we track
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
6,880Forks
1,877Change since Nov 9, 2026: -1 stars·0 forks
Overview
Werkzeug provides the building blocks for Python web applications that use WSGI, the standard interface between Python web servers and applications. It handles common HTTP and application tasks, so developers can focus on their own application logic rather than implementing those utilities themselves.
Use it directly when you want to assemble an application from flexible components. It is also the WSGI foundation used by Flask, which adds more structure for application development.
Key Features
- Request and response objects for working with HTTP data, including headers, query arguments, forms, files, and cookies.
- URL routing that matches requests to endpoints and generates URLs.
- HTTP utilities for tasks such as managing cache control, entity tags, dates, and cookies.
- An interactive debugger for inspecting stack traces and source code in a browser.
- A test client for simulating requests without starting a server.
- A threaded WSGI server for local development.
- Response support for wrapping WSGI applications and streaming data.
Use Cases
- Build a small WSGI application directly when you want control over its components and behavior.
- Add HTTP request handling, routing, or response utilities to an existing WSGI project.
- Test application endpoints with simulated requests without running a server.
- Use Werkzeug as the WSGI layer in a more structured framework such as Flask.
Getting Started
Install Werkzeug with pip:
pip install Werkzeug
See the README and official documentation for usage details.
Considerations
Werkzeug is a low-level library, not a complete application framework. It does not prescribe a template engine, database adapter, or application structure, so developers must select and integrate those pieces themselves. The README describes its development server as intended for local development.
Found this useful?
Share it with someone who would like werkzeug.