Metadata-Version: 2.1
Name: fastapi-pagination
Version: 0.2.0
Summary: FastAPI pagination
Home-page: https://github.com/uriyyo/fastapi-pagination
License: MIT
Author: Yurii Karabas
Author-email: 1998uriyyo@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: databases
Provides-Extra: gino
Provides-Extra: orm
Provides-Extra: sqlalchemy
Requires-Dist: SQLAlchemy (>=1.3.20,<2.0.0); extra == "gino" or extra == "sqlalchemy"
Requires-Dist: databases (>=0.4.0,<0.5.0); extra == "databases"
Requires-Dist: fastapi (>=0.61.2,<0.62.0)
Requires-Dist: gino (>=1.0.1,<2.0.0); extra == "gino"
Requires-Dist: orm (>=0.1.5,<0.2.0); extra == "orm"
Requires-Dist: pydantic (>=1.7.2,<2.0.0)
Requires-Dist: sqlalchemy-stubs (>=0.3,<0.4); extra == "gino" or extra == "sqlalchemy"
Project-URL: Repository, https://github.com/uriyyo/fastapi-pagination
Description-Content-Type: text/markdown

# FastAPI Pagination

## Installation

Basic version
```bash
pip install fastapi-pagination
```

`Gino` integration
```bash
pip install fastapi-pagination[gino]
```

`SQLAlchemy` integration
```bash
pip install fastapi-pagination[sqlalchemy]
```

## Example

```python
from fastapi import FastAPI, Depends
from pydantic import BaseModel

from fastapi_pagination import PaginationParams, Page
from fastapi_pagination.paginator import paginate

app = FastAPI()

class User(BaseModel):
    name: str
    surname: str

users = [
    User(name='Yurii', surname='Karabas'),
    # ...
]

@app.get('/users', response_model=Page[User])
async def get_users(params: PaginationParams = Depends()):
    return paginate(users, params)
```

