Flask Stayed Over Seventy-One Thousand Stars Because Python Developers Love Having a Web Framework Small Enough to Understand and Flexible Enough Not to Fight Back
Flask has about 71,580 GitHub stars and remains one of Python’s most searched frameworks. This guide explains what Flask is for, how to build a tiny service, and how to deploy it with Gunicorn and Docker.
The blunt version is still useful: Flask stayed big because many developers do not want a framework that makes every decision for them. They want one that gets out of the way until the app proves it deserves more machinery.
GitHub shows Flask at roughly 71,580 stars, which is what happens when a micro-framework becomes the default answer to “I need a Python web service right now.”
What Flask is for
Flask is excellent for:
- small APIs
- internal tools
- webhooks
- prototypes
- Python services where you want control over architecture
Its value comes from staying small.
Start a Flask app
python -m venv .venv
source .venv/bin/activate
pip install flaskCreate app.py:
from flask import Flask, jsonify
app = Flask(__name__)
@app.get("/health")
def health():
return jsonify({"ok": True, "framework": "flask"})Run it:
flask --app app runWhy Flask stayed relevant
Flask solved an enduring need:
- low ceremony
- explicit architecture
- quick startup
- extension ecosystem
- easy mental model
That is why it remains so widely taught and used.
How to deploy it
Gunicorn
pip install gunicorn
gunicorn app:app --bind 0.0.0.0:8000Docker
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8000"]Then:
docker build -t my-flask-app .
docker run -p 8000:8000 my-flask-appWhat it solved
Flask kept proving that “small” is not the same as “toy.” It gave Python developers a framework that scaled from quick scripts to real services without forcing a giant architectural commitment on day one.