All Projects → awtkns → Fastapi Crudrouter

awtkns / Fastapi Crudrouter

Licence: mit
A dynamic FastAPI router that automatically creates CRUD routes for your models

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Fastapi Crudrouter

Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+24798.11%)
Mutual labels:  api, rest, swagger-ui, async, asyncio, framework
Magic
Create your .Net Core/Angular/Database CRUD Web apps by simply clicking a button
Stars: ✭ 214 (+34.59%)
Mutual labels:  api, rest, framework, crud
Fastapi Gino Arq Uvicorn
High-performance Async REST API, in Python. FastAPI + GINO + Arq + Uvicorn (w/ Redis and PostgreSQL).
Stars: ✭ 204 (+28.3%)
Mutual labels:  api, rest, async, asyncio
Rest Hapi
🚀 A RESTful API generator for Node.js
Stars: ✭ 1,102 (+593.08%)
Mutual labels:  api, rest, crud
Dito
Dito.js is a declarative and modern web framework with a focus on API driven development, based on Objection.js, Koa.js and Vue.js – Released in 2018 under the MIT license, with support by Lineto.com
Stars: ✭ 44 (-72.33%)
Mutual labels:  api, rest, sql
Compojure Api
Sweet web apis with Compojure & Swagger
Stars: ✭ 1,056 (+564.15%)
Mutual labels:  api, rest, async
Dreamfactory
DreamFactory API Management Platform
Stars: ✭ 1,148 (+622.01%)
Mutual labels:  api, rest, framework
Yarf
Yet Another REST Framework
Stars: ✭ 62 (-61.01%)
Mutual labels:  api, rest, framework
Ratp Api Rest
This project turnkey is distributed as a middleware to expose RATP realtime data as REST resources
Stars: ✭ 68 (-57.23%)
Mutual labels:  api, rest, swagger-ui
Psx
PHP REST API Framework
Stars: ✭ 108 (-32.08%)
Mutual labels:  api, rest, framework
Evolutility Server Node
Model-driven REST or GraphQL backend for CRUD and more, written in Javascript, using Node.js, Express, and PostgreSQL.
Stars: ✭ 84 (-47.17%)
Mutual labels:  rest, sql, crud
Json Serverless
Transform a JSON file into a serverless REST API in AWS cloud
Stars: ✭ 108 (-32.08%)
Mutual labels:  api, rest, swagger-ui
Rhodddoobie
My little sandbox for playing around with the FP + OOP + DDD combination, in particular using Rho, doobie, Docker, testing, etc in a project.
Stars: ✭ 38 (-76.1%)
Mutual labels:  api, sql, crud
Restless
Express.js api, type safe validations and more
Stars: ✭ 32 (-79.87%)
Mutual labels:  api, rest, async
Rest Control
Framework for testing and validation REST services
Stars: ✭ 51 (-67.92%)
Mutual labels:  api, rest, framework
Turbulette
😴 Turbulette - A batteries-included framework to build high performance, fully async GraphQL APIs
Stars: ✭ 29 (-81.76%)
Mutual labels:  async, asyncio, framework
Falcon
The no-nonsense REST API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.
Stars: ✭ 8,654 (+5342.77%)
Mutual labels:  api, rest, framework
Flama
🔥 Fire up your API with this flamethrower
Stars: ✭ 161 (+1.26%)
Mutual labels:  api, rest, crud
Goyave
🍐 Elegant Golang REST API Framework
Stars: ✭ 811 (+410.06%)
Mutual labels:  api, rest, framework
Api Platform
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.
Stars: ✭ 7,144 (+4393.08%)
Mutual labels:  api, rest, framework

⚡ Create CRUD routes with lighting speedA dynamic FastAPI router that automatically creates CRUD routes for your models

Tests Docs Package version


Documentation: https://fastapi-crudrouter.awtkns.com

Source Code: https://github.com/awtkns/fastapi-crudrouter


Tired of rewriting the same generic CRUD routes? Need to rapidly prototype a feature for a presentation or a hackathon? Thankfully, fastapi-crudrouter has your back. As an extension to the APIRouter included with FastAPI, the FastAPI CRUDRouter will automatically generate and document your CRUD routes for you, all you have to do is pass your model and maybe your database connection.

FastAPI-CRUDRouter is also lighting fast, well tested, and production ready.

Installation

pip install fastapi-crudrouter

Basic Usage

Below is a simple example of what the CRUDRouter can do. In just ten lines of code, you can generate all the crud routes you need for any model. A full list of the routes generated can be found here.

from pydantic import BaseModel
from fastapi import FastAPI
from fastapi_crudrouter import MemoryCRUDRouter as CRUDRouter

class Potato(BaseModel):
    id: int
    color: str
    mass: float

app = FastAPI()
app.include_router(CRUDRouter(schema=Potato))

Advanced Usage

fastapi-crudrouter provides a number of features that allow you to get the most out of your automatically generated CRUD routes. Listed below are some highlights.

  • Automatic Pagination (docs)
  • Ability to Provide Custom Create and Update Schemas (docs)
  • Dynamic Generation of Create and Update Schemas (docs)
  • Ability to Add, Customize, or Disable Specific Routes (docs)
  • Native Support for FastAPI Dependencies Injection (docs)

Supported Backends / ORMs

fastapi-crudrouter currently supports a number of backends / ORMs. Listed below are the backends currently supported. This list will likely grow in future releases.

  • In Memory (docs)
  • SQLAlchemy (docs)
  • Databases (async) (docs)
  • Tortoise ORM (async) (docs)

OpenAPI Support

By default, all routes generated by the CRUDRouter will be documented according to OpenAPI spec.

Below are the default routes created by the CRUDRouter shown in the generated OpenAPI documentation.

OpenAPI Route Overview

The CRUDRouter is able to dynamically generate detailed documentation based on the models given to it.

OpenAPI Route Detail

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].