Skip to main content

FastAPI Class Views and utilities

Project description

fastapi-views

CI Build License Python Format PyPi Mypy Code Style security: bandit

FastAPI Class Views and utilities


Version: 0.1.2

Documentation: https://performancemedia.github.io/fastapi-views/

Repository: https://github.com/performancemedia/fastapi-views


Installation

pip install fastapi-views

Usage

from typing import Optional
from uuid import UUID

from fastapi_views import Serializer, ViewRouter
from fastapi_views.views.viewsets import AsyncAPIViewSet


class ItemSchema(Serializer):
    id: UUID
    name: str
    price: int


items = {}


class MyViewSet(AsyncAPIViewSet):
    api_component_name = "Item"
    serializer = ItemSchema
    
    async def list(self):
        return list(items.values())

    async def create(self, item: ItemSchema) -> ItemSchema:
        items[item.id] = item
        return item

    async def retrieve(self, id: UUID) -> Optional[ItemSchema]:
        return items.get(id)

    async def update(self, item: ItemSchema):
        items[item.id] = item

    async def destroy(self, id: UUID) -> None:
        items.pop(id, None)

router = ViewRouter(prefix="/items")
router.register_view(MyViewSet)
# in app.py
# app.include_router(router)

Features

  • Class Based Views
    • APIViews
    • GenericViews
    • ViewSets
  • Both async and sync function support
  • No dependencies on ORM
  • Openapi id simplification
  • 'Smart' and fast serialization using orjson
  • Http Problem Details implementation
  • Automatic prometheus metrics exporter
  • Pluggable healthcheck helper

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_views-0.1.2.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

fastapi_views-0.1.2-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastapi_views-0.1.2.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for fastapi_views-0.1.2.tar.gz
Algorithm Hash digest
SHA256 13585ef3849920cfe926e4e26a32db1eddfd96eb45c13acf61b554dc67cc9a88
MD5 614b1f1814a5cf46f844560ac71f81b9
BLAKE2b-256 d906de2da4563040157a51c270c29ccf3bcc68646cf9f9fdbb2a3bbdda7b1525

See more details on using hashes here.

File details

Details for the file fastapi_views-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_views-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe01dc80f2797813ecf64757e90f887d686a0639f20a830bbd480e4c9bec2e81
MD5 61a0576a34b9a549c964e3fd89b3db54
BLAKE2b-256 c0561191fd7b5a5f6ca2b6c7282ee40e6b8ba39207318af74083f9d20b4eb20d

See more details on using hashes here.

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