Metadata-Version: 2.1
Name: popol
Version: 0.6.0
Summary: Adding new power to your FastAPI application ⛅
Home-page: https://github.com/aprilahijriyan/popol
License: MIT
Author: aprilahijriyan
Author-email: hijriyan23@gmail.com
Maintainer: aprilahijriyan
Maintainer-email: hijriyan23@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
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.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: aiosmtplib
Provides-Extra: all
Provides-Extra: background-jobs
Provides-Extra: cache
Provides-Extra: fastapi
Provides-Extra: orm
Provides-Extra: redis
Provides-Extra: saq
Provides-Extra: sqlmodel
Requires-Dist: aiosmtplib (>=3.0.1,<4.0.0) ; extra == "aiosmtplib" or extra == "all"
Requires-Dist: asyncer (>=0.0.5,<0.0.6)
Requires-Dist: fastapi (>=0.110.2,<0.111.0) ; extra == "fastapi" or extra == "all"
Requires-Dist: pydantic-settings (>=2.2.1,<3.0.0) ; extra == "fastapi" or extra == "all"
Requires-Dist: pydantic[email] (>=2.7.0,<3.0.0) ; extra == "fastapi" or extra == "all"
Requires-Dist: pyhumps (>=3.8.0,<4.0.0) ; extra == "sqlmodel" or extra == "orm" or extra == "all"
Requires-Dist: redis (>=4.3.4,<5.0.0) ; extra == "redis" or extra == "cache" or extra == "all"
Requires-Dist: saq (>=0.12.5,<0.13.0) ; extra == "saq" or extra == "background-jobs" or extra == "all"
Requires-Dist: sqlmodel (>=0.0.16,<0.0.17) ; extra == "sqlmodel" or extra == "orm" or extra == "all"
Requires-Dist: typer (>=0.12.3,<0.13.0)
Requires-Dist: uvicorn[standard] (>=0.29.0,<0.30.0) ; extra == "fastapi" or extra == "all"
Project-URL: Bug Tracker, https://github.com/aprilahijriyan/popol/issues
Project-URL: Repository, https://github.com/aprilahijriyan/popol
Description-Content-Type: text/markdown

# Popol ⛅

> Adding new power to your FastAPI application ⛅

Popol is a library that provides as-is tools for use on FastAPI.

This project aims to provide APIs to support your FastAPI projects without breaking existing projects. This is another version of the [Fastack](https://github.com/fastack-dev/fastack) project. Overall the available APIs are not much different from the [Fastack plugins](https://github.com/fastack-dev).

## Features 🌟

- [x] Project Layout
- [x] Command Line Interface (like `flask` command)
- [x] Pagination
- Cache Framework

  - Backends

    - [x] Redis (Sync/Async)
    - [ ] Memcached

  - Serializers

    - [x] JSON
    - [x] Pickle
    - [ ] MsgPack

- ORM Integration

  - [x] SQLModel (Async/Sync)
  - [ ] Tortoise ORM

- ODM Integration

  - [ ] MongoEngine

- [x] SMTP client (using aiosmtplib) to send emails.
- Background Jobs:

  - [x] SAQ queue support for task scheduling

## Installation 📚

```sh
pip install popol>=0.4.0
```

## Documentation 📖

Not available at this time, please learn from the [examples](https://github.com/aprilahijriyan/popol/tree/main/examples).

