Skip to main content

Python OpenApi Utilities for FastAPI

Project description

backbone-api

OpenAPI request and response models

Installation & Upgrade

pip install basalam.backbone-api

TODO List

  • Add Message Toast Field
  • Add Pagination Query Params Dependency

Usage Example

import uvicorn
from fastapi import APIRouter
from fastapi import FastAPI
from pydantic import BaseModel

from basalam.backbone_api.responses import (
    ForbiddenResponse,
    NotFoundResponse,
    UnauthorizedResponse,
    UnprocessableContentResponse,
    BulkResponse, ConflictResponse
)

app = FastAPI()


class User(BaseModel):
    id: int
    name: str


router = APIRouter(responses={
    401: {"model": UnauthorizedResponse},
    403: {"model": ForbiddenResponse},
    404: {"model": NotFoundResponse},
    409: {"model": ConflictResponse},
    422: {"model": UnprocessableContentResponse}
})


@router.get("/", response_model=BulkResponse[User])
async def root():
    ls = [
        User(id=1, name="John Doe"),
        User(id=2, name="Jane Boe")
    ]
    return await BulkResponse(data=ls).as_json_response()

app.include_router(router)
if __name__=="__main__":
    uvicorn.run(app, host="localhost", port=8000)

Credits

This project was inspired by the work of Mr.MohammadAli Soltanipoor on OpenAPI.

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

basalam_backbone_api-0.1.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basalam.backbone_api-0.1.2-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file basalam_backbone_api-0.1.2.tar.gz.

File metadata

  • Download URL: basalam_backbone_api-0.1.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for basalam_backbone_api-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e8d2ebf28f16824ffb550a091a7741ca60ed7db95ce34be99b4433225edb5e74
MD5 4ef899f512b3a8080b6f07d4df041dda
BLAKE2b-256 af3107d5fa7bb295ba00fb9b79dc8fe8a123af824b4e9bc7186e1bd302efad8e

See more details on using hashes here.

File details

Details for the file basalam.backbone_api-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for basalam.backbone_api-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b4d4ea0ce4898b22073310e181294254635b6dee86947b6685debaeebc11947e
MD5 fc26a2cb6e00a339d655b52650fa167c
BLAKE2b-256 3c6633d4f22a54ae1a2dcc6c0993369574cf92dde68c73e6f0321d96b52aef16

See more details on using hashes here.

Supported by

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