Flask
A simple framework for building complex web applications.
Decision gist · record as of 2026-08-14
Yes. Flask is actively maintained, has no known vulnerabilities, installs with low friction, and is widely used in production. Choose it if you want a minimal, flexible framework where you control dependencies and architecture; avoid it if you need batteries-included defaults or prefer opinionated project structure.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low install friction with a wheel distribution available.
- Actively maintained with recent commits; the project is not archived and has substantial community engagement.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, requiring only preservation of copyright and license notices.
last release 2026-02-19 (176 days) · last repo commit 2026-08-11 · 72,187 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 211,412,737 downloads/mo, #195 on PyPI
Alternatives
Verify before relying
pip install flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run()- Whether the 7 runtime dependencies (blinker, click, importlib-metadata, itsdangerous, jinja2, markupsafe, werkzeug) are all automatically installed and their specific version constraints.
- Performance characteristics and scalability limits for production deployments at different request volumes.
What it is and what it does
Flask is a WSGI web framework that provides routing, request handling, and response generation for Python web applications. It wraps Werkzeug for HTTP utilities and Jinja for templating, offering a minimal core that developers extend with their choice of tools and libraries rather than enforcing a rigid project structure.
Developers use Flask to define routes as decorated Python functions, handle HTTP requests, and return responses. The framework is designed for quick prototyping but scales to complex applications through community extensions. It does not dictate database choices, authentication methods, or deployment patterns—those decisions remain with the developer.
Use it for
- Build REST APIs that respond to HTTP requests and return JSON or other data formats.
- Create server-rendered web applications with dynamic HTML templates using Jinja.
- Prototype web application ideas quickly with minimal boilerplate and configuration.
- Extend with community extensions to add authentication, database ORM, or form validation.
- Deploy microservices or single-purpose HTTP endpoints in production environments.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Flask is actively maintained, has no known vulnerabilities, installs with low friction, and is widely used in production. Choose it if you want a minimal, flexible framework where you control dependencies and architecture; avoid it if you need batteries-included defaults or prefer opinionated project structure.
Install
flask on PyPI
Before you install
Low install friction with a wheel distribution available. Actively maintained with recent commits; the project is not archived and has substantial community engagement.
Requires Python 3.9 or later.
License in practice
BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions, requiring only preservation of copyright and license notices.
Quickstart
pip install flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run()
Verify before relying
- Whether the 7 runtime dependencies (blinker, click, importlib-metadata, itsdangerous, jinja2, markupsafe, werkzeug) are all automatically installed and their specific version constraints.
- Performance characteristics and scalability limits for production deployments at different request volumes.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesblinkerclickimportlib-metadataitsdangerousjinja2markupsafewerkzeug |
| Maintenance | Actively maintained 176 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 211,412,737 / month, #195 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: FlaskIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonTopic :: Internet :: WWW/HTTP :: Dynamic ContentTopic :: Internet :: WWW/HTTP :: WSGITopic :: Internet :: WWW/HTTP :: WSGI :: ApplicationTopic :: Software Development :: Libraries :: Application FrameworksTyping :: Typed |
Evidence: flask-3.1.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “flask web development”
- FlaskFlask is a lightweight WSGI web application framework for building…
- flask-appbuilderFlask App Builder is a framework that generates database-backed web…
- flask-sockAdds WebSocket support to Flask applications without requiring…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also bottle · tool · WSME · serverless-wsgi · Flask-WTF · APIFlask · pecan · Flask-SQLAlchemy · Flask-Session