pallets

Flask is a lightweight Python WSGI web framework that makes it quick to build web applications with minimal setup while scaling smoothly to complex apps.

3.1.3
Published at
Feb 19, 2026
74,969
Stars
4,886
Download
Synced at
8d ago

The author no longer ships through GitHub Releases, but the repository is still active (last push 21d ago). Get the latest version from: Project homepage

Latest release

3.1.3Feb 19, 2026, 05:01 AM
Downloads slow? Switch the source anytime above

README

Project Overview

Flask is a lightweight Python web framework built on the WSGI standard, designed to make getting started quick and easy while scaling up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web frameworks. Flask enforces no dependencies or project layout, letting developers choose their own tools, with a rich community extension ecosystem for added functionality.

Item Value
Language Python
Type Web framework (WSGI)
Core components Werkzeug, Jinja
License BSD-3-Clause

Start small and grow into complex systems without extra burden.

Key Features

  • Lightweight core: keeps only routing and request handling at its heart, everything else optional
  • Route decorators: map URLs to Python functions with dynamic parameter support
  • Templating: integrates the Jinja2 engine with template inheritance and filters
  • Dev server: built-in development server runs locally with one command
  • Debug mode: clear error pages with hot reload
  • Extension ecosystem: databases, auth, and forms come from community extensions
  • Flexible layout: no forced project structure, works for single-file scripts or multi-module apps

Target Audience

  • Python beginners
  • Developers who need quick web services and APIs
  • Microservice and small tool builders
  • Teams that value architectural freedom

Quick Start

  1. Install Flask: pip install flask
  2. Create app.py with a minimal app
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'
  1. Start the dev server: flask run
  2. Open http://127.0.0.1:5000/ in a browser

Core Advantages

  • Easy to start: a working web app in a few lines of code
  • Freedom of choice: no bundled database or ORM, assemble your own stack
  • Excellent docs: official documentation and community tutorials cover everything
  • Mature ecosystem: countless third-party extensions for common web needs

System Requirements

Item Requirement
Language Python 3.9+
OS Linux, macOS, Windows
Architecture matches the Python runtime

Notes

  • Dev server only: the built-in server is for development; use a WSGI server like Gunicorn in production
  • Bring your own extensions: database migrations and auth require separate extension packages
  • Version upgrades: major releases may change APIs, check the official migration notes first

Release history

Sort