Skip to main content

Fast restful API based on FastAPI and TortoiseORM

Project description

fastapi-rest

image image image image

Introduction

Fast restful API based on FastAPI and TortoiseORM.

Install

pip install fastapi-rest

Quick Start

First, define your ListView resource.

from fastapi_rest.resource import ListView


class UserList(ListView):
    model = User
    fields = ("name", "age")

Second, include router to your app.

app.include_router(UserList.as_router())

Now, you can visit the endpoint /user to get user list.

ListView

Export the endpoint GET /{resource}.

class ListView(Resource):
    paginator: Paginator = Paginator()
    fields: Optional[Tuple[str, ...]] = None
    exclude: Optional[Tuple[str, ...]] = None
    queryset: Optional[QuerySet] = None
    query: Optional[Type[BaseModel]] = None

DetailView

Export the endpoint GET /{resource}/{pk}.

class DetailView(Resource):
    fields: Optional[Tuple[str, ...]] = None
    exclude: Optional[Tuple[str, ...]] = None

CreateView

Export the endpoint POST /{resource}.

class CreateView(Resource):
    schema: Optional[Type[BaseModel]] = None

UpdateView

Export the endpoint PUT /{resource}/{pk}.

class UpdateView(Resource):
    schema: Type[BaseModel]

DeleteView

Export the endpoint DELETE /{resource}/{pk}.

class DeleteView(Resource):
    pass

Reference

You can see the examples here.

License

This project is licensed under the Apache2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi-rest-0.1.1.tar.gz (7.4 kB view hashes)

Uploaded Source

Built Distribution

fastapi_rest-0.1.1-py3-none-any.whl (12.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page