skillfed

phonenumberslite

Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.

phonenumberslite v9.0.37 3.5M downloads/30d#2,604 on PyPI3,766
Permissive license Apache-2.0 Active released

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 phonenumberslite

uv

uv add phonenumberslite

poetry

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 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Communications :: Telephony

Tags

parse international phone numbersvalidate phone number formatformat phone numbers by countryphone number parsing libraryinternational phone validationphone number matcher text searchlightweight phone number library
phone-number-parsinginternational-formatslightweight

More Telephony packages