SRV record resolver for python
Helper to get record from SRV address according to RFC2782.
- support of record weights and priorities
- check service availability at specific port
- random record selector
- cache with ttl support
The package can be installed simply by using
pip install srvresolver
from srvresolver.srv_resolver import SRVResolver # get all records SRVResolver.resolve('_service._tcp.example.com') # get one random record with working connection SRVResolver.resolve_random('_service._tcp.example.com') # get first available server SRVResolver.resolve_first('_service._tcp.example.com')
Resolver with DNS cache
This one uses cache implemented in dnspython module.
from srvresolver.srv_resolver_cached import SRVResolverCached # get all records SRVResolverCached.resolve('_service._tcp.example.com') # same but don't do dns request, load from cache if not expired SRVResolverCached.resolve('_service._tcp.example.com')
Postgres SRV record resolver
Extract postgres records from SRV and check whether master or slave. Requires
from srvresolver.postgres_resolver import PostgresResolver # get random working slave record PostgresResolver.get_slave('_postgresql._tcp.example.com', username, password) # get random working master record PostgresResolver.get_master('_postgresql._tcp.example.com', username, password)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for srvresolver-0.3.4-py3-none-any.whl