Pagination using Pydantic. Easy to use, lightweight, and easy to integrate with existing projects ✨
Requirements
A recent and currently supported version of Python (right now, Python supports versions 3.9 and above).
As Pagidantic is based on Pydantic, it requires them. They will be automatically installed when you install Pagidantic.
Notes: we support only Pydantic v2. If you are using Pydantic v1, you can install it using pip install pagidantic==1.1.0
Installation
You can add Pagidantic in a few easy steps. First of all, install the dependency:
$ pip install pagidantic
---> 100%
Successfully installed pagidantic
Usage
from pagidantic import pagidantic
# Generate a list here: https://json-generator.com/
object_list = [...] # list of objects
pagination = pagidantic(object_list, page_limit=2, start_page=0)
# get current returned page
def get_current_page():
return pagination.response
# get next pageg
def get_next_page():
return pagination.get_next()
# get previous page
def get_previous_page():
return pagination.get_previous()
# get page by number
def get_page_by_number():
return pagination.get_page_response(page_number=0)
# get total pages
def get_total_pages():
return pagination.total_pages
# Count total objects
def count_total_objects():
return pagination.total
Development 🚧
Setup environment 📦
You should create a virtual environment and activate it:
python -m venv venv/
source venv/bin/activate
And then install the development dependencies:
# Install dependencies
pip install -e .[test,lint]
Run tests 🌝
You can run all the tests with:
bash scripts/test.sh
Format the code 🍂
Execute the following command to apply pre-commit formatting:
bash scripts/format.sh
Execute the following command to apply mypy type checking:
bash scripts/lint.sh
License
This project is licensed under the terms of the MIT license.
Metadata
Release files for pagidantic 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pagidantic-2.0.0.tar.gz | 29.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pagidantic-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.7 kB
Release files / pagidantic-2.0.0.tar.gz
| Download URL | pagidantic-2.0.0.tar.gz |
|---|---|
| Size | 29.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71acf10ca3c81455d545df7bcd63508f4bef35676248ae0655569b0f5d568e5a
|
|
BLAKE2b-256 checksum How to use checksums |
3d99d468eb66e87614595a4fa9aedecb95ea1d7abb1b4abb4f4ee52d22a50105
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / pagidantic-2.0.0-py3-none-any.whl
| Download URL | pagidantic-2.0.0-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
926a119261bc1c40d812e5b6e8e65a3fb2ead3719b8d50654a0f42f47768af91
|
|
BLAKE2b-256 checksum How to use checksums |
dfad20619b5feeefdfd1701ab7da432f41584ff6b2fc5c0c9c6e32bf9de3082c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|