Flask

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

Framework
PyPI
v3.1.3
75,030 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
83 /100 Excellent
Development Activity 76
Maintenance 60
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

C#
42%
MIT

FeatBit

Developer Tools · Devops

1,946

Self-hosted, enterprise-grade feature flag platform for safe, targeted, and data-driven feature releases.

View details
90
Repo Health
78
Technical
69
Dependency
Built with
C# 42%
TypeScript 41%
Updated 5 days ago
Python
83%
MIT

Gemma Multimodal Fine-Tuner

AI Development

1,516

An Apple-Silicon-native LoRA fine-tuning tool for Gemma on text, image, and audio data — with a wizard CLI, live browser-based training visualizer, and streaming from GCS/BigQuery for datasets too large for local disk.

View details
60
Repo Health
68
Technical
72
Dependency
Built with
Python 83%
Updated 3 weeks ago
TypeScript
71%
Other

highlight.io

Analytics · Developer Tools · Monitoring

9,384

Open-source full-stack monitoring that unifies session replay, error tracking, logging, and distributed tracing so you can stop context-switching between tools.

View details
76
Repo Health
78
Technical
65
Dependency
Built with
TypeScript 71%
Go 16%
Updated 6 days ago
Python
55%
MIT

LibrePhotos

File Storage

8,111

Self-hosted photo library with AI-powered face recognition, semantic search, and automatic event albums — no cloud required.

View details
84
Repo Health
78
Technical
66
Dependency
Built with
Python 55%
TypeScript 43%
Updated 5 days ago
Python
67%
AGPL 3.0

MiroFish

AI Agents · AI Development

81,570

A universal swarm intelligence engine that spawns thousands of autonomous AI agents to simulate and predict how real-world events unfold across social, financial, and political domains.

View details
65
Repo Health
65
Technical
79
Dependency
Built with
Python 67%
Vue 33%
Updated 1 weeks ago
Python
58%
Apache 2.0

MLflow

AI Development · Monitoring

28,512

The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.

View details
96
Repo Health
86
Technical
67
Dependency
Built with
Python 58%
TypeScript 35%
Updated 5 days ago
Python
58%
Apache 2.0

MLflow

AI Development · Monitoring

28,512

The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.

View details
96
Repo Health
86
Technical
67
Dependency
Built with
Python 58%
TypeScript 35%
Updated 5 days ago
Go
99%
Apache 2.0

Okteto

Developer Tools · Devops

3,554

Develop applications directly inside your Kubernetes cluster with real-time file sync and instant hot-reload — no more docker build/redeploy cycles.

View details
91
Repo Health
79
Technical
69
Dependency
Built with
Go 99%
Updated 6 days ago
TypeScript
26%
AGPL 3.0

Omnivore

Bookmarks Archiving · Knowledge Management · Note Taking

16,356

Self-hosted read-it-later platform with highlights, newsletters, PDFs, and seamless Obsidian and Logseq integration.

View details
90
Repo Health
74
Technical
65
Dependency
Built with
TypeScript 26%
JavaScript 24%
HTML 20%
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