quality-time icon indicating copy to clipboard operation
quality-time copied to clipboard

Use FastAPI instead of Bottle for the internal server

Open Hedde opened this issue 4 years ago • 4 comments

Replacing Bottle with FastAPI might be an interesting tech improvement, because it will allow us to lift the features of python 3.6+ (e.g. asyncio) and it's type declaration support.

Blocked by #2961.

Hedde avatar Jul 23 '19 06:07 Hedde

You may also want to have a look at Sanic - https://sanic.readthedocs.io

eric-nieuwland avatar Aug 30 '19 08:08 eric-nieuwland

Ref: https://fastapi.tiangolo.com/alternatives/#sanic

Hedde avatar Oct 31 '19 20:10 Hedde

Assumption: only the collector uses the internal API and there are two endpoints. The collector and notifier also use and keep using the public API (e.g. to get the data model).

New component name: internal-server. The server component name remains unchanged.

The collector needs extra environment variables for the internal API component.

Remove internal/ from the endpoints.

Use FastAPI instead of Bottle.

Update software docs, including components.dot.

Note: This results in a new major version of Quality-time since the composition changes.

Out of scope:

  • making the collector and notifier talk to the internal-server exclusively.
  • simpler version of the datamodel endpoint to retrieve the latest version of the data model only.

fniessink avatar Aug 25 '21 15:08 fniessink

Blocked by #2960.

fniessink avatar Dec 01 '21 15:12 fniessink