Metadata-Version: 2.1
Name: apistar-pagination
Version: 0.3.0
Summary: Pagination tools for API Star.
Home-page: https://github.com/PeRDy/apistar-pagination
License: GPL-3.0+
Keywords: apistar,pagination
Author: José Antonio Perdiguero López
Author-email: perdy@perdy.io
Requires-Python: >=3.5,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Provides-Extra: sqlalchemy
Requires-Dist: apistar (>=0.5.30,<0.6.0)
Description-Content-Type: text/markdown

# API Star Pagination
[![Build Status](https://travis-ci.org/PeRDy/apistar-pagination.svg?branch=master)](https://travis-ci.org/PeRDy/apistar-pagination)
[![codecov](https://codecov.io/gh/PeRDy/apistar-pagination/branch/master/graph/badge.svg)](https://codecov.io/gh/PeRDy/apistar-pagination)
[![PyPI version](https://badge.fury.io/py/apistar-pagination.svg)](https://badge.fury.io/py/apistar-pagination)

* **Version:** 0.3.0
* **Status:** Production/Stable
* **Author:** José Antonio Perdiguero López

Pagination tools for API Star.

## Features
* Page number pagination.
* Limit-offset pagination.

## Quick start
Install API star Pagination:

```bash
pip install apistar-pagination
```

Use paginated response in your views:

### Page number pagination

```python
from apistar_pagination import PageNumberResponse

def page_number(page: http.QueryParam, page_size: http.QueryParam) -> typing.List[int]:
    collection = range(10)  # Get your whole collection instead of a list of numbers

    return PageNumberResponse(page=page, page_size=page_size, content=collection)
```

### Limit-offset pagination

```python
from apistar_pagination import LimitOffsetResponse

def limit_offset(offset: http.QueryParam, limit: http.QueryParam) -> typing.List[int]:
    collection = range(10)  # Get your whole collection instead of a list of numbers

    return LimitOffsetResponse(offset=offset, limit=limit, content=collection)
```

