# Pagify
Welcome to the **Pagify** documentation! This package provides an easy-to-use solution for handling pagination in Python applications, supporting a wide range of projects from basic scripts to complex frameworks.
---
## Introduction
The **Pagify** package is a versatile and efficient tool for implementing pagination in Python applications. It supports multiple pagination types to cater to different needs, making it suitable for use with plain Python, Django, Flask, or any other Python-based frameworks.
### Key Features
- **Framework-Agnostic**: Compatible with raw Python applications, Django projects, and more.
- **Multiple Pagination Methods**: Supports offset, cursor, and page number pagination for diverse use cases.
- **Detailed Metadata**: Provides comprehensive pagination details such as next, previous, and current pages.
- **Easy-to-Use**: Straightforward API for rapid integration.
- **Customizable**: Easily extendable for advanced use cases.
---
## Installation
To install the **Pagify** package, run the following command:
### Install the Pagify Package
Install Pagify from PyPI using pip:
```bash
pip install pagify
```
---
## Usage
For complete guides, detailed examples, and advanced use cases, refer to the [usage documentation](https://github.com/Mohammad222PR/pagify/blob/main/docs/usage.md). This section covers everything from basic usage to customization for different pagination strategies.
### Quick Start
Here's a brief overview to get you started quickly:
1. **Import and Setup**: Import the appropriate pagination method from `pagify.adapters`.
2. **Apply Pagination**: Use the method on your dataset or query results.
3. **Format Responses**: Utilize the provided functions for standardized JSON response formatting.
Example:
```python
from pagify.adapters.paginate import paginate_with_page_number
data = [{'id': i} for i in range(1, 101)] # Sample dataset
result = paginate_with_page_number(data, page=2, page_size=10)
print(result)
```
---
## API Reference
For a detailed breakdown of classes, methods, and available parameters, please refer to the [API reference](https://github.com/Mohammad222PR/pagify/blob/main/docs/api_reference.md). This will guide you through the full potential of Pagify and provide insights into all features.
### Quick Links
- **Pagination Adapters**: Overview of adapters for various pagination types.
- **Helper Functions**: Details of utility functions for formatting responses.
- **Error Handling**: Learn how to manage common issues when implementing pagination.
---
## Contributing
We welcome contributions to **Pagify**! If you'd like to contribute, follow these steps:
1. **Fork the Repository**: Create a copy of the project on your GitHub account.
2. **Make Changes**: Implement your improvements or new features.
3. **Submit a Pull Request**: Share your work with the community.
For detailed contribution guidelines, see the `CONTRIBUTING.md` file in the repository.
---
## License
This project is licensed under the MIT License. For more information, see the [LICENSE](LICENSE) file. This permits free use, modification, and distribution while maintaining the package's open-source nature.
Raw data
{
"_id": null,
"home_page": "https://github.com/Mohammad222PR/pagify",
"name": "pagify",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "pagination python api adapter utilities",
"author": "Mohammad Eslami",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/42/36/cb631060dc5081536006f042ff463d7d99e4decd989b8102ae3171ff2cc4/pagify-1.1.1.tar.gz",
"platform": null,
"description": "# Pagify\r\n\r\nWelcome to the **Pagify** documentation! This package provides an easy-to-use solution for handling pagination in Python applications, supporting a wide range of projects from basic scripts to complex frameworks.\r\n\r\n---\r\n\r\n## Introduction\r\n\r\nThe **Pagify** package is a versatile and efficient tool for implementing pagination in Python applications. It supports multiple pagination types to cater to different needs, making it suitable for use with plain Python, Django, Flask, or any other Python-based frameworks. \r\n\r\n### Key Features\r\n\r\n- **Framework-Agnostic**: Compatible with raw Python applications, Django projects, and more.\r\n- **Multiple Pagination Methods**: Supports offset, cursor, and page number pagination for diverse use cases.\r\n- **Detailed Metadata**: Provides comprehensive pagination details such as next, previous, and current pages.\r\n- **Easy-to-Use**: Straightforward API for rapid integration.\r\n- **Customizable**: Easily extendable for advanced use cases.\r\n\r\n---\r\n\r\n## Installation\r\n\r\nTo install the **Pagify** package, run the following command:\r\n\r\n### Install the Pagify Package\r\n\r\nInstall Pagify from PyPI using pip:\r\n\r\n```bash\r\npip install pagify\r\n```\r\n\r\n---\r\n\r\n## Usage\r\n\r\nFor complete guides, detailed examples, and advanced use cases, refer to the [usage documentation](https://github.com/Mohammad222PR/pagify/blob/main/docs/usage.md). This section covers everything from basic usage to customization for different pagination strategies.\r\n\r\n### Quick Start\r\n\r\nHere's a brief overview to get you started quickly:\r\n\r\n1. **Import and Setup**: Import the appropriate pagination method from `pagify.adapters`.\r\n2. **Apply Pagination**: Use the method on your dataset or query results.\r\n3. **Format Responses**: Utilize the provided functions for standardized JSON response formatting.\r\n\r\nExample:\r\n\r\n```python\r\nfrom pagify.adapters.paginate import paginate_with_page_number\r\n\r\ndata = [{'id': i} for i in range(1, 101)] # Sample dataset\r\nresult = paginate_with_page_number(data, page=2, page_size=10)\r\nprint(result)\r\n```\r\n\r\n---\r\n\r\n## API Reference\r\n\r\nFor a detailed breakdown of classes, methods, and available parameters, please refer to the [API reference](https://github.com/Mohammad222PR/pagify/blob/main/docs/api_reference.md). This will guide you through the full potential of Pagify and provide insights into all features.\r\n\r\n### Quick Links\r\n\r\n- **Pagination Adapters**: Overview of adapters for various pagination types.\r\n- **Helper Functions**: Details of utility functions for formatting responses.\r\n- **Error Handling**: Learn how to manage common issues when implementing pagination.\r\n\r\n---\r\n\r\n## Contributing\r\n\r\nWe welcome contributions to **Pagify**! If you'd like to contribute, follow these steps:\r\n\r\n1. **Fork the Repository**: Create a copy of the project on your GitHub account.\r\n2. **Make Changes**: Implement your improvements or new features.\r\n3. **Submit a Pull Request**: Share your work with the community.\r\n\r\nFor detailed contribution guidelines, see the `CONTRIBUTING.md` file in the repository.\r\n\r\n---\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. For more information, see the [LICENSE](LICENSE) file. This permits free use, modification, and distribution while maintaining the package's open-source nature.\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A lightweight and flexible pagination package for Python applications.",
"version": "1.1.1",
"project_urls": {
"Homepage": "https://github.com/Mohammad222PR/pagify"
},
"split_keywords": [
"pagination",
"python",
"api",
"adapter",
"utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "30de5931f99b78a8dd387ceda7817a47f7904193edc1c4bef77c7bc7beb73a35",
"md5": "d1b2e93c20f1f5319bb8af488c59aad1",
"sha256": "1bc620b0800b4f171a7274967847a82138f7dc6a124314a0e5fddfb9b45ebbc1"
},
"downloads": -1,
"filename": "pagify-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d1b2e93c20f1f5319bb8af488c59aad1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 7991,
"upload_time": "2024-11-21T15:31:11",
"upload_time_iso_8601": "2024-11-21T15:31:11.107387Z",
"url": "https://files.pythonhosted.org/packages/30/de/5931f99b78a8dd387ceda7817a47f7904193edc1c4bef77c7bc7beb73a35/pagify-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4236cb631060dc5081536006f042ff463d7d99e4decd989b8102ae3171ff2cc4",
"md5": "acdda0abb6920f84e5734079f4b2d219",
"sha256": "e000a2163dbd6db4aafd425ec8e6ae674b7629b03bed3bb9c5bf31ea421bfa64"
},
"downloads": -1,
"filename": "pagify-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "acdda0abb6920f84e5734079f4b2d219",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 8269,
"upload_time": "2024-11-21T15:31:12",
"upload_time_iso_8601": "2024-11-21T15:31:12.404421Z",
"url": "https://files.pythonhosted.org/packages/42/36/cb631060dc5081536006f042ff463d7d99e4decd989b8102ae3171ff2cc4/pagify-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-21 15:31:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Mohammad222PR",
"github_project": "pagify",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pagify"
}