Tech stack for Python aurweb

Baptiste Jonglez baptiste at bitsofnetworks.org
Tue Jun 2 13:07:21 UTC 2020


Hi,

While I don't plan to work on the new AUR, I have experience with both
Flask and Django.

I generally don't like the kind of comments that go "it would be nicer if
you do X and Y" from people that won't actually participate, but I still
feel it's relevant:

On 24-05-20, Ricardo Band wrote:
> I'm a python programmer for a while now and I really like the small
> size and simplicity of Flask. But let me give you one advice here.
> If you're dealing with a more complex application Flask tends to become
> more complex and very hard to manage. All of a sudden you integrate
> about 10 Flask addons. Some of them are not well maintained. Some
> droppen support for others etc.
> You have to manage all those dependencies.
> 
> Personally I prefer Django in more complex projects as it comes with
> everything included. You rarely have to add something to your
> dependencies.

I completely agree with this.

Flask is fantastic for simple projects.  But once you start adding users,
authentication, an admin panel, command-line scripts, and so on, it
quickly becomes a mess.  Django is much more structured, which is a big
advantage for complex projects.

Regarding databases and migrations, Django is much nicer to work with than
SQLAlchemy / Flask-SQLAlchemy.  For instance, with Flask-SQLAlchemy I've
had serious consistency issues between PostgreSQL and Sqlite, something
that I had never seen with Django.

Also, the Flask ecosystem is not exactly bustling with activity.  On the
positive side, this is because things are remarkably stable and working as
intended.  On the negative side, it means some amount of bit-rot and
unmaintained projects, although it's clearly not to the point of complete
disrepair.

> My personal rule of thumb is to use Flask for everything simple. When
> users are involved it immediatly becomes complex and I switch to
> Django.

Very nice rule of thumb indeed!

> So for example a small API without user database is good job for flask.
> A blog like app where I have to deal with users, registrations etc is a
> good job for Django.

With all that being said, if the people that will be developping the new
AUR don't know anything about Django, it would mean investing time to
learn Django.

Baptiste
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/aur-dev/attachments/20200602/f492428d/attachment.sig>


More information about the aur-dev mailing list