In these links, you will find more information about the mentioned tools and official python documentation for some of the commented modules:
https://developer.shodan.io/api
You can create your own DNS server with the python dnslib module: https://pypi.org/project/dnslib/
https://github.com/fuzzdb-project/fuzzdb.
In the Python ecosystem, we can find other fuzzers, such as wfuzz.
Wfuzz is a web-application security-fuzzer tool that you can use from the command line or programmatically with the Python library: https://github.com/xmendez/wfuzz.
Official documentation is available at http://wfuzz.readthedocs.io.
Projects examples that use the python Shodan module: