--- id: phonenumberslite version: "9.0.37" license: Apache-2.0 license_treatment: permissive maintenance: active --- # phonenumberslite — Python version of Google's common library for parsing, formatting, storing and validating international phone numbers. License: permissive · Maintenance: active · Downloads: 3.5M/mo ## What it is and what it does phonenumberslite is a Python port of Google's libphonenumber library that handles international phone number parsing, validation, and formatting. It parses phone number strings into structured objects, validates whether they are possible or valid numbers for their region, and reformats them into standard formats. The library also supports finding phone numbers within larger text blocks and retrieving basic metadata like timezone information. Unlike the full phonenumbers package, phonenumberslite excludes geocoding and carrier metadata to reduce memory footprint, making it suitable for space-constrained environments. It has no external runtime dependencies and runs as pure Python across Python 2.5 through 3.12, though modern Python versions are the primary target. The library loads region-specific metadata on-demand, so only the data needed for your application is held in memory. Use it for: - Validate and normalize user-entered phone numbers in web forms or APIs before storage or transmission - Parse phone numbers from unstructured text and extract them with their locations in the original string - Format stored phone numbers into region-appropriate display formats for UI rendering - Check whether a phone number has the correct digit count and structure for its country before processing - Retrieve timezone information associated with a phone number for scheduling or logging purposes ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses, validates, formats, and analyzes international phone numbers without geocoding or carrier metadata, using a lightweight port of Google's libphonenumber library. Yes. phonenumberslite is actively maintained, has no dependencies, carries a permissive license, and solves a well-defined problem with a proven upstream implementation. Install it if you need phone number parsing and validation without the memory overhead of geocoding and carrier data. ## Install pip install phonenumberslite uv add phonenumberslite poetry add phonenumberslite ## Installing phonenumberslite Before you install: Low install friction; pure Python wheel with no runtime dependencies. Active maintenance with recent release and 3766 repository stars. Supports Python 2.5 through 3.12, though Python 2 support is legacy. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects. Quickstart: pip install phonenumberslite import phonenumberslite x = phonenumberslite.parse("+442083661177", None) print(phonenumberslite.format_number(x, phonenumberslite.PhoneNumberFormat.INTERNATIONAL)) Verify before relying: - Whether metadata is sufficiently current for all regions and numbering plan changes - Performance characteristics when parsing large volumes of phone numbers - Compatibility guarantees between phonenumberslite and upstream libphonenumber versions ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 3.5M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags parse international phone numbers, validate phone number format, format phone numbers by country, phone number parsing library, international phone validation, phone number matcher text search, lightweight phone number library, phone-number-parsing, international-formats, lightweight [View on SkillFed](https://skillfed.io/packages/phonenumberslite) · [View on PyPI](https://pypi.org/project/phonenumberslite/)