{ "info": { "author": "Joar Wandborg", "author_email": "joar@5monkeys.se", "bugtrack_url": null, "classifiers": [], "description": "=======================================================\nsocker - pubsub websocket proxy server built on asyncio\n=======================================================\n\nsocker runs as a single-process service, using asyncio for non-blocking I/O.\n\nsocker uses a single redis pubsub channel, and has its own channel\nsubscription logic, this means that you may share redis database with other\napplications.\n\nsocker runs as a single-process service. socker opens up a websocket\nserver port and establishes a redis connection. The redis connection creates\na subscription on the socker channel.\n\n\n------------\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install socker\n\n-----\nUsage\n-----\n\n.. code-block:: bash\n\n $ socker -h\n Start the socker websocket server\n\n Usage:\n socker [options]\n socker -? | --help\n socker --version\n\n Options:\n -i INTERFACE Listening interface [default: localhost]\n -p PORT Listening port [default: 8765]\n\n -v Enable verbose output\n\n --redis-host=HOST Redis host [default: localhost]\n --redis-port=PORT Redis port [default: 6379]\n --redis-db=DB Redis database [default: 0]\n --redis-password=PASSWORD Redis password\n\n --logto FILE Log output to FILE instead of console\n\n --version show version\n -? --help Show this screen\n\n\nTo publish a message to socker from another application:\n\n.. code-block:: python\n\n from socker import Message\n\n\n channel = 'foo.bar.42'\n data = {\n 'yes': [\n 'yes',\n 'no',\n 'baz'\n ]\n }\n\n redis_client.publish('socker', Message(channel, data))\n\nAny websocket clients subscribed to\n\n- ``foo.*``\n- ``foo.bar.*``\n- ``foo.bar.42``\n\nwill receive that message.\n\n-------------------------------\nReleasing a new version to PyPi\n-------------------------------\n\n1. Bump the version in ``VERSION``.\n2. Commit the change and tag it with the new version identifier.\n3. Build a source distribution: ``python setup.py sdist``.\n4. Build a wheel: ``python setup.py bdist_wheel``.\n5. Upload the built distribution using Twine_: ``twine upload dist/*``.\n\n.. _Twine: https://github.com/pypa/twine\n\n------\nThanks\n------\n\nThanks to\n\n- https://github.com/aaugustin/websockets\n- https://github.com/jonathanslenders/asyncio-redis\n\nfor their brilliant asyncio packages.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/5monkeys/socker", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "socker", "package_url": "https://pypi.org/project/socker/", "platform": "", "project_url": "https://pypi.org/project/socker/", "project_urls": { "Homepage": "https://github.com/5monkeys/socker" }, "release_url": "https://pypi.org/project/socker/2.0.1/", "requires_dist": [ "asyncio-redis (>=0.13.4)", "websockets (>=2.3)", "docopt (>=0.6.2)", "Werkzeug (==0.10.4)", "semver (==2.7.2)" ], "requires_python": "", "summary": "redis pubsub websocket proxy", "version": "2.0.1" }, "last_serial": 3352091, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "3ca4fa87f3da9e384dabacecf1990fa3", "sha256": "612ba7c0ea7d87c1ee22a2a9fd786ca00075d4b24054105a3b99610fa50bdced" }, "downloads": -1, "filename": "socker-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3ca4fa87f3da9e384dabacecf1990fa3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12067, "upload_time": "2015-05-20T13:32:00", "url": "https://files.pythonhosted.org/packages/68/89/702cba6be05152b58301992f2f72a4799312038fd0f7d8aa092f0b789d51/socker-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13e0a45e96ddef12fb05f3c5f26b2600", "sha256": "e1c86c25eb2f452d88a65dc0c44ea5dc3509833f8287b8b877c65314bd8d20ba" }, "downloads": -1, "filename": "socker-1.0.tar.gz", "has_sig": false, "md5_digest": "13e0a45e96ddef12fb05f3c5f26b2600", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8319, "upload_time": "2015-05-20T13:32:03", "url": "https://files.pythonhosted.org/packages/ba/e6/dbf9d3baa7f95439547dab74b3cb1df07472eb781ce916ed52cbc3f9ebba/socker-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "588b018b60ffede4e306c468782d53aa", "sha256": "1be15b44d16d3d44c683ebb264f1c5bb4a8a214ed984d49ac168b17002b938f1" }, "downloads": -1, "filename": "socker-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "588b018b60ffede4e306c468782d53aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12216, "upload_time": "2015-05-20T15:46:34", "url": "https://files.pythonhosted.org/packages/9e/f8/ed6889f15c80a539de948edeebe6c22105a6bf770224aba40471cc6aa5e7/socker-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c3cb9823cc0d62b5ff14b077697a6dc", "sha256": "b45d4450f4351d605fcfe6798467d15c31a72e703ebdc5c063d8c63020bb7cfc" }, "downloads": -1, "filename": "socker-1.1.tar.gz", "has_sig": false, "md5_digest": "8c3cb9823cc0d62b5ff14b077697a6dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8457, "upload_time": "2015-05-20T15:46:37", "url": "https://files.pythonhosted.org/packages/7e/de/dbac48ec308cf405e18a8dbe6af95f0203793f3b5255d057234fe0364713/socker-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "73e09ed45fa20349813cd0a6cb8936db", "sha256": "9be90a99d8345a32bc5fec6b56bf8424d0c0d5d0032247a33d7a9ebd14a345f2" }, "downloads": -1, "filename": "socker-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "73e09ed45fa20349813cd0a6cb8936db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12706, "upload_time": "2015-06-30T09:21:09", "url": "https://files.pythonhosted.org/packages/91/9a/7b8e13279d871ba9599f00921a0ef00504cfd806bd67dd19d348937e22f5/socker-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13c7ff45865a3678c7aecaef74a1a176", "sha256": "0edecb85e406d60b99b62d4a12e1bd0f3c83ca6d167e0a5a0218f8dd62752fd9" }, "downloads": -1, "filename": "socker-1.1.1.tar.gz", "has_sig": false, "md5_digest": "13c7ff45865a3678c7aecaef74a1a176", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9024, "upload_time": "2015-06-30T09:21:13", "url": "https://files.pythonhosted.org/packages/0d/a9/629092c4a2975c49ca4ec722f95419f35fd1d6b3e406365d5706298d5862/socker-1.1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "3ad4a36a65779d6953cf910c6df305fa", "sha256": "64affce9d083e8cb3df2231bf154c118934cb550e75f6ee9dde28126540b7b99" }, "downloads": -1, "filename": "socker-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3ad4a36a65779d6953cf910c6df305fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12661, "upload_time": "2015-09-23T10:32:44", "url": "https://files.pythonhosted.org/packages/3a/71/0d03082f318af0f50ee74879a307771b16b0d4640ca19620a9ac0129f354/socker-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41ae9092aaa88d75b9bbb50ea5c04d2d", "sha256": "5891632e31297fe97a5fe22910117eb745c8d8f334304537c6cd9535669c8c5b" }, "downloads": -1, "filename": "socker-1.2.tar.gz", "has_sig": false, "md5_digest": "41ae9092aaa88d75b9bbb50ea5c04d2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8999, "upload_time": "2015-09-23T10:32:49", "url": "https://files.pythonhosted.org/packages/1e/63/713f566532549196877438a209663a45a921269deb3c1e2d877b7b6c2e97/socker-1.2.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "f2293ce7abed1ed0f8f777aa59ec07e1", "sha256": "d04836f1bcd79c5c62f1b7cd54b4c3c6e1e91b931bb89baadf0672f4cd402437" }, "downloads": -1, "filename": "socker-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f2293ce7abed1ed0f8f777aa59ec07e1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13720, "upload_time": "2017-11-21T13:40:43", "url": "https://files.pythonhosted.org/packages/04/df/9d25e84f2cef2e061453b2bba186478c7619b6afcd012ddad0379f54569e/socker-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64ed2437b55b1a09cc604750175d9410", "sha256": "a904c8d87dcbba9e93580de0b3b1731d6143b725e2e7eb00d0795cf4c5f5ffba" }, "downloads": -1, "filename": "socker-2.0.1.tar.gz", "has_sig": false, "md5_digest": "64ed2437b55b1a09cc604750175d9410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9141, "upload_time": "2017-11-21T13:40:44", "url": "https://files.pythonhosted.org/packages/a0/59/64eb0be8c03b457ea744b05fa8cea988670214be7c9541abd203a3bee503/socker-2.0.1.tar.gz" } ], "2.0b1": [ { "comment_text": "", "digests": { "md5": "65bc377d9a8b29fcef044d7338a363a5", "sha256": "39a5c6385def1bd8f821ea7551e72cc360aaabffe2a96f87d52afadca097a42e" }, "downloads": -1, "filename": "socker-2.0b1-py3-none-any.whl", "has_sig": false, "md5_digest": "65bc377d9a8b29fcef044d7338a363a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13631, "upload_time": "2015-09-25T11:57:34", "url": "https://files.pythonhosted.org/packages/db/f4/bfcb9befc577a1c391b25b1baae366c8347b1b67763c1a6dac497b538169/socker-2.0b1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "180c1954ed9ca7f8939e660653e77a7e", "sha256": "d28e81cee98e327861039c46598694d091e12ddd2125413077c20aeb7de50dab" }, "downloads": -1, "filename": "socker-2.0b1.tar.gz", "has_sig": false, "md5_digest": "180c1954ed9ca7f8939e660653e77a7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9701, "upload_time": "2015-09-25T11:57:37", "url": "https://files.pythonhosted.org/packages/9d/c4/d1463fca19afd06f3f514637a60fefa9cf302498470fef14c1f07d2bc785/socker-2.0b1.tar.gz" } ], "2.0b2": [ { "comment_text": "", "digests": { "md5": "7f9063867b47f6f189d86b930b0e1730", "sha256": "4e1bd5f62752092fd576fdd23f39d029545c17b7b6916b65acd6ccf17b4f681b" }, "downloads": -1, "filename": "socker-2.0b2-py3-none-any.whl", "has_sig": false, "md5_digest": "7f9063867b47f6f189d86b930b0e1730", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13805, "upload_time": "2015-09-25T13:13:06", "url": "https://files.pythonhosted.org/packages/26/28/2f4c4002f1c8aecfaf796485bc1d00a08440af198374008b03c7beb85dba/socker-2.0b2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9191d40178e9d28f976b45006fb2cb71", "sha256": "2662d27d01141feb376ac55aac5ba05860584579efcbf6b4fd1fb8b538172925" }, "downloads": -1, "filename": "socker-2.0b2.tar.gz", "has_sig": false, "md5_digest": "9191d40178e9d28f976b45006fb2cb71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9843, "upload_time": "2015-09-25T13:13:10", "url": "https://files.pythonhosted.org/packages/d9/cc/025e10ebe0dda15ef646d1bc45759d91436e6230c446bd5e5f178d8e6ec3/socker-2.0b2.tar.gz" } ], "2.0b3": [ { "comment_text": "", "digests": { "md5": "caa15f9c4e975b5cd83799065d333ed3", "sha256": "ef201dccc7d0e30dde9cba657c7053e144cfa687df7a360c9bc87c13e0801bb8" }, "downloads": -1, "filename": "socker-2.0b3-py3-none-any.whl", "has_sig": false, "md5_digest": "caa15f9c4e975b5cd83799065d333ed3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13804, "upload_time": "2015-12-08T12:47:46", "url": "https://files.pythonhosted.org/packages/28/2f/a7638d1acc65346290afdbeb0b4417ebb4c81f6c60c69552f5ad31ff0f4f/socker-2.0b3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3124a49ab0f4b2ab7966986d073c31cb", "sha256": "2179fbb91b4ba572a1580d418494bcfd4c4d45c34a3b81230a1bcdcd20bbd1a5" }, "downloads": -1, "filename": "socker-2.0b3.tar.gz", "has_sig": false, "md5_digest": "3124a49ab0f4b2ab7966986d073c31cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9968, "upload_time": "2015-12-08T12:47:51", "url": "https://files.pythonhosted.org/packages/fa/9b/b0b3566ca2a3c90b6e99c09af37826ecb94e92152ce7f7eff0c915b8a7b9/socker-2.0b3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f2293ce7abed1ed0f8f777aa59ec07e1", "sha256": "d04836f1bcd79c5c62f1b7cd54b4c3c6e1e91b931bb89baadf0672f4cd402437" }, "downloads": -1, "filename": "socker-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f2293ce7abed1ed0f8f777aa59ec07e1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13720, "upload_time": "2017-11-21T13:40:43", "url": "https://files.pythonhosted.org/packages/04/df/9d25e84f2cef2e061453b2bba186478c7619b6afcd012ddad0379f54569e/socker-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64ed2437b55b1a09cc604750175d9410", "sha256": "a904c8d87dcbba9e93580de0b3b1731d6143b725e2e7eb00d0795cf4c5f5ffba" }, "downloads": -1, "filename": "socker-2.0.1.tar.gz", "has_sig": false, "md5_digest": "64ed2437b55b1a09cc604750175d9410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9141, "upload_time": "2017-11-21T13:40:44", "url": "https://files.pythonhosted.org/packages/a0/59/64eb0be8c03b457ea744b05fa8cea988670214be7c9541abd203a3bee503/socker-2.0.1.tar.gz" } ] }