Let's make microservice development fun again!
Project description
Alem Mela
Overview
Asynchronous framework that makes it really simple to build RabbitMQ services.
Installation
pip install mela
Usage
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.
Contribute
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.
Contributors
Developed in Alem Research.
Core maintainer: Daniyar Supiyev (undead.thunderbird@gmail.com).
Sponsor: Sergazy Narynov.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mela-1.1.1.tar.gz.
File metadata
- Download URL: mela-1.1.1.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d68f805bbe185165c0c7ad725baedac2bc6c602e1e57abb2f5b81e798251f336
|
|
| MD5 |
7613d3874057a927cfaf3b80f9228514
|
|
| BLAKE2b-256 |
d3ad132ba77bd5f44f7608f861d6ebf54a1ad764025a7dcf125730149276dd05
|
File details
Details for the file mela-1.1.1-py3-none-any.whl.
File metadata
- Download URL: mela-1.1.1-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4595ab829e86796c738fa01a85fc42f799c24e2c3afba03f07c3eb6209757768
|
|
| MD5 |
42d26b2f9f881543a7c417c6ed593c65
|
|
| BLAKE2b-256 |
b8dbd8f0904880ace421f54dfe42e97e989b51a10627bc80c228c5bd8f5df5fb
|