{ "info": { "author": "Jay Marcyes", "author_email": "jay@marcyes.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Database", "Topic :: Software Development :: Libraries", "Topic :: Utilities" ], "description": "Morp\n====\n\nSend messages without really thinking about it. Currently works with\nAmazon\u2019s `SQS `__.\n\n1 Minute Getting Started\n------------------------\n\nSend and receive a ``Foo`` message.\n\nFirst, let\u2019s set our environment variable:\n\n::\n\n export MORP_DSN=morp.interface.sqs.SQS://AWS_ID:AWS_KEY@\n\nSecond, let\u2019s create a ``Foo`` class:\n\n.. code:: python\n\n import morp\n\n class Foo(morp.Message):\n def target(self):\n # this will be run when a message is consumed\n print(self.fields)\n\nThird, let\u2019s start our message consumer\n\n::\n\n $ morp --quiet\n\nFourth, let\u2019s send a message:\n\n.. code:: python\n\n f = Foo()\n f.some_field = 1\n f.some_other_field = 2\n f.send()\n\nAnd we\u2019re done, take a look in the `example\nfolder `__ for\nthe actual code.\n\nDSN\n---\n\nYou configure your connection using a dsn in the form:\n\n::\n\n InterfaceName://username:password@?param1=value1¶m2=value2\n\nSo, to connect to SQS, you would do:\n\n::\n\n morp.interface.sqs.SQS://AWS_ID:AWS_KEY@\n\nYou can also override some default values like ``region`` and\n``read_lock``:\n\n::\n\n morp.interface.sqs.SQS://AWS_ID:AWS_KEY@?region=us-west-1&read_lock=120\n\nEncryption\n----------\n\nIf you would like to encrypt all your messages, you can pass in a\n``key`` or ``keyfile`` argument to your dsn that either contains a key\nor a path to a key file and Morp will take care of encrypting and\ndecrypting the messages for you transparently.\n\nIf we just want to have a key, let\u2019s just modify our dsn:\n\n::\n\n morp.interface.sqs.SQS://AWS_ID:AWS_KEY@?key=jy4XWRuEsrH98RD2VeLG62uVLCPWpdUh\n\nTo use a keyfile, let\u2019s first generate a key file:\n\n::\n\n openssl rand -base64 256 > /tmp/keyfile.key\n\nAnd modify our dsn:\n\n::\n\n morp.interface.sqs.SQS://AWS_ID:AWS_KEY@?keyfile=/tmp/keyfile.key\n\nThat\u2019s it, every message will now be encrypted on send and decrypted on\nreceive.\n\nEnvironment configuration\n-------------------------\n\nMORP_DISABLED\n~~~~~~~~~~~~~\n\nBy default every message will be sent, if you just want to test\nfunctionality without actually sending the message you can set this\nenvironment variable to turn off all the queues.\n\n::\n\n MORP_DISABLED = 1 # queue is off\n MORP_DISABLED = 0 # queue is on\n\nMORP_PREFIX\n~~~~~~~~~~~\n\nBy default, the queue name is just the class name, but if you would like\nto have that prefixed with something (eg, ``prod`` or ``dev``) then you\ncan set this environment variable and it will be prefixed to the queue\nname.\n\nMORP_DSN\n~~~~~~~~\n\nIf you set the environment variable ``MORP_DSN`` with your connection\ndsn, morp will automatically configure itself on first import.\n\nFAQ\n---\n\nI would like to have multiple queues\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nBy default, Morp will send any message from any ``morp.Message`` derived\nclass to ``Message.get_name()``, you can override this behavior by\ngiving your child class a ``.name`` attribute:\n\n.. code:: python\n\n class childMsg(morp.Message):\n name = \"custom-queue-name\"\n\nNow, you can have the Morp command line consumer read from that queue\ninstead:\n\n::\n\n $ morp --quiet=\"\" custom-queue-name\n\nInstallation\n------------\n\nUse pip:\n\n::\n\n pip install morp\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Jaymon/morp", "keywords": "Amazon AWS SQS messages message-passing", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "morp", "package_url": "https://pypi.org/project/morp/", "platform": "", "project_url": "https://pypi.org/project/morp/", "project_urls": { "Homepage": "http://github.com/Jaymon/morp" }, "release_url": "https://pypi.org/project/morp/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "Send and receive messages without thinking about it", "version": "1.0.1" }, "last_serial": 5519577, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1a8043afcc9af1883f1c1624ae2a2e9a", "sha256": "7fae3b982f5189fae71d55cead30986ad0107f680b437194f1d4a7d9830dd2f5" }, "downloads": -1, "filename": "morp-0.1.tar.gz", "has_sig": false, "md5_digest": "1a8043afcc9af1883f1c1624ae2a2e9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6668, "upload_time": "2013-08-27T01:44:24", "url": "https://files.pythonhosted.org/packages/9e/f3/3b7ba1932ef42f163c4e31dfa640ebae647b0ec796f8f491db45be1b7d3c/morp-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "05ad470439731106d77d8d8dedf1c97b", "sha256": "55793778cf01187f719fbf26ea4eac6349df18091356488328a863ad30854733" }, "downloads": -1, "filename": "morp-0.2.tar.gz", "has_sig": false, "md5_digest": "05ad470439731106d77d8d8dedf1c97b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7119, "upload_time": "2014-08-29T00:44:19", "url": "https://files.pythonhosted.org/packages/9c/f8/95b15f00ec91b94147c8f4071088ea76025a1e26c06b6e23e93012b8d9e4/morp-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2bac196b8ff65ad698bdc6a7e602c901", "sha256": "525b21fec4f0b136216acdfdbb135e21745e7ecff1ed6504a3be92404ba6d099" }, "downloads": -1, "filename": "morp-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2bac196b8ff65ad698bdc6a7e602c901", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7135, "upload_time": "2014-08-29T00:49:37", "url": "https://files.pythonhosted.org/packages/76/3b/05a386ef7e0bf1b3175ae2cf857f9118913278a9eb67d3efd47f35b4ff59/morp-0.2.1.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "b0f5323458d34d458636be77dd257878", "sha256": "cfdb57ffcb65b509cf445381d86fb6f512bd38812f2f2ed7320ccbe5f5274e7d" }, "downloads": -1, "filename": "morp-0.2.6.tar.gz", "has_sig": false, "md5_digest": "b0f5323458d34d458636be77dd257878", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7411, "upload_time": "2014-09-03T00:29:26", "url": "https://files.pythonhosted.org/packages/5b/28/e8ed09be59190bb42838eac482f10ffeb48dc365a766bc15219ee91ed1f1/morp-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "a321db3c2e17aa58b0b661d5b4ea01de", "sha256": "72d01b55fb0c450c97d2458d29464e2b5420e7e1b9857fe3d79c7b6d03c33c69" }, "downloads": -1, "filename": "morp-0.2.7.tar.gz", "has_sig": false, "md5_digest": "a321db3c2e17aa58b0b661d5b4ea01de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7459, "upload_time": "2014-09-03T01:16:43", "url": "https://files.pythonhosted.org/packages/f8/75/dc6bd7039fe233dffd14f87cc48eb5fd65a063643876989912760de68ee8/morp-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "6e6ad583473d2546d8199b8166ade190", "sha256": "8ce0adbe1ba20977591381d4724e8a8faa2f861b4eb360edb491b0b31b19968d" }, "downloads": -1, "filename": "morp-0.2.8.tar.gz", "has_sig": false, "md5_digest": "6e6ad583473d2546d8199b8166ade190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7485, "upload_time": "2014-09-11T00:38:37", "url": "https://files.pythonhosted.org/packages/68/a0/2ae84f58704694884241369de4ce04a8daac0beb4015fb96bdd2eff3193b/morp-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "dd1f20b5dca36920f17765ded4a3afd7", "sha256": "59e25f46cab4b0801ca76823b6a1436a9b88150631e60783479ad3dc2268503d" }, "downloads": -1, "filename": "morp-0.2.9.tar.gz", "has_sig": false, "md5_digest": "dd1f20b5dca36920f17765ded4a3afd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8409, "upload_time": "2015-03-27T03:18:46", "url": "https://files.pythonhosted.org/packages/13/f1/f32dd1e56eb9ec17eb6e0fca20a5d57d242386ffbf5bac1909f737944996/morp-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4c974d118615912a42b390876062f6f2", "sha256": "869075aeabc2a26ef7a09acefcbb68d51267b3ad3fcb29172b8ca98527c61951" }, "downloads": -1, "filename": "morp-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4c974d118615912a42b390876062f6f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8980, "upload_time": "2015-04-15T22:21:39", "url": "https://files.pythonhosted.org/packages/fe/11/6ae7f636b986db6b8b694a40c9f10132b84fa268d0e389ae06287b286fc2/morp-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "d90c47dd591906a1133da56c93553ade", "sha256": "e4b727b67e06c940afc9ebdac4e34ff3b3ba495066d746a04d5861bacf47d261" }, "downloads": -1, "filename": "morp-0.3.1.tar.gz", "has_sig": false, "md5_digest": "d90c47dd591906a1133da56c93553ade", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9084, "upload_time": "2015-06-26T01:42:54", "url": "https://files.pythonhosted.org/packages/71/ee/aab2b835a1aa295efda623d12179de488587fd8c5ee4e92fa50d32d64f76/morp-0.3.1.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "407946a514aa700981204f3590916ef7", "sha256": "73ff0932513f134672f12d2defdad9de4e34a921f047fec7633091d2b04708df" }, "downloads": -1, "filename": "morp-0.3.3.tar.gz", "has_sig": false, "md5_digest": "407946a514aa700981204f3590916ef7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9183, "upload_time": "2015-09-11T04:08:39", "url": "https://files.pythonhosted.org/packages/35/e4/adbc8ac34045ee515608dee31868dde0562d191aa1dd9a9224d342e7dcc8/morp-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "5c55dcff96f3330aaabcde4dc24d21dc", "sha256": "25ed9bcd158cf9ff8b817520d8d78e1cf3db866b59fdbd0f955fd39982c4946d" }, "downloads": -1, "filename": "morp-0.3.4.tar.gz", "has_sig": false, "md5_digest": "5c55dcff96f3330aaabcde4dc24d21dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9530, "upload_time": "2016-04-27T23:42:38", "url": "https://files.pythonhosted.org/packages/66/33/3747a84b60a70ca28677024306cfdd2c8ec635624c170b828abcd8d18011/morp-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "bfb766e1ed33ca463874e9a94971602e", "sha256": "06bba2ba3df83da4127177dfdcad3ad5afbe19d970230118b975bace4d7c1b79" }, "downloads": -1, "filename": "morp-0.3.5.tar.gz", "has_sig": false, "md5_digest": "bfb766e1ed33ca463874e9a94971602e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11247, "upload_time": "2016-07-19T20:56:11", "url": "https://files.pythonhosted.org/packages/5c/0e/66cbb24ab5ffa5e45ca94f3f4b11932997fc9fb0885ea9a8bed883339e38/morp-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "98ec9741f8de70685a82ee0f1b97eaef", "sha256": "7faf4a45e8c9ec17fef13472a4047cc676afdb88e9892ce3a998fae0b8b85d31" }, "downloads": -1, "filename": "morp-0.3.6.tar.gz", "has_sig": false, "md5_digest": "98ec9741f8de70685a82ee0f1b97eaef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11256, "upload_time": "2017-02-01T23:26:39", "url": "https://files.pythonhosted.org/packages/ee/65/9744db6dc82947d6583e40f9d3331f147251b81e21b518d64fce603dc65b/morp-0.3.6.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "bcaca244420c867ae8e985367bd9a8fa", "sha256": "a31ee1e394aac34362f499ff7d6a202483078f40e2d8652978fb31c998efd457" }, "downloads": -1, "filename": "morp-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bcaca244420c867ae8e985367bd9a8fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16236, "upload_time": "2019-07-03T20:13:48", "url": "https://files.pythonhosted.org/packages/82/d1/4e9cf9746b14494376040d1263f2231cf304035b653efba225dcd252fe98/morp-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "2067222d026b3a908c6f63a3090272e6", "sha256": "205b188769550cd6a64a710902179ad8ab9a45a9ffb45428e8af1c113f78165f" }, "downloads": -1, "filename": "morp-1.0.1.tar.gz", "has_sig": false, "md5_digest": "2067222d026b3a908c6f63a3090272e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16227, "upload_time": "2019-07-11T18:58:59", "url": "https://files.pythonhosted.org/packages/15/b0/35ad4f761243daa8e9d8d79b791c5db08aa9454638648c2bf1461e5b06de/morp-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2067222d026b3a908c6f63a3090272e6", "sha256": "205b188769550cd6a64a710902179ad8ab9a45a9ffb45428e8af1c113f78165f" }, "downloads": -1, "filename": "morp-1.0.1.tar.gz", "has_sig": false, "md5_digest": "2067222d026b3a908c6f63a3090272e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16227, "upload_time": "2019-07-11T18:58:59", "url": "https://files.pythonhosted.org/packages/15/b0/35ad4f761243daa8e9d8d79b791c5db08aa9454638648c2bf1461e5b06de/morp-1.0.1.tar.gz" } ] }