feat: hold emmett#22
Conversation
| "quadrant": "languages & frameworks", | ||
| "isNew": "FALSE", | ||
| "description": "Full stack web framework for Python" | ||
| "description": "Full stack web framework for Python. Used only for one svc, superseed by FastAPI" |
There was a problem hiding this comment.
so generally speaking, what libraries/frameworks are we considering for new python projects?
There was a problem hiding this comment.
🤔 Keep in mind that I have a pretty opinionated idea (that Oli knows, and if you want to know too ping me on slack ~ no need talk about it here) so the answer to your question is not really what I deeply think is beneficial for the company, but:
I would consider those 3 after a swot analysis of some kind:
- litestar - way more feature complete than fa, open governance instead of SPOF maintainer
- django + DRF - we have realistico made with it, VERY featureful, super integrated with everything. needs a bit of help from pycharm professional as it abuses
**kwargsand other type-absorbing signatures (but hey, python was supposed to be dynamic!)
those 2 are the probably most interesting choices. the point is to not reinvent the wheel like on zuul. the ratio businesslogic:boilerplate is out of this world in that project; FA is too stripped down to be useful for anything more than a couple of endpoints, better if without a db.
a distant third, and an interesting choice is
which promotes the best programming practices as you can use classical, generic patterns with it (controller classes with constructor-injected services wired manually at startup) instead of relying on fa magic "depends" and other crap. litestar suffers from "magic crap" too (inverting the IoC principle), but at least it's feature complete and offers more facilities to scale a project to more endpoints.
django has to be tested pretty much a la rails, integration heavy, but it has a tons of facilities so it's pretty easy and pliable too.
the choice is yours tho, and again...my real idea is another one :P
There was a problem hiding this comment.
thanks for the exhaustive explaination @giorgiovilardo!
I would suggest a quick sync chat on this topic, also with senior devs that usually work with python in casavo.
cc @pferretti
xpepper
left a comment
There was a problem hiding this comment.
@dottiOliviero what about splitting the change in two, one with Emmett put on HOLD (which I think we all may agree on) and discuss on what should replace it in any future Python project in a separate PR / discussion?
79d6806 to
39b41cb
Compare
No description provided.