Skip to main content

Easykiwi is a Framework for Queue Messaging Application Development for Python and RabbitMQ.

Project description

Easykiwi

Easykiwi is a Python Framework for developing Queue Messaging Application in a declarative approach, it depends on the kiwipy python library, in fact it turns this library into a container friendly framework.

Requirements

  • Python 3.6+
  • RabbitMQ

Defining Application

from easykiwi import Kiwi

app = Kiwi()

Adding RPCs

@app.add_rpc
def fib(comm, num):
    if num == 0:
        return 0
    if num == 1:
        return 1

    return fib(comm, num - 1) + fib(comm, num - 2)

Adding Tasks

@app.add_task
def callback(_comm, task):
    print((" [x] Received %r" % task))
    time.sleep(task.count(b'.'))
    print(" [x] Done")

Adding Broadcast

@app.add_broadcast
def subscriber(_comm, body, sender, subject, _corr_id):
    print("Broadcast received:")
    print("sender:\t{}\nsubject:{}\nbody:\t{}\n".format(
        sender, subject, body))

Running Application

app.run(remote='127.0.0.1')

Running Application from Console Script

Yon can save your app in a app.py file or save it in an KIWI_APP environment variable, and then from the terminal execute the following.

kiwi run --remote 127.0.0.1

This command is a more container friendly approach to run this messaging service.

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

Easykiwi-1.3.win-amd64.zip (52.3 kB view hashes)

Uploaded Source

Built Distribution

Easykiwi-1.3-py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 3

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