google-i18n-address
Address validation helpers for Google's i18n address database
Decision gist · record as of 2026-08-14
Yes. The package is production-stable, actively maintained, has low install friction, carries no known vulnerabilities, and solves a real problem—address validation and formatting across countries is tedious to implement correctly. Use it if you need to handle international addresses in any form. The BSD 3-Clause license is permissive and poses no compliance burden.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with only requests as a runtime dependency.
- Active maintenance with recent commits and production-stable classification.
License · maintenance · safety
permissive license (permissive) — BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; retain copyright notice and disclaimer in distributions.
last release 2024-09-04 (709 days) · last repo commit 2026-04-16 · 159 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 160,347 downloads/mo, #10,664 on PyPI
Alternatives
Verify before relying
pip install google-i18n-address
from google_i18n_address import normalize_address, InvalidAddressError
try:
address = normalize_address({
'country_code': 'US',
'country_area': 'California',
'city': 'Mountain View',
'postal_code': '94043',
'street_address': '1600 Amphitheatre Pkwy'
})
print(address)
except InvalidAddressError as e:
print(e.errors)- Whether requests dependency is used at runtime or only for optional data updates
- Frequency and coverage of i18n metadata updates relative to postal code rule changes
What it is and what it does
This package wraps Google's i18n address metadata repository to provide programmatic address validation, normalization, and formatting for addresses worldwide. It recognizes nine address fields (country code, region, city, postal code, street address, and others) and validates them against country-specific rules, either returning a canonical form suitable for storage or raising an exception with a list of validation errors.
Beyond validation, it offers address latinization (converting non-Latin scripts to Latin equivalents for display and search), address formatting according to postal regulations of the destination country, and access to validation rules for building country-specific address forms. The package ships with a snapshot of Google's metadata and depends only on requests; it is classified as production-stable and actively maintained.
Use it for
- Validate and normalize user-submitted addresses in e-commerce checkout flows before storing or printing shipping labels.
- Build dynamic address forms that show only the fields required for a specific country and display appropriate field labels.
- Convert addresses with non-Latin scripts to Latin equivalents for display in systems that cannot render the original script.
- Validate postal codes and country regions against official rules to catch typos or invalid entries early.
- Format addresses for printing according to each country's post office standards to ensure deliverability.
- Pre-populate country-area choices and postal code patterns for form UI generation.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is production-stable, actively maintained, has low install friction, carries no known vulnerabilities, and solves a real problem—address validation and formatting across countries is tedious to implement correctly. Use it if you need to handle international addresses in any form. The BSD 3-Clause license is permissive and poses no compliance burden.
Install
google-i18n-address on PyPI
Before you install
Low friction: pure Python wheel with only requests as a runtime dependency. Active maintenance with recent commits and production-stable classification.
License in practice
BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; retain copyright notice and disclaimer in distributions.
Quickstart
pip install google-i18n-address
from google_i18n_address import normalize_address, InvalidAddressError
try:
address = normalize_address({
'country_code': 'US',
'country_area': 'California',
'city': 'Mountain View',
'postal_code': '94043',
'street_address': '1600 Amphitheatre Pkwy'
})
print(address)
except InvalidAddressError as e:
print(e.errors)
Verify before relying
- Whether requests dependency is used at runtime or only for optional data updates
- Frequency and coverage of i18n metadata updates relative to postal code rule changes
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerequests |
| Maintenance | Actively maintained 709 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 160,347 / month, #10,664 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: InternationalizationTopic :: Software Development :: Libraries :: Python Modules |
Evidence: google_i18n_address-3.1.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “address validation by country”
- google-i18n-addressValidates, normalizes, and formats postal addresses according to…
- rigourRigour provides data cleaning and validation functions for…
- ip3countryLooks up the ISO 3166-1 alpha-2 country code for an IP address using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also usaddress-scourgify · random-address · us · FormEncode · django-localflavor · usaddress · iso3166 · pyap · pyap2 · postal