nadzoring.utils.validators module¶
Input validation utilities.
- nadzoring.utils.validators.resolve_hostname(hostname: str) str | None[source]¶
Resolve a hostname to its IPv4 address via DNS.
- Parameters:
hostname – Hostname to resolve (e.g.
"example.com").- Returns:
IPv4 address string on success, or
Noneif resolution fails.
Examples
>>> ip = resolve_hostname("localhost") >>> ip == "127.0.0.1" True
- nadzoring.utils.validators.validate_domain(domain: str) bool[source]¶
Validate a domain name against standard naming conventions.
Checks length, optional trailing dot, and per-label character rules (1-63 characters, alphanumeric plus hyphens, no leading/trailing hyphens).
- Parameters:
domain – Domain name string to validate.
- Returns:
Trueif the domain name format is valid,Falseotherwise.
Examples
>>> validate_domain("example.com") True >>> validate_domain("-bad.example.com") False
- nadzoring.utils.validators.validate_ip(ip: str) bool[source]¶
Check whether a string is a valid IPv4 or IPv6 address.
- Parameters:
ip – IP address string to validate.
- Returns:
Trueif the string is a valid IP address,Falseotherwise.
Examples
>>> validate_ip("8.8.8.8") True >>> validate_ip("not-an-ip") False