Comprehensive Fast API Tutorial

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/Python

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • cog

    Portland Cognition Lab (by chromakey-io)

    Here's how (some complete asshole) might implement for example OIDC-JWT with Auth0: https://github.com/chromakey-io/cog/tree/master/auth. This sits as a starlette AuthBackend, that follows along with conventions similar to Flask, Django, etc .... and is directly ripped off from Auth0's flask examples.

  • spectree

    API spec validator and OpenAPI document generator for Python web frameworks.

    For those of you that are fans of Pydantic: https://github.com/0b01001001/spectree (this is cross-platform with flask, falcon, and starlette :) It also doesn't re-implement anything the encode/starlette developers have already implemented, or have in the works for no specific reason. I'm not a huge fan of this design pattern, I'm more a lean/mean sort of fellow. openapi schema generation exists in starlette ... and you likely already are doing some sort of type validation once in your forms, json, orm, sql layer, or all four. An additional layer to validate "automatically" in your response (lol no), or in your request ... aren't all that useful imo.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    Fundamentally confused as to why you think it's not a Starlette request object underneath. FastAPI simply re-exports the Starlette request object from fastapi.requests as seen here. So, yes, in fact it most certainly is a Starlette request underneath. In fact, the entire routing system subclasses Starlette's base routing classes as seen here. The FastAPI class itself subclasses Starlette.

  • dispatch

    All of the ad-hoc things you're doing to manage incidents today, done for you, and much more!

    Look at Netflix' dispatch for example and tell me you don’t think this is terrible violation of DRY and makes for some really hard to maintain code.

  • databases

    Async database support for Python. 🗄

    databases has since the time of FastAPI's authorship been integrated in upstream starlette and documented: https://github.com/encode/databases ... what-ever is in fastapi skips all this and is weak sauce.

  • fastapi-router-controller

    A FastAPI utility to allow Controller Class usage

    The whole thing about "not seperating the configuration from the view code" is pretty broken, glueing everything to the functions makes it a mess. it makes it hard to add additional features (CBV class based views) -> https://github.com/KiraPC/fastapi-router-controller

  • cornice.ext.swagger

    Swagger extension for Cornice

    In the end the only thing i needed is openapi be generated for me. I was looking for a newer stack (pydantic, asyncio) that i used before -> (pyramid, colander) https://github.com/Cornices/cornice.ext.swagger but now i ended up reimplementing sever side sessions, class based views, jwt auth.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts