pydig is a python wrapper library for the 'dig' command line tool.
pydig follows SemVer (MAJOR.MINOR.PATCH) to track what is in each release.
- Major version number will be bumped when there is an incompatible API change
- Minor version number will be bumped when there is functionality added in a backwards-compatible manner.
- Patch version number will be bumped when there is backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Installation the package from pypi with your tool of choice pip
, poetry
or pipenv
.
pip install pydig
To use the default resolver you can call pydig.query
this resolver will use
the dig
command found in your $PATH
.
>>> import pydig
>>> pydig.query('example.com', 'A')
['93.184.216.34']
>>> pydig.query('www.github.com', 'CNAME')
['github.com.']
>>> pydig.query('example.com', 'NS')
['a.iana-servers.net.', 'b.iana-servers.net.']
If your want to adjust the executable location, the nameservers to dig will
query against or would like to pass additional arguments/flags, you can
configure your own instance of a resolver. and call the query
method of your
custom resolver.
>>> import pydig
>>> resolver = pydig.Resolver(
... executable='/usr/bin/dig',
... nameservers=[
... '1.1.1.1',
... '1.0.0.1',
... ],
... additional_args=[
... '+time=10',
... ]
... )
>>> resolver.query('example.com', 'A')
>>> ['93.184.216.34']
The code is 150~ lines with 100% test coverage
https://github.com/leonsmith/pydig/tree/master/pydig
If you’re interested in financially supporting open source, consider donating.