Skip to main content

SRV record resolver for python

Project description

SRV resolver

PyPI version PyPI license PyPI format

Helper to get record from SRV address according to RFC2782.

Features

  • support of record weights and priorities
  • check service availability at specific port
  • random record selector
  • cache with ttl support

Install

The package can be installed simply by using pip:

pip install srvresolver

Example

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')

Adds

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 psycopg2

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

srvresolver-0.3.5.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

srvresolver-0.3.5-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file srvresolver-0.3.5.tar.gz.

File metadata

  • Download URL: srvresolver-0.3.5.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for srvresolver-0.3.5.tar.gz
Algorithm Hash digest
SHA256 0a8973d340486830ddd057895769cb672c7cd902ae61c21339875ed2a9d7ec0f
MD5 d6d4eeea52ea0e5069cb94e6aff5bd74
BLAKE2b-256 bccfd3afddfaa830fa93e1eaf1d94cff14c5de604ff59caacc337a668a231cb3

See more details on using hashes here.

File details

Details for the file srvresolver-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: srvresolver-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for srvresolver-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0cbb756d929b267e03dac98ea6d9a188d5ce6c8d30ca5553ed6737fb5ddd1c09
MD5 f3e38c86c877bd41f7fff0890d6b766f
BLAKE2b-256 688b4b709c286edcce48fca1c003cff66f2a8b34c6fda0c580611544f3afe814

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page