I've decided I'm going to stick with Python as my language of choice as I have become fairly proficient with it and it does allow you to get things up and running pretty quickly.
I was tempted to try out Golang for this as I have heard that it is well suited to api's/services. I decided against that in the end opting for something that I already know. This comes back round to the whole idea of trying to actually get something completed.
Async or not to Async that is the question.
I've been really tempted to start off with this but I have now decided against it. At the moment of writing there are only some of the Flask Plugins which are guaranteed to work with Quart and I think picking a framework that is still in its infancy could also end up tripping me back in the long run for the benefit of potentially getting some speed increases.
This seems to scream out the old adage "premature optimisation is the root of all evil".
Secondly from what I can see at the moment there doesn't seem to be a great story on using the SQLAlchemy ORM with async which would be the main usecase/potential speed increase for asycn and await.
Some of these are:
- Built in OpenAPI Spec Documentation generation.
- Response Marshalling.
- Request Parsing.
That's my overall starting point with this project, who knows what additional plugins/tools I will venture towards later on.