Address Validation for International Addresses

3.1.1 · active · verified Fri Apr 17

google-i18n-address provides address validation helpers leveraging Google's international address database. It helps in validating, normalizing, and latinizing addresses for various countries. The library is currently at version 3.1.1 and receives updates typically for database rule changes or minor packaging improvements.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to validate an international address using Address, AddressValidator, and get_validation_rules. It also shows how to normalize an address object.

from i18naddress import Address, AddressValidator, get_validation_rules

address_data = {
    'country_code': 'US',
    'street_address': '1600 Amphitheatre Pkwy',
    'city': 'Mountain View',
    'postal_code': '94043',
    'country_area': 'CA'
}

# Create an Address object
address = Address(**address_data)

# Get validation rules for the address's country
rules = get_validation_rules(address_data)

# Validate the address
errors = AddressValidator().validate(address, rules)

if errors:
    print(f"Validation errors: {errors}")
else:
    print("Address is valid.")

# Example of getting normalized address
normalized_address = address.normalize()
print(f"Normalized address: {normalized_address.as_dict()}")

view raw JSON →