{ "info": { "author": "Lily Seabreeze", "author_email": "lillian.gardenia.seabreeze@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5" ], "description": "# msg\n\n[![Travis CI Status](https://travis-ci.org/lily-seabreeze/msg.svg)](https://travis-ci.org/lily-seabreeze/msg)\n[![Coveralls Code Coverage](https://img.shields.io/coveralls/lily-seabreeze/msg.svg)](https://coveralls.io/github/lily-seabreeze/msg)\n[![PyPi](https://img.shields.io/pypi/v/msg.svg)](https://pypi.python.org/pypi/msg)\n\nmsg is a simple, but powerful RESTful [service-oriented architecture (SOA)](https://en.wikipedia.org/wiki/Service-oriented_architecture)\nmessaging library.\n\nmsg focuses on the overlapping core features of any messaging system,\nso you can skip to implementing the cool parts. You can use msg to\nbuild live chat/instant messenger, a forum, a Twitter clone, a blog, etc.\n\nmsg runs in Python 2 and 3. msg can be configured to use\nany database supported by SQLAlchemy.\n\nThe beauty in this project is that its focus/scope is tiny, the barebones\nof any messaging system, which we perfect for you.\n\nFor the REST API, setup instructions, deployment instructions, and more,\nplease read [The Official msg Wiki](https://github.com/lily-seabreeze/msg/wiki)!\n\n## Generic setup\n\n 1. install and launch redis server\n 2. Edit `msg/config.py` or override\n 3. `pip install -r requirements/base.txt`\n 4. `gunicorn msg.msg:app --worker-class gevent --bind localhost:5000`\n\nIf you're using a non-default database:\n\n`python -c \"import msg.msg; msg.msg.init_db()\"`\n\n\n## Test it out\n\nFor the demo to work you need to install the\n`Allow-Control-Allow-Origin: *` plugin for Firefox,\nChrome, whatever.\n\n 1. `cd examples`\n 2. `python msgviewer.py`\n 3. Checkout http://localhost:8080/ and http://localhost:8080/stream\n\nIf you're using `httpie` (`sudo apt install httpie`) here are some example commands:\n\n 4. Create a user: `http POST localhost:5000/user username=kitten password=yarn`\n 5. Create a message: `http POST localhost:5000/message text=\"i love kittens\" --auth kitten:yarn`", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "msg", "package_url": "https://pypi.org/project/msg/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/msg/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/msg/0.7.8/", "requires_dist": null, "requires_python": null, "summary": "msg server backend", "version": "0.7.8" }, "last_serial": 2249789, "releases": { "0.6.2": [ { "comment_text": "", "digests": { "md5": "49cc3a7f6b207874f965e45d6bd1819d", "sha256": "67659e4485c82c271c86c72b111219925ccf119b7b333701642a7b115100eb36" }, "downloads": -1, "filename": "msg-0.6.2.tar.gz", "has_sig": false, "md5_digest": "49cc3a7f6b207874f965e45d6bd1819d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5767, "upload_time": "2016-07-28T09:50:08", "url": "https://files.pythonhosted.org/packages/72/c8/b294ee498adc151f62e5744af33233fd58adaa9deee88cc44f358860cc35/msg-0.6.2.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "e03695fd96aa1703dd118fa53916b720", "sha256": "01032591dc1d3c9b6d25c3b38ea9a8510a8ca84a21def24402418fc701263321" }, "downloads": -1, "filename": "msg-0.7.1.tar.gz", "has_sig": false, "md5_digest": "e03695fd96aa1703dd118fa53916b720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5746, "upload_time": "2016-07-28T10:12:07", "url": "https://files.pythonhosted.org/packages/43/20/74c82c2635b1908da90fb8c3efc863164c6223f7abb0f12a31907dd7ba35/msg-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "3b5a5603c29f3aae83c24b095fafcb43", "sha256": "bd6f0e49a8e0095e1e74ed8fce429e9966aea10300b11a0bddb85dc12761adcb" }, "downloads": -1, "filename": "msg-0.7.2.tar.gz", "has_sig": false, "md5_digest": "3b5a5603c29f3aae83c24b095fafcb43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6090, "upload_time": "2016-07-28T17:51:35", "url": "https://files.pythonhosted.org/packages/e0/5b/5a9df4b54147e662bc741ce7215666491e98661d9d69020c6c57df8a91d5/msg-0.7.2.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "4a4a06a57726c27ba47ed2d831ada6df", "sha256": "8e9eda7397f49bde55c752ac81b16af53974194ec373ca86e3680c8f3aca5a8e" }, "downloads": -1, "filename": "msg-0.7.4.tar.gz", "has_sig": false, "md5_digest": "4a4a06a57726c27ba47ed2d831ada6df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6143, "upload_time": "2016-07-28T18:12:40", "url": "https://files.pythonhosted.org/packages/98/45/ead322c81f3fa04b436ef4c6f223c33a9a4a71da88a06c5994d7d82985be/msg-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "7d024020b1bf4d5e2a18a259ab0e9d21", "sha256": "d92e3aa8e25a24eb0e23060c0f81c329669212306705ae83115a703edc99daee" }, "downloads": -1, "filename": "msg-0.7.5.tar.gz", "has_sig": false, "md5_digest": "7d024020b1bf4d5e2a18a259ab0e9d21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5911, "upload_time": "2016-07-28T18:17:12", "url": "https://files.pythonhosted.org/packages/b2/71/aa384a2dd40f2036193e5b6241a7c3fbdb85b45e2279a3e22e0c41858ff9/msg-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "3d2926c2f30163fe63b034ef984f2e4d", "sha256": "3d9b9279c45541c252aab7825b20ba72ad7d0bc33524459bd186ba8bfd44fea3" }, "downloads": -1, "filename": "msg-0.7.6.tar.gz", "has_sig": false, "md5_digest": "3d2926c2f30163fe63b034ef984f2e4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5989, "upload_time": "2016-07-28T18:29:29", "url": "https://files.pythonhosted.org/packages/59/c4/1fdd93380446e9e27d1a29d0580561c95a08b12e4a5e8427af6a7ac0bd32/msg-0.7.6.tar.gz" } ], "0.7.7": [ { "comment_text": "", "digests": { "md5": "8d3b046c95dc9450a7c234d6bfd10016", "sha256": "1b15a934a0e9bc24b8de48fd1717c5da1bb9e872c22b7d3b0d132961b065507c" }, "downloads": -1, "filename": "msg-0.7.7.tar.gz", "has_sig": false, "md5_digest": "8d3b046c95dc9450a7c234d6bfd10016", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6158, "upload_time": "2016-07-28T19:03:16", "url": "https://files.pythonhosted.org/packages/23/26/b7cbc5f6c39f80af4792925ac27b5b638f8a846ecd3be8faaec110bbfc03/msg-0.7.7.tar.gz" } ], "0.7.8": [ { "comment_text": "", "digests": { "md5": "f65cf9b4e8adcf8217bf992e1bd791a7", "sha256": "8ff0758d1ea8a244834d70f1a02c805ec9437280e8ecb886b4490f599853bfc5" }, "downloads": -1, "filename": "msg-0.7.8.tar.gz", "has_sig": false, "md5_digest": "f65cf9b4e8adcf8217bf992e1bd791a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6172, "upload_time": "2016-07-28T19:17:29", "url": "https://files.pythonhosted.org/packages/cb/9a/dea65c097f92255c2170ebd5c6dd2ce118b0220f2d3b0c017518b1076a54/msg-0.7.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f65cf9b4e8adcf8217bf992e1bd791a7", "sha256": "8ff0758d1ea8a244834d70f1a02c805ec9437280e8ecb886b4490f599853bfc5" }, "downloads": -1, "filename": "msg-0.7.8.tar.gz", "has_sig": false, "md5_digest": "f65cf9b4e8adcf8217bf992e1bd791a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6172, "upload_time": "2016-07-28T19:17:29", "url": "https://files.pythonhosted.org/packages/cb/9a/dea65c097f92255c2170ebd5c6dd2ce118b0220f2d3b0c017518b1076a54/msg-0.7.8.tar.gz" } ] }