Use FastStream instead.
Asynchronous framework that makes it really simple to build RabbitMQ services.
pip install mela
Basic usage does look like this:
app.py
:
from pydantic import BaseModel
from datetime import datetime
from mela import Mela
app = Mela(__name__)
class Document(BaseModel):
text: str
url: str
date: datetime
@app.service('printer')
def printer(body: Document) -> Document:
print(body)
return body
if __name__ == '__main__':
app.run()
application.yml
:
connections:
default:
host: localhost
port: 5672
username: user
password: bitnami
services:
printer:
consumer:
exchange: general-sentiment-x
routing_key: general-sentiment-q
queue: general-sentiment-q
publisher:
exchange: general-sentiment-x
routing_key: general-sentiment-q
For more use cases check /examples
directory.
Clone this repo, create virtualenv using make setup
command.
NOTE: If you use PyCharm - don't let it create its own virtualenv.
Run tests using make test
Run linter using make lint
Run mypy using make type
Feel free to create issues.
Feel free to contribute.
Feel free to add yourself to Authors
block in this document.
You also can join our Telegram chat.
Despite major version, there is a lot of work undone. You can check TODO section in changelog to find an interesting task for you or check issues section of this repository.
Developed in Alem Research.
Core maintainer: Daniyar Supiyev ([email protected]).
Sponsor: Sergazy Narynov.