Skip to main content

A simple controller for message queue pipelines

Project description


<a href="https://codeclimate.com/github/luanguimaraesla/gabby/maintainability">
<img src="https://api.codeclimate.com/v1/badges/dc94cbf3854b542d3862/maintainability" />
</a>
<a href="https://travis-ci.org/luanguimaraesla/gabby">
<img src="https://travis-ci.org/luanguimaraesla/gabby.svg?branch=master" />
</a>
<a href="https://badge.fury.io/py/gabby">
<img src="https://badge.fury.io/py/gabby.svg" />
</a>
<a href="https://codecov.io/gh/codecov/example-python">
<img src="https://codecov.io/gh/luanguimaraesla/gabby/branch/master/graph/badge.svg" />
</a>


# Python Gabby

A simple controller for message queue pipelines using Mosquitto

## Installing

You can install the package through pip

```bash
pip install gabby
```

## Examples

Before run examples, please initialize the Mosquitto server.

#### Receiving messages

```python
from gabby.gabby import Gabby, Topic
from gabby.controller import Controller


class PrinterGabby(Gabby):
def transform(self, message):
print(f'ARRIVED! Data: {message.data}')
return []


if __name__ == "__main__":
controller = Controller()

topic_A = Topic('queue/a', 'i')
topic_B = Topic('queue/b', 'i')

printer_gabby = PrinterGabby([topic_A], [topic_B])

controller.add_gabby(printer_gabby)
controller.run()
```

#### Transmitting messages

```python
from gabby.gabby import Gabby, Topic
from gabby.message import Message


if __name__ == "__main__":
topic_A = Topic('queue/a', 'i')
topic_B = Topic('queue/b', 'i')

g = Gabby([topic_B], [topic_A])
data = (1,)
g.send(Message(data, g.output_topics))

```


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

gabby-0.0.4.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gabby-0.0.4-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file gabby-0.0.4.tar.gz.

File metadata

  • Download URL: gabby-0.0.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gabby-0.0.4.tar.gz
Algorithm Hash digest
SHA256 7a2f2eadaec7c8ca4d7186bd3291a5c6bf34b5e4769b6a70fa0cd93cc5e983cb
MD5 b57a295f33b2d46dc90f1795787917b1
BLAKE2b-256 c0933817d317649fa813daf99a4835dcc7a1988877dc0c7cf149764176d71f49

See more details on using hashes here.

File details

Details for the file gabby-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for gabby-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 33c9bde73226e33298d69ea08a643eb7eba76e4afcebc0049bada0aa190c0193
MD5 76b7ba53ad34f2a8963a79cb7767edee
BLAKE2b-256 18e30a82169a5c58565bc9fbca53fa6e4362674be778fdcc942d49591ba2b8cb

See more details on using hashes here.

Supported by

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