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.4.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

srvresolver-0.3.4-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: srvresolver-0.3.4.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.4.tar.gz
Algorithm Hash digest
SHA256 773c9dfdf9536a1e7dc4aadf302f67285f209847c18c74a2cae388ad78078ab0
MD5 a1159833b9c1811967299c48f1767398
BLAKE2b-256 28a7fb34652806ab0be2b0292f7d76d59e69f6f69f2d0305747ec8ef42767e5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: srvresolver-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 7.8 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bc6158a77c530d9a9e8cd0f897d678507a9fdbc42e42ffe98fc65bdcd18d9643
MD5 900b27b5ce6c5cf8006529636236c3cc
BLAKE2b-256 cb81fb1cacad45f6a8307f8af794e10f4fef1ce0a4a1919acf5b00e3dc314517

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