Skip to main content

Send and receive messages without thinking about it

Project description

Send messages without really thinking about it. Currently works with Amazon’s SQS.

DSN

You configure your connection using a dsn in the form:

InterfaceName://username:password@?param1=value1&param2=value2

So, to connect to SQS, you would do:

morp.interface.sqs.SQS://AWS_ID:AWS_KEY@

You can also override some default values like region and read_lock:

morp.interface.sqs.SQS://AWS_ID:AWS_KEY@?region=us-west-1&read_lock=120

Finally, if you would like to encrypt all your messages, you can pass in keyfile with a path to a key file and Morp will take care of encrypting and decrypting the messages for you transparently to you:

morp.interface.sqs.SQS://AWS_ID:AWS_KEY@?keyfile=/some/path/keyfile.key

If you set the environment variable MORP_DSN with your connection dsn then morp will automatically configure itself on first import.

1 Minute Getting Started

Send and receive a Foo message.

First, let’s set our environment variable:

export MORP_DSN=morp.interface.sqs.SQS://AWS_ID:AWS_KEY@

Second, let’s create a Foo class:

import morp

class Foo(morp.Message):
    pass

Third, let’s get Foo ready to receive messages:

while True:
    with Foo.recv() as foo_msg:
        print foo_msg.fields

Fourth, let’s send a message:

f = Foo()
f.some_field = 1
f.some_other_field = 2
f.send()

And we’re done, you can check out the actual example in the /example folder on Github to see similar code to the above in action.

Installation

Use pip:

pip install morp

License

MIT

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

morp-0.2.9.tar.gz (8.4 kB view details)

Uploaded Source

File details

Details for the file morp-0.2.9.tar.gz.

File metadata

  • Download URL: morp-0.2.9.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for morp-0.2.9.tar.gz
Algorithm Hash digest
SHA256 59e25f46cab4b0801ca76823b6a1436a9b88150631e60783479ad3dc2268503d
MD5 dd1f20b5dca36920f17765ded4a3afd7
BLAKE2b-256 13f1f32dd1e56eb9ec17eb6e0fca20a5d57d242386ffbf5bac1909f737944996

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