Metadata-Version: 2.1
Name: fastapi-paginate
Version: 0.1.0
Summary: FastAPI extended pagination
Home-page: https://github.com/nazmulnnb/fastapi-paginate
License: MIT
Author: Nazmul Hasan
Author-email: edufornazmul@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.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Provides-Extra: all
Provides-Extra: asyncpg
Provides-Extra: databases
Provides-Extra: django
Provides-Extra: gino
Provides-Extra: mongoengine
Provides-Extra: motor
Provides-Extra: orm
Provides-Extra: ormar
Provides-Extra: piccolo
Provides-Extra: sqlalchemy
Provides-Extra: tortoise
Requires-Dist: SQLAlchemy (>=1.3.20); extra == "gino" or extra == "sqlalchemy" or extra == "asyncpg" or extra == "all"
Requires-Dist: asyncpg (>=0.24.0); extra == "asyncpg" or extra == "all"
Requires-Dist: databases[mysql,sqlite,postgresql] (>=0.4.0); extra == "databases" or extra == "orm" or extra == "django" or extra == "all"
Requires-Dist: django (>=3.1.0,<4.0.0); extra == "django" or extra == "all"
Requires-Dist: fastapi (>=0.61.2)
Requires-Dist: gino[starlette] (>=1.0.1); extra == "gino" or extra == "all"
Requires-Dist: mongoengine (>=0.23.1,<0.25.0); extra == "mongoengine" or extra == "all"
Requires-Dist: motor (>=2.5.1,<3.0.0); extra == "motor" or extra == "all"
Requires-Dist: orm (>=0.1.5); extra == "orm" or extra == "all"
Requires-Dist: ormar (>=0.10.5); extra == "ormar" or extra == "all"
Requires-Dist: piccolo (>=0.29,<0.35); extra == "piccolo" or extra == "all"
Requires-Dist: pydantic (>=1.7.2)
Requires-Dist: tortoise-orm[asyncpg,aiomysql,aiosqlite] (>=0.16.18,<0.19.0); extra == "tortoise" or extra == "all"
Requires-Dist: typesystem (>=0.2.0,<0.3.0); extra == "orm"
Project-URL: Repository, https://github.com/nazmulnnb/fastapi-paginate
Description-Content-Type: text/markdown

# FastAPI Pagination

[![License](https://img.shields.io/badge/License-MIT-lightgrey)](/LICENSE)
[![codecov](https://github.com/nazmulnnb/fastapi-paginate/workflows/Test/badge.svg)](https://github.com/nazmulnnb/fastapi-paginate/actions)
[![PYPI](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## Installation

```bash
# Basic version
pip install fastapi-paginate

# All available integrations
pip install fastapi-paginate[all]
```

Available integrations:

* [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy)
* [gino](https://github.com/python-gino/gino)
* [databases](https://github.com/encode/databases)
* [ormar](http://github.com/collerek/ormar)
* [orm](https://github.com/encode/orm)
* [tortoise](https://github.com/tortoise/tortoise-orm)
* [django](https://github.com/django/django)
* [piccolo](https://github.com/piccolo-orm/piccolo)
* [sqlmodel](https://github.com/tiangolo/sqlmodel)
* [motor](https://github.com/mongodb/motor)
* [mongoengine](https://github.com/MongoEngine/mongoengine)

## Example

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

from fastapi_paginate import Page, add_pagination, 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():
    return paginate(users)


add_pagination(app)
```


This repo is forked from [fastapi-pagination](https://github.com/uriyyo/fastapi-pagination).
Although original repository is already good enough, but I modified it according to my needs and published thinking it might be helpful for some.

