On Mon, 2020-05-18 at 17:49 -0400, Lukas Fleischer wrote:
Everybody involved in these efforts seemed to prefer Flask [1] so far. It's a mature micro framework and has a relatively low barrier of entry.
I wouldn't be opposed to other framework, as long as it is mature and simple (rules out Django), but the obvious choice here seems to be Flask.
Being the default template engine for Flask, Jinja [2] is a natural choice. PHP and Python versions of base templates will co-exist. Despite the fact that these base templates are rarely modified and maintaining two copies will not involve significant extra work, it is beneficial to deduplicate as much as possible. With this in mind, a language agnostic engine such as mustache [3] might be an option worth considering. This is open for discussion.
Since we plan to entirely replace the PHP codebase with Python, and given the fact that we would still need to rewrite the existent templates in mustache, I would go for Jinja. We almost never touch the templates so the maintenance burden wouldn't be much, if any, so we really only have the porting effort to take into account.
As briefly discussed before, SQLAlchemy [4] will be used as database toolkit.
We will be using SQLAlchemy Core. I would like to potentially move to SQLAlchemy ORM in the future, but that would need to be discussed separately. Cheers, Filipe Laíns