Long story short is that I've decided to build an API service that wraps many of the most useful libraries and other services, even those "one-feature" SaaS offerings.
Be gentle, I'm sharing it to poke and critique.
I have some colleagues in F50 companies who asked to have a service like this deployed internally because of a number of bureaucratic reasons.
It is easier to get an internal API approved than it is to add it to the existing compiled/deployed software stacks. (weird, but it is what it is -- mostly about software supply chains)
Anyway, go look at the openapi spec and see that it is mostly just about scraping and format conversions (for now).
This is in my requirements.txt
git+https://github.com/richardpenman/whois.git@master#egg=python...
And the meat of the file:
import whois
"""Get WHOIS information for a domain."""
try:
domain_info = whois.whois(domain)
except whois.parser.PywhoisError as e:
return Response({"message": "Bad request", "details": str(e)}, status=400)
if domain_info["domain_name"] is None and domain_info["registrar"] is None:
return Response({"message": "Bad request", "details": f"{domain} not found or registered"}, status=400)
return {"result": domain_info}