{ "info": { "author": "Max Persson", "author_email": "max@looplab.se", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking" ], "description": "Introduction\n============\n\nSalut is a Gevent based wrapper around the pybonjour library to facilitate\nthe use of bonjour in a cleaner way.\n\nSalut is composed of two main classes, the Announcer and the Browser. Each have\na set of callbacks to respond to events without locking the main greenlet.\n\n\nExample\n=======\n\n```python\nclass AnnouncerExample(object):\n def run(self):\n self._announcer = salut.Announcer(\n 'ServiceName',\n '_regtype._tcp',\n 5000,\n self._registered_callback)\n\n while True:\n gevent.sleep(1)\n\n def stop(self):\n self._announcer.stop()\n\n def _registered_callback(self, domain, regtype, name):\n print('announcing: %s%s%s' % (domain, regtype, name))\n```\n\n```python\nclass BrowseExample(object):\n def run(self):\n self._browser = salut.Browser(\n 'ServiceName',\n '_regtype._tcp',\n self._resolved_callback,\n self._unresolved_callback)\n\n while True:\n gevent.sleep(1)\n\n def stop(self):\n self._browser.stop()\n\n def _resolved_callback(self, ip, port):\n print('resolved service to %s:%s' % (ip, port))\n\n def _unresolved_callback(self):\n print('lost service %s' % self._service_name)\n\n```\n\n\nLicense\n=======\n\nSalut is licensed under Apache License 2.0\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/looplab/salut", "keywords": null, "license": "Apache License 2.0", "maintainer": null, "maintainer_email": null, "name": "salut", "package_url": "https://pypi.org/project/salut/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/salut/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/looplab/salut" }, "release_url": "https://pypi.org/project/salut/0.1.6/", "requires_dist": null, "requires_python": null, "summary": "Gevent based wrapper for pybonjour", "version": "0.1.6" }, "last_serial": 1076362, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1974dacf6b56228ed9089151b62f4599", "sha256": "036a7d58ce183fcd8ce92418535c06b316e3911e7e54981dc6e4b51051e84766" }, "downloads": -1, "filename": "salut-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1974dacf6b56228ed9089151b62f4599", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2730, "upload_time": "2013-01-22T12:33:54", "url": "https://files.pythonhosted.org/packages/7e/96/59774f78478235f1a8475df1b85bd853b831ff89aa3016a6f75000b80629/salut-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7b43d6a43382ad71e06455fbc2b618c1", "sha256": "4fafdd40545d60b941999e348e15f4725d751af256f7fe592b089c95a22de003" }, "downloads": -1, "filename": "salut-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7b43d6a43382ad71e06455fbc2b618c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6860, "upload_time": "2013-01-22T13:33:45", "url": "https://files.pythonhosted.org/packages/ce/77/86343820c322c0e210293ca79b923b3f0aa40edaf3b824d395fe1cedd9cf/salut-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "73e14f9fa361475ec6bbc33eb22aba1f", "sha256": "f8c00ea9ddc6fae9d059518234e03e7083b86ca7fc0aa9257cc9b2d529ec41ff" }, "downloads": -1, "filename": "salut-0.1.2.tar.gz", "has_sig": false, "md5_digest": "73e14f9fa361475ec6bbc33eb22aba1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7041, "upload_time": "2013-01-22T13:37:41", "url": "https://files.pythonhosted.org/packages/7e/28/e791bdc5c9b36a854c002bdf8873a9b6cfd230c1d72cdb1ad3fa74288b26/salut-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8ad53bdcba5541474085c8f808fd26c0", "sha256": "77c07a3697b74458afae19ffffcbe9d365a5db5497f2de61607f07059cb57659" }, "downloads": -1, "filename": "salut-0.1.3.tar.gz", "has_sig": false, "md5_digest": "8ad53bdcba5541474085c8f808fd26c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7112, "upload_time": "2013-05-22T11:14:34", "url": "https://files.pythonhosted.org/packages/81/9a/c8c2404d2f75d50464a8bc35ab2b6e83819f723d77790976b8567bca8097/salut-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a35cfdf10fadfa433a0e90e228e3fb35", "sha256": "899361bf90dbd188ea401822dc73beda047cc61c2561e444983bbeb2c0efd0f4" }, "downloads": -1, "filename": "salut-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a35cfdf10fadfa433a0e90e228e3fb35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7167, "upload_time": "2014-04-30T08:55:31", "url": "https://files.pythonhosted.org/packages/5f/86/a162f208118ded54317bf57bf28bb8eac49a08131eaa8bb8a7fb29c15601/salut-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "0337a068a20754d74225185c5ea17d5f", "sha256": "0f3ea389e0d388060eb825679cd5abeb5104211b2f1152b284ea2937aee25fcd" }, "downloads": -1, "filename": "salut-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0337a068a20754d74225185c5ea17d5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7206, "upload_time": "2014-04-30T08:58:22", "url": "https://files.pythonhosted.org/packages/34/27/a35b576a309103404f67d24bf5bd91e6d2df9194174e57f75b4b2ac67158/salut-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a20aa87e179d4115c00dc1ec889285eb", "sha256": "e80cb56b33baddef6e17fef78b9dd2f012bb3ece8e23dada299703bcf69675a6" }, "downloads": -1, "filename": "salut-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a20aa87e179d4115c00dc1ec889285eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7207, "upload_time": "2014-04-30T09:08:14", "url": "https://files.pythonhosted.org/packages/04/aa/e1c93171dd092e7fba70cad0fb980a85e7268c08751de451226ead24e279/salut-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a20aa87e179d4115c00dc1ec889285eb", "sha256": "e80cb56b33baddef6e17fef78b9dd2f012bb3ece8e23dada299703bcf69675a6" }, "downloads": -1, "filename": "salut-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a20aa87e179d4115c00dc1ec889285eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7207, "upload_time": "2014-04-30T09:08:14", "url": "https://files.pythonhosted.org/packages/04/aa/e1c93171dd092e7fba70cad0fb980a85e7268c08751de451226ead24e279/salut-0.1.6.tar.gz" } ] }