Abandoning Flask for FastAPI

Trifat
4 min readDec 14, 2020

Photo by Guillaume Jaillet on Unsplash

https://edit.dialogic.com/vpx/c-v-a1.html
https://edit.dialogic.com/vpx/c-v-a2.html
https://edit.dialogic.com/vpx/c-v-a3.html
https://edit.dialogic.com/vpx/c-v-a4.html
https://www.atlanticcitynj.com/rex/c-v-a1.html
https://www.atlanticcitynj.com/rex/c-v-a2.html
https://www.atlanticcitynj.com/rex/c-v-a3.html
https://www.atlanticcitynj.com/rex/c-v-a4.html
https://www.atlanticcitynj.com/rex/c-v-b3.html
https://www.atlanticcitynj.com/rex/c-v-b2.html
https://www.atlanticcitynj.com/rex/c-v-b1.html
https://edit.dialogic.com/vpx/c-v-b3.html
https://edit.dialogic.com/vpx/c-v-b2.html
https://edit.dialogic.com/vpx/c-v-b1.html
https://edit.dialogic.com/vpx/c-v-a7.html
https://edit.dialogic.com/vpx/c-v-a6.html
https://edit.dialogic.com/vpx/c-v-a5.html
https://edit.dialogic.com/vpx/c-v-a7.html
https://edit.dialogic.com/vpx/c-v-a6.html
https://edit.dialogic.com/vpx/c-v-a5.html
https://edit.dialogic.com/vpx/video-fukunaga-v-nakagawa-live-jp-tv1.html
https://edit.dialogic.com/vpx/video-fukunaga-v-nakagawa-live-jp-tv2.html
https://edit.dialogic.com/vpx/video-fukunaga-v-nakagawa-live-jp-tv3.html
https://edit.dialogic.com/vpx/video-fukunaga-v-nakagawa-live-jp-tv4.html
https://edit.dialogic.com/vpx/video-fukunaga-v-nakagawa-live-jp-tv5.html
https://edit.dialogic.com/vpx/video-women-v-open-live-jp-tv1.html
https://edit.dialogic.com/vpx/video-women-v-open-live-jp-tv2.html
https://edit.dialogic.com/vpx/video-women-v-open-live-jp-tv3.html
https://edit.dialogic.com/vpx/video-women-v-open-live-jp-tv4.html
https://edit.dialogic.com/vpx/video-women-v-open-live-jp-tv5.html
https://www.atlanticcitynj.com/rex/video-fukunaga-v-nakagawa-live-jp-tv1.html
https://www.atlanticcitynj.com/rex/video-fukunaga-v-nakagawa-live-jp-tv2.html
https://www.atlanticcitynj.com/rex/video-fukunaga-v-nakagawa-live-jp-tv3.html
https://www.atlanticcitynj.com/rex/video-fukunaga-v-nakagawa-live-jp-tv4.html
https://www.atlanticcitynj.com/rex/video-fukunaga-v-nakagawa-live-jp-tv5.html
https://www.atlanticcitynj.com/rex/video-women-v-open-live-jp-tv1.html
https://www.atlanticcitynj.com/rex/video-women-v-open-live-jp-tv2.html
https://www.atlanticcitynj.com/rex/video-women-v-open-live-jp-tv3.html
https://www.atlanticcitynj.com/rex/video-women-v-open-live-jp-tv4.html
https://www.atlanticcitynj.com/rex/video-women-v-open-live-jp-tv5.html
https://edit.dialogic.com/vpx/video-s-v-a1.html
https://edit.dialogic.com/vpx/video-s-v-a2.html
https://edit.dialogic.com/vpx/video-s-v-a3.html
https://edit.dialogic.com/vpx/video-s-v-a4.html
https://edit.dialogic.com/vpx/video-s-v-a5.html
https://edit.dialogic.com/vpx/video-s-v-a6.html
https://edit.dialogic.com/vpx/video-s-v-b1.html
https://edit.dialogic.com/vpx/video-s-v-b2.html
https://edit.dialogic.com/vpx/video-s-v-b3.html
https://www.atlanticcitynj.com/rex/video-s-v-a1.html
https://www.atlanticcitynj.com/rex/video-s-v-a2.html
https://www.atlanticcitynj.com/rex/video-s-v-a3.html
https://www.atlanticcitynj.com/rex/video-s-v-a4.html
https://www.atlanticcitynj.com/rex/video-s-v-a5.html
https://www.atlanticcitynj.com/rex/video-s-v-a6.html
https://www.atlanticcitynj.com/rex/video-s-v-b1.html
https://www.atlanticcitynj.com/rex/video-s-v-b2.html
https://www.atlanticcitynj.com/rex/video-s-v-b3.html
https://edit.dialogic.com/vpx/video-gol-usa-liv3.html
https://edit.dialogic.com/vpx/video-gol-usa-liv4.html
https://www.atlanticcitynj.com/rex/video-gol-usa-liv1.html
https://www.atlanticcitynj.com/rex/video-gol-usa-liv2.html
https://edit.dialogic.com/vpx/video-fuk-v-nak-box-liv1.html
https://edit.dialogic.com/vpx/video-fuk-v-nak-box-liv2.html
https://edit.dialogic.com/vpx/video-fuk-v-nak-box-liv3.html
https://www.atlanticcitynj.com/rex/video-fuk-v-nak-box-liv4.html
https://www.atlanticcitynj.com/rex/video-fuk-v-nak-box-liv5.html
https://edit.dialogic.com/vpx/video-a-v-a1.html
https://edit.dialogic.com/vpx/video-a-v-a2.html
https://edit.dialogic.com/vpx/video-fu-v-na-liv-jp.html
https://edit.dialogic.com/vpx/video-us-v-wm-liv-jp1.html
https://www.atlanticcitynj.com/rex/video-a-v-a1.html
https://www.atlanticcitynj.com/rex/video-a-v-a2.html
https://www.atlanticcitynj.com/rex/video-fu-v-na-liv-jp.html
https://www.atlanticcitynj.com/rex/video-us-v-wm-liv-jp1.html
https://edit.dialogic.com/vpx/video-d-v-p1.html
https://edit.dialogic.com/vpx/video-d-v-p2.html
https://edit.dialogic.com/vpx/video-d-v-p3.html
https://edit.dialogic.com/vpx/video-d-v-p4.html
https://edit.dialogic.com/vpx/video-d-v-p5.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-jp1.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-jp2.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new1.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new2.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new3.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new4.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new5.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new6.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new7.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new8.html
https://edit.dialogic.com/vpx/video-Fukunaga-v-Nakagawa-new9.html
https://www.atlanticcitynj.com/rex/video-d-v-p1.html
https://www.atlanticcitynj.com/rex/video-d-v-p2.html
https://www.atlanticcitynj.com/rex/video-d-v-p3.html
https://www.atlanticcitynj.com/rex/video-d-v-p4.html
https://www.atlanticcitynj.com/rex/video-d-v-p5.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-jp1.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-jp2.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new1.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new2.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new3.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new4.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new5.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new6.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new7.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new8.html
https://www.atlanticcitynj.com/rex/video-Fukunaga-v-Nakagawa-new9.html

All across Medium and social media, my feeds have constantly been posts about why people should use FastAPI for writing APIs in Python. Seeing this, I was a little shocked, because I was under the impression that Flask and Django were the major Python API frameworks. For the last few years, Flask has been my go-to framework for writing APIs. With all this hype surrounding FastAPI, I decided to give it a try.

Giving it a Try

With the discovery of FastAPI, I decided to revisit an API that was built a few months ago to handle application logging. Essentially, the plan was to convert this logging API from Flask to FastAPI. The first step in this process is to install a couple of Python modules.

pip3 install fastapi
pip3 install uvicorn
pip3 install pydantic

After installing the modules, I refreshed my memory on the endpoints for the previous version of the logging API.

  • GET request — /loggingapi/v1/logs
  • POST request — /loggingapi/v1/log

The GET request is pretty straightforward. It gathers all logs for a given application ID. Right now, I am dealing with a relatively small amount of logs, so returning all records will be fine. However, in the future, this will probably get changed to date parameters to limit the number of records being returned.

The POST request is even easier than the GET request. Essentially, its purpose is to add new log records to the database. It takes an object parameter that looks similar to this:

--

--