fastapi-filters, just a fork to experiment with
Project description
Introduction
fastapi-filters
is a library that provides filtering/sorting feature for FastAPI
applications.
Installation
pip install fastapi-filters
Quickstart
To create filters you need either define them manually using create_filters
function or automatically generate them
based on model using create_filters_from_model
function.
from typing import List
from fastapi import FastAPI, Depends
from pydantic import BaseModel, Field
# import all you need from fastapi-filters
from fastapi_filters import create_filters, create_filters_from_model, FilterValues
app = FastAPI() # create FastAPI app
class UserOut(BaseModel): # define your model
name: str = Field(..., example="Steve")
surname: str = Field(..., example="Rogers")
age: int = Field(..., example=102)
@app.get("/users")
async def get_users_manual_filters(
# manually define filters
filters: FilterValues = Depends(create_filters(name=str, surname=str, age=int)),
) -> List[UserOut]:
pass
@app.get("/users")
async def get_users_auto_filters(
# or automatically generate filters from pydantic model
filters: FilterValues = Depends(create_filters_from_model(UserOut)),
) -> List[UserOut]:
pass
Currently, fastapi-filters
supports SQLAlchemy
integration.
from fastapi_filters.ext.sqlalchemy import apply_filters
@app.get("/users")
async def get_users(
db: AsyncSession = Depends(get_db),
filters: FilterValues = Depends(create_filters_from_model(UserOut)),
) -> List[UserOut]:
query = apply_filters(select(UserOut), filters)
return (await db.scalars(query)).all()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fastapi_filters_wbarnha-0.2.10.tar.gz
.
File metadata
- Download URL: fastapi_filters_wbarnha-0.2.10.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95d700522b8830b192f4e4d8a73955ab49899e2a0c5fe558c0368d19a6053067 |
|
MD5 | df750a7825f38e0e917841459b80076d |
|
BLAKE2b-256 | 3956254a5a33c6a72ae4c59dce36b1587dd5530dc04b70b2112f3c0e00d10c3c |
File details
Details for the file fastapi_filters_wbarnha-0.2.10-py3-none-any.whl
.
File metadata
- Download URL: fastapi_filters_wbarnha-0.2.10-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd47567e0fb49051196e126d0bf91dd52f2a148e089c4387a0399fd4d0f43fe4 |
|
MD5 | 4649de32ced1e36b4e7a2fd2af08913f |
|
BLAKE2b-256 | 8053547175ca8f342883f16778cbd483a13cbf4ce90146c5f8562669781d31af |