Flask

A lightweight WSGI web framework for Python that scales from a single file to complex applications.

Framework
PyPI
v3.1.3
74,802 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
81 /100 Excellent
Development Activity 72
Maintenance 56
Community 96
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
90 /100 Excellent
Architecture 90
Code Quality 92
Innovation 88
Learning Curve 90

Flask is a lightweight WSGI web application framework for Python, built as a thin, well-composed layer over Werkzeug (WSGI, routing, request/response) and Jinja (templating). It is designed to make getting started quick and easy while giving you the freedom to scale up to complex applications on your own terms.

Unlike batteries-included frameworks, Flask deliberately makes no assumptions about your database, project layout, or tooling. It gives you a solid core - routing, request context, sessions, blueprints, and a CLI - and lets you assemble the rest from a rich ecosystem of community extensions, making it a popular choice for everything from small services to large production applications.

What You Get

  • A decorator-based routing system built on Werkzeug for mapping URLs to Python view functions
  • Request and response objects with context globals (request, session, g) that stay thread- and coroutine-safe
  • Blueprints for splitting a large application into reusable, modular components
  • Integrated Jinja templating with automatic HTML escaping and template context helpers
  • A built-in CLI (flask run, flask shell) plus a development server, and a test client for writing tests

Common Use Cases

  • Building REST and JSON APIs for web and mobile clients
  • Serving server-rendered web applications with Jinja templates
  • Prototyping services quickly in a single file before scaling up
  • Backing microservices where you want a minimal, unopinionated core

Under The Hood

Architecture - Flask centers on the Flask application object in src/flask/app.py, which subclasses the shared App scaffold in src/flask/sansio/app.py and drives the WSGI callable. Incoming requests are dispatched through Werkzeug’s routing map to registered view functions, while an application and request context stack (src/flask/ctx.py) pushes context-local proxies - request, session, and g from src/flask/globals.py - for the duration of each request. Blueprints (src/flask/blueprints.py, src/flask/sansio/blueprints.py) let large apps register routes and resources modularly, and a sansio layer cleanly separates protocol-agnostic logic from WSGI-specific I/O.

Tech Stack - Flask is pure Python (requires 3.10+) and stands on four Pallets dependencies declared in pyproject.toml: Werkzeug (WSGI, routing, request/response), Jinja2 (templating), Click (the CLI), itsdangerous (signed sessions), blinker (signals), and MarkupSafe (escaping). Optional extras add asgiref for async views and python-dotenv for env loading. The project builds with Flit, pins its dev toolchain via uv (uv.lock), lints with Ruff, and tests across environments with tox.

Code Quality - The codebase is fully type-annotated (ships py.typed), consistently structured, and backed by a substantial pytest suite of 41 test modules under tests/ covering routing, contexts, blueprints, sessions, async, CLI, and templating. Pre-commit hooks, Ruff formatting/linting, and a dedicated type-check suite enforce quality, and the module layout keeps concerns well separated across small focused files.

API Design - Flask’s public API is a model of ergonomics: a five-line app.py with @app.route gets you a running server, and the surface grows predictably through decorators, blueprints, and app config. Naming is consistent and intention-revealing, the official documentation is thorough with a tutorial and worked examples (examples/tutorial, examples/celery), and the framework asks for almost no boilerplate to start while staying explicit about how requests flow.

Used by 30 apps in this directory

Python
99%
MIT

Agent Lightning

AI Development

18,515

A Microsoft-built training framework that optimizes AI agents with reinforcement learning, automatic prompt optimization, or supervised fine-tuning — with near-zero code changes to your existing agent, in any framework.

View details
85
Repo Health
68
Technical
69
Dependency
Built with
Python 99%
Updated 4 days ago
Python
99%
MIT

Agent Lightning

AI Development

18,515

A Microsoft-built training framework that optimizes AI agents with reinforcement learning, automatic prompt optimization, or supervised fine-tuning — with near-zero code changes to your existing agent, in any framework.

View details
85
Repo Health
68
Technical
69
Dependency
Built with
Python 99%
Updated 4 days ago
Python
89%
Apache 2.0

Apache Airflow

Data Engineering

46,995

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
64
Dependency
Built with
Python 89%
Updated 4 days ago
TypeScript
49%
AGPL 3.0

Banana Slides

AI Design Tools · Productivity

15,667

AI-native PPT generator with Vibe editing, multi-LLM support, and fully editable PPTX export

View details
84
Repo Health
82
Technical
71
Dependency
Built with
TypeScript 49%
Python 46%
Updated 5 days ago
Python
82%
MIT

CertMate

Devops · Security

1,435

Automate SSL certificate lifecycle across any CA, 24+ DNS providers, and every major secret store — with a REST API, web dashboard, and built-in MCP server for AI-driven ops.

View details
83
Repo Health
84
Technical
70
Dependency
Built with
Python 82%
Updated 5 days ago
Python
79%
Apache 2.0

changedetection.io

Monitoring

34,605

Self-hosted website change detection with AI-powered smart alerts, browser automation, price tracking, and 85+ notification channels.

View details
91
Repo Health
80
Technical
68
Dependency
Built with
Python 79%
Updated 1 weeks ago
TypeScript
84%
Apache 2.0

Continue

AI Code Assistants · AI Development · Automation

36,049

Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.

View details
73
Repo Health
88
Technical
62
Dependency
Built with
TypeScript 84%
Updated 5 days ago
TypeScript
50%
Other

Dify

AI Development · Design Tools · Developer Tools

157,364

Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.

View details
92
Repo Health
85
Technical
66
Dependency
Built with
TypeScript 50%
Python 47%
Updated 4 days ago
Go
49%
MIT

Dokku

Devops · Hosting Control Panel

32,162

The smallest PaaS implementation you've ever seen — deploy apps via git push using Docker and Heroku buildpacks on your own server.

View details
92
Repo Health
85
Technical
66
Dependency
Built with
Go 49%
Shell 48%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers