FQDN Validation Library

1.5.1 · active · verified Sat Mar 28

The `fqdn` Python library, currently at version 1.5.1, provides RFC-compliant validation and manipulation of Fully Qualified Domain Names (FQDNs). Its primary purpose is to ensure that domain names adhere to Internet Engineering Task Force specifications like RFC 1123, making them suitable for traditional internet hostname usage. This is often a stricter subset of what modern web browsers accept. The library typically sees updates in response to specification clarifications or bug fixes, though major releases are infrequent.

Warnings

Install

Imports

Quickstart

Instantiate the `FQDN` class with a domain string and use its `is_valid` property to check for RFC compliance. Other properties like `absolute` and `relative` provide different representations.

from fqdn import FQDN

domain_name_valid = 'example.com'
domain_name_invalid = 'localhost'

fqdn_obj_valid = FQDN(domain_name_valid)
fqdn_obj_invalid = FQDN(domain_name_invalid)

print(f"'{domain_name_valid}' is valid: {fqdn_obj_valid.is_valid}")
print(f"Absolute form: {fqdn_obj_valid.absolute}")
print(f"'{domain_name_invalid}' is valid: {fqdn_obj_invalid.is_valid}")

# Example with relaxed constraints (though specific params aren't directly exposed in quickstart)
# fqdn_obj_relaxed = FQDN('example', allow_single_label=True) # Illustrative, actual param might differ or be via a different method
# print(f"'example' is valid (relaxed): {fqdn_obj_relaxed.is_valid}")

view raw JSON →