phonenumberslite
Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.
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 on this page — 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
phonenumberslite on PyPI
pip
pip install phonenumbersliteuv
uv add phonenumberslitepoetry
poetry add phonenumbersliteInstalling 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 the current Python release (>=2.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,490,407/month — #2,604 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: phonenumberslite-9.0.37-py2.py3-none-any.whl
Tags
More Telephony packages
Parse, validate, format, and analyze…
permissive · top 1,000 on PyPI
twilioPython client library for the Twilio API that…
permissive · top 5,000 on PyPI
pylibsrtppylibsrtp encrypts and decrypts Secure…
permissive · top 5,000 on PyPI
pytgcallsEnables Python bots to join Telegram voice…
copyleft · top 5,000 on PyPI
plivoA Python SDK for integrating Plivo's voice,…
permissive · top 15,000 on PyPI
clx-sdk-xmsPython SDK for the CLX Communications REST API…
permissive · top 15,000 on PyPI
django-phonenumbersProvides a Django model field and form field…
permissive · top 15,000 on PyPI
django-phonenumber-fieldProvides a Django model field for storing,…
permissive · top 5,000 on PyPI
phone-iso3166Maps international phone numbers and mobile…
permissive · top 15,000 on PyPI
semantic-link-functions-phonenumbersAdds phone number validation as a semantic…
permissive · top 15,000 on PyPI
python-stdnumParses, validates, and reformats standard…
copyleft · top 5,000 on PyPI
azure-communication-phonenumbersManages Azure Communication Services phone…
permissive · top 15,000 on PyPI
vonage-numbersProvides Python bindings to Vonage's Numbers…
permissive · top 15,000 on PyPI
IP2LocationLooks up geolocation data (country, region,…
permissive · top 15,000 on PyPI
pycountryProvides programmatic access to ISO standard…
copyleft · top 1,000 on PyPI