Metadata-Version: 2.1
Name: olist-loafer
Version: 3.0.8
Summary: Asynchronous message dispatcher for concurrent tasks processing
Home-page: https://github.com/olist/olist-loafer/
License: MIT
Keywords: asyncio,message,dispatcher,tasks,microservices
Author: Olist
Author-email: developers@olist.com
Requires-Python: >=3.7,<3.10
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: System :: Distributed Computing
Requires-Dist: aiobotocore[boto3] (>=1.0.0,<2.0.0)
Requires-Dist: cached-property (>=1.3.0,<2.0.0)
Project-URL: Download, https://github.com/olist/olist-loafer/releases
Project-URL: Repository, https://github.com/olist/olist-loafer/
Description-Content-Type: text/markdown

[![PyPI latest](https://img.shields.io/pypi/v/olist-loafer.svg?maxAge=2592000)](https://pypi.python.org/pypi/loafer)
[![Python versions](https://img.shields.io/pypi/pyversions/olist-loafer.svg?maxAge=2592000)](https://pypi.python.org/pypi/loafer)
[![License](https://img.shields.io/pypi/l/loafer.svg?maxAge=2592000)](https://pypi.python.org/pypi/olist-loafer)
[![CircleCI](https://circleci.com/gh/olist/olist-loafer/tree/main.svg?style=svg)](https://circleci.com/gh/olist/olist-loafer/tree/main)
[![Olist Sponsor](https://img.shields.io/badge/sponsor-olist-53b5f6.svg?style=flat-square)](http://opensource.olist.com/)


**olist-loafer** is an asynchronous message dispatcher for concurrent tasks processing, with the following features:

* Encourages decoupling from message providers and consumers
* Easy to extend and customize
* Easy error handling, including integration with sentry
* Easy to create one or multiple services
* Generic Handlers
* Amazon SQS integration

---
:information_source: Currently, only AWS SQS is supported

---

## How to use

A simple message forwader, from ``source-queue`` to ``destination-queue``:

```python
from loafer.ext.aws.handlers import SQSHandler
from loafer.ext.aws.routes import SQSRoute
from loafer.managers import LoaferManager

routes = [
    SQSRoute('source-queue', handler=SQSHandler('destination-queue')),
]

if __name__ == '__main__':
    manager = LoaferManager(routes)
    manager.run()
```

## How to contribute

Fork this repository, make changes and send us a pull request. We will review your changes and apply them. Before sending us your pull request please check if you wrote and ran tests:

```bash
make test
```

