{ "info": { "author": "EXANTE", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# SRV resolver\n\n[![PyPI version](https://badge.fury.io/py/srvresolver.svg)](https://pypi.python.org/pypi/srvresolver/) [![PyPI license](https://img.shields.io/pypi/l/srvresolver.svg)](https://pypi.python.org/pypi/srvresolver/) [![PyPI format](https://img.shields.io/pypi/format/srvresolver.svg)](https://pypi.python.org/pypi/srvresolver/)\n\nHelper to get record from SRV address according to [RFC2782](https://tools.ietf.org/html/rfc2782).\n\n## Features\n\n* support of record weights and priorities\n* check service availability at specific port\n* random record selector\n* cache with ttl support\n\n## Install\n\nThe package can be installed simply by using `pip`:\n\n```sh\npip install srvresolver\n```\n\n## Example\n\n```python\nfrom srvresolver.srv_resolver import SRVResolver\n\n# get all records\nSRVResolver.resolve('_service._tcp.example.com')\n\n# get one random record with working connection \nSRVResolver.resolve_random('_service._tcp.example.com')\n\n# get first available server\nSRVResolver.resolve_first('_service._tcp.example.com')\n```\n\n## Adds\n\n### Resolver with DNS cache\n\nThis one uses cache implemented in dnspython module.\n\n```python\nfrom srvresolver.srv_resolver_cached import SRVResolverCached\n\n# get all records\nSRVResolverCached.resolve('_service._tcp.example.com')\n# same but don't do dns request, load from cache if not expired\nSRVResolverCached.resolve('_service._tcp.example.com')\n```\n\n### Postgres SRV record resolver\n\nExtract postgres records from SRV and check whether master or slave. Requires `psycopg2`\n\n```python\nfrom srvresolver.postgres_resolver import PostgresResolver\n\n# get random working slave record\nPostgresResolver.get_slave('_postgresql._tcp.example.com', username, password)\n\n# get random working master record\nPostgresResolver.get_master('_postgresql._tcp.example.com', username, password)\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/exante/python-srvresolver", "keywords": "dns srv resolve", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "srvresolver", "package_url": "https://pypi.org/project/srvresolver/", "platform": "", "project_url": "https://pypi.org/project/srvresolver/", "project_urls": { "Homepage": "https://github.com/exante/python-srvresolver" }, "release_url": "https://pypi.org/project/srvresolver/0.3.5/", "requires_dist": [ "dnspython", "psycopg2-binary (<2.8,>=2.7) ; extra == 'postgresql_resolver'" ], "requires_python": "", "summary": "SRV record resolver for python", "version": "0.3.5" }, "last_serial": 5557401, "releases": { "0.3.3": [ { "comment_text": "", "digests": { "md5": "6259102e362a7b44a1e35927e19111d3", "sha256": "077546480927b5c4bfb1bf29b7354e8bac72b03c54823ffbd3a31785163fa72b" }, "downloads": -1, "filename": "srvresolver-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6259102e362a7b44a1e35927e19111d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7799, "upload_time": "2019-03-06T20:31:15", "url": "https://files.pythonhosted.org/packages/c3/af/4c6f83945fb44219a28bec8265a5241d39e3492b7880ac93f84dfc0844b7/srvresolver-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d1b62b0eb2c056fc27855ac7e790301", "sha256": "9eecdfd6f9a8415db60db29828ad80c127d856ebf98b5084ea5b5eda7ac1094c" }, "downloads": -1, "filename": "srvresolver-0.3.3.tar.gz", "has_sig": false, "md5_digest": "2d1b62b0eb2c056fc27855ac7e790301", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5348, "upload_time": "2019-03-06T20:31:17", "url": "https://files.pythonhosted.org/packages/96/90/fff84ecdd1a29f73a89a1e44541a20b049f0d347fb59e01b47d9f2f73b8f/srvresolver-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "900b27b5ce6c5cf8006529636236c3cc", "sha256": "bc6158a77c530d9a9e8cd0f897d678507a9fdbc42e42ffe98fc65bdcd18d9643" }, "downloads": -1, "filename": "srvresolver-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "900b27b5ce6c5cf8006529636236c3cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7784, "upload_time": "2019-07-15T12:01:34", "url": "https://files.pythonhosted.org/packages/cb/81/fb1cacad45f6a8307f8af794e10f4fef1ce0a4a1919acf5b00e3dc314517/srvresolver-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1159833b9c1811967299c48f1767398", "sha256": "773c9dfdf9536a1e7dc4aadf302f67285f209847c18c74a2cae388ad78078ab0" }, "downloads": -1, "filename": "srvresolver-0.3.4.tar.gz", "has_sig": false, "md5_digest": "a1159833b9c1811967299c48f1767398", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5361, "upload_time": "2019-07-15T12:01:36", "url": "https://files.pythonhosted.org/packages/28/a7/fb34652806ab0be2b0292f7d76d59e69f6f69f2d0305747ec8ef42767e5b/srvresolver-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "f3e38c86c877bd41f7fff0890d6b766f", "sha256": "0cbb756d929b267e03dac98ea6d9a188d5ce6c8d30ca5553ed6737fb5ddd1c09" }, "downloads": -1, "filename": "srvresolver-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f3e38c86c877bd41f7fff0890d6b766f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7857, "upload_time": "2019-07-19T16:21:22", "url": "https://files.pythonhosted.org/packages/68/8b/4b709c286edcce48fca1c003cff66f2a8b34c6fda0c580611544f3afe814/srvresolver-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6d4eeea52ea0e5069cb94e6aff5bd74", "sha256": "0a8973d340486830ddd057895769cb672c7cd902ae61c21339875ed2a9d7ec0f" }, "downloads": -1, "filename": "srvresolver-0.3.5.tar.gz", "has_sig": false, "md5_digest": "d6d4eeea52ea0e5069cb94e6aff5bd74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5444, "upload_time": "2019-07-19T16:21:24", "url": "https://files.pythonhosted.org/packages/bc/cf/d3afddfaa830fa93e1eaf1d94cff14c5de604ff59caacc337a668a231cb3/srvresolver-0.3.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f3e38c86c877bd41f7fff0890d6b766f", "sha256": "0cbb756d929b267e03dac98ea6d9a188d5ce6c8d30ca5553ed6737fb5ddd1c09" }, "downloads": -1, "filename": "srvresolver-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f3e38c86c877bd41f7fff0890d6b766f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7857, "upload_time": "2019-07-19T16:21:22", "url": "https://files.pythonhosted.org/packages/68/8b/4b709c286edcce48fca1c003cff66f2a8b34c6fda0c580611544f3afe814/srvresolver-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6d4eeea52ea0e5069cb94e6aff5bd74", "sha256": "0a8973d340486830ddd057895769cb672c7cd902ae61c21339875ed2a9d7ec0f" }, "downloads": -1, "filename": "srvresolver-0.3.5.tar.gz", "has_sig": false, "md5_digest": "d6d4eeea52ea0e5069cb94e6aff5bd74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5444, "upload_time": "2019-07-19T16:21:24", "url": "https://files.pythonhosted.org/packages/bc/cf/d3afddfaa830fa93e1eaf1d94cff14c5de604ff59caacc337a668a231cb3/srvresolver-0.3.5.tar.gz" } ] }