Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mela-1.1.1.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

mela-1.1.1-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

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

Hashes for mela-1.1.1.tar.gz
Algorithm Hash digest
SHA256 d68f805bbe185165c0c7ad725baedac2bc6c602e1e57abb2f5b81e798251f336
MD5 7613d3874057a927cfaf3b80f9228514
BLAKE2b-256 d3ad132ba77bd5f44f7608f861d6ebf54a1ad764025a7dcf125730149276dd05

See more details on using hashes here.

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

Hashes for mela-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4595ab829e86796c738fa01a85fc42f799c24e2c3afba03f07c3eb6209757768
MD5 42d26b2f9f881543a7c417c6ed593c65
BLAKE2b-256 b8dbd8f0904880ace421f54dfe42e97e989b51a10627bc80c228c5bd8f5df5fb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page