skillfed

Quart

A Python ASGI web framework with the same API as Flask

quart v0.21.0 3.7M downloads/30d#2,534 on PyPI3,657
Permissive license MIT Active released

What it is and what it does

Quart is an async reimplementation of Flask that lets you build modern Python web applications using async/await syntax. It handles HTTP requests, WebSocket connections, template rendering, and JSON APIs using an ASGI server (Hypercorn by default). If you know Flask, Quart's API will feel familiar—the main difference is that route handlers and related functions are async, allowing non-blocking I/O throughout your application.

Quart sits in the top 5000 PyPI packages by download volume and has been actively maintained since 2017. It depends on Flask, Werkzeug, Jinja2, and other stable libraries from the Pallets ecosystem, plus Hypercorn for async serving. The framework is typed and targets current Python versions (3.11+), making it suitable for new projects that need async capabilities without learning an entirely different web framework.

Use it for:

  • Build async REST APIs that handle concurrent requests efficiently without blocking.
  • Serve real-time WebSocket connections for chat, notifications, or live data feeds.
  • Migrate existing Flask applications to async by adding await keywords and using Quart's compatible API.
  • Render HTML templates asynchronously in a web application with async database or I/O operations.
  • Stream large request or response bodies without loading them entirely into memory.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Quart is an async Python web framework that mirrors Flask's API, enabling you to build async HTTP and WebSocket applications with template rendering, JSON APIs, and streaming support.

Yes. Quart is actively maintained, has low install friction, carries no security vulnerabilities, and uses a permissive MIT license. It's a solid choice if you need async web capabilities and prefer Flask's familiar API over learning a different framework. The main constraint is the Python 3.11+ requirement.

Install

quart on PyPI

pip

pip install quart

uv

uv add quart

poetry

poetry add quart

Installing Quart

Before you install

Low friction install with a pure-Python wheel. Active maintenance with a recent release (22 days ago) and steady repository activity. Depends on established web libraries like Flask, Werkzeug, and Hypercorn, all of which are well-maintained.

License in practice

MIT license is permissive and imposes no significant restrictions on use, modification, or distribution in most contexts.

Quickstart

pip install quart

from quart import Quart, render_template

app = Quart(__name__)

@app.route("/")
async def hello():
    return await render_template("index.html")

if __name__ == "__main__":
    app.run()

Requires Python 3.11 or later.

Verify before relying

  • Extent of Flask extension compatibility beyond what the description states.
  • Performance characteristics and scalability limits compared to other async frameworks.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 9 — aiofiles, blinker, click, flask, hypercorn, itsdangerous, jinja2, markupsafe, werkzeug
Maintenance actively maintained — 22 days since the last release
Last repo commit
First released
Downloads 3,668,288/month — #2,534 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: quart-0.21.0-py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: Web EnvironmentFramework :: FlaskIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonTopic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Software Development :: Libraries :: Application FrameworksTyping :: Typed

Tags

async python web frameworkflask-like async web serverpython asgi frameworkasync websocket serverasync rest api frameworkpython async http frameworkasync template rendering web app
async-web-frameworkwebsocket-supportflask-compatible

More Application Frameworks packages