
Quart#
Quart is a Python web microframework. Using Quart you can,
render and serve HTML templates,
write (RESTful) JSON APIs,
stream request and response data,
do pretty much anything over the HTTP or WebSocket protocols.
With all of the above possible using asynchronous (asyncio) libraries/code or synchronous libraries/code.
If you are,
new to Python then start by reading Installation instructions,
new to Quart then try the Quickstart,
new to asyncio see the Introduction to asyncio guide,
migrating from Flask see Migration from Flask,
looking for a cheatsheet then look here.
Quart is an asyncio reimplementation of the popular Flask microframework API. This means that if you understand Flask you understand Quart. See Flask evolution to learn more about how Quart builds on Flask.
Like Flask Quart has an ecosystem of extensions for more specific needs. In addition a number of the Flask extensions work with Quart.
Quart is developed on GitLab. If you come across an issue, or have a feature request please open an issue.If you want to contribute a fix or the feature-implementation please do (typo fixes welcome), by proposing a merge request. If you want to ask for help try on gitter.
Note
If you can’t find documentation for what you are looking for here, remember that Quart is an implementation of the Flask API and hence the Flask documentation is a great source of help. Quart is also built on the Jinja template engine and the Wekzeug toolkit.
The Flask documentation is so good that you may be better placed consulting it first then returning here to check how Quart differs.
Tutorials#
- Tutorials
- Installation
- Quickstart
- Introduction to asyncio
- Developing with Quart
- Tutorial: A simple blog
- Tutorial: Websockets
- Tutorial: Broadcast Server Side Events
- Deploying Quart
- Tutorial: Asynchronous Progress Bar
- Tutorial: Using a Flask Extension
- Tutorial: Using HTTP/2
- Tutorial: Video
- Building a large application
How to guides#
- How to guides
- Background tasks
- Blueprints
- Custom Command Line Commands
- Configuration
- Detecting disconnection
- Customise the Event Loop
- Using Flask Extensions
- Migration from Flask
- JSON Encoding
- Logging
- Middleware
- Consuming the request body
- Routing
- Session Storage
- Startup and Shutdown
- Streaming response
- Run synchronous code
- Templates
- Testing
- Using Quart Extensions
- Using HTTP/2
- Using websockets