Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

pallets/flask

Developer Tools

A lightweight WSGI Python web framework for building web apps, from quick prototypes to larger applications.

75,112
17,316
Python
BSD-3-Clause
16 years old

Overview

Flask is a lightweight WSGI web application framework for Python, built on top of Werkzeug and Jinja. It is intended to make small apps quick to start while allowing the codebase to grow into more complex applications. Unlike batteries-included frameworks, it gives suggestions rather than enforcing a dependency set or a project layout, so developers pick their own libraries, and community extensions fill in extras.

It suits Python developers who want a minimal starting point and control over the stack, and it works for both small services and larger applications when organized appropriately.

Quick start

One way to try it is to install Flask with pip in a suitable Python environment, then create app.py as shown in the README's simple example:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

Set the entry point for the CLI and run the development server:

$ flask --app app run
  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

The README's example assumes the file can be discovered by flask run; naming the app explicitly with --app avoids ambiguity. Open the printed address in a browser to see Hello, World!. Full installation and deployment details live in the official documentation.

Usage constraints

Flask is a WSGI framework, so it runs under a WSGI server; the flask run command is meant for development. Python version support and release changes are documented in the project's change notes. The framework does not prescribe a project layout or dependency set, so dependency pinning and application structure are the developer's responsibility — a point raised during the 2022 dependency breakage discussion. The code is licensed under BSD-3-Clause.

HotRepo's take

On 2026-11-12 the repository appeared at position 8 on the Python daily list with 61 stars gained that day, against a total around 75k stars. Historical Hacker News threads trace notable release moments: the Flask 2.0.0 merge drew 150 points and 53 comments, including discussion of type hints landing and of readers who had moved to alternatives like FastAPI, while others defended Flask's small, flexible design. A separate 2022 dependency breakage thread shows that unpinned transitive dependencies caused failures for older Flask projects, a practical reminder that the framework deliberately leaves version management to the developer.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

Flask 2.0.0 has been merged into master
▲ 150 · 53 comments · May 12, 2021
Flask 2 Coming soon with Async Support
▲ 7 · 3 comments · April 23, 2021
Flask fails after itsdangerous module’s update
▲ 5 · 3 comments · February 18, 2022

You might also like

  1. angular/angularA TypeScript-based platform and CLI for building mobile and desktop web applications.TypeScript101,133