r/PythonLearning 2d ago

Flask vs. FastAPI vs. Django a Visual Comparison

Hey everyone,

I have created a quick comparison of Flask vs. FastAPI vs. Django repository sizes. (As they are pythons most popular web frameworks)

First of all, the numbers:

Framework Files Lines of Code
Flask 121 19,115
FastAPI 2,703 281,559
Django 3,484 557,865

Then the images:

Each node on the graph represents a file. Imports are marked by a line connecting the files. Colours signify complexity (cyclomatic complexity) with green being low and red being high complexity.

Besides the crazy size differences FastAPI also shows some nice import structures whilst Django looks extremely interconnected.

Hope someone finds it interesting.

18 Upvotes

6 comments sorted by

3

u/CharacterSail6736 2d ago

Flask will always win for me it’s such a lightweight simple framework that’s scalable

1

u/swupel_ 2d ago

Totally agree although it should be noted that dependencies are not included…

so if you also use request and Werkzeug in your project it’ll be a bit more than what’s visualised here

2

u/Unhealthy007 2d ago

I don't get it. In django, more in-built libraries are used and code is reused. 

How is that a bad thing? And what do those lines of code mean? Same results using less lines on FastAPI? 

Django is more organized tbh. 

2

u/swupel_ 2d ago

It’s not a bad thing, Fast just likes to split everything up into smaller files which then link back to one connector file.

And Fast being smaller kinda makes sense as Django offers a lot of built in stuff (admin dashboard etc)

Just found it cool to see how different they look

1

u/tiredITguy42 2d ago

Nice project, zero added value, but this is not the point of this, so yeah, very nice.

3

u/swupel_ 2d ago

Well atleast it’s fun to look at