phonenumberslite
Python version of Google's common library for parsing, formatting, storing and validating international phone numbers.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-08-14 (0 days) · last repo commit 2026-08-14 · 3,766 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,490,407 downloads/mo, #2,604 on PyPI
Alternatives
Verify before relying
pip install phonenumberslite
import phonenumberslite
x = phonenumberslite.parse("+442083661177", None)
print(phonenumberslite.format_number(x, phonenumberslite.PhoneNumberFormat.INTERNATIONAL))- 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
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 on it.
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
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 |
| Classifiers | 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 |
Evidence: phonenumberslite-9.0.37-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 › “format phone numbers by country”
- phonenumbersliteParses, validates, formats, and analyzes international phone numbers…
- phone-iso3166Maps international phone numbers and mobile network codes to ISO…
- django-phonenumbersProvides a Django model field and form field for storing, validating,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Communications packages
Pyasn1 encodes and decodes ASN.1 data structures using BER, CER, DER, and native Python codecs, allowing you to serialize complex data for network protocols and file formats.
Install it if you need to work with ASN.1-based protocols or formats; it is the standard library for this in Python and has no known vulnerabilities.
Provides a collection of ASN.1 data structures expressed as Python classes, built on the pyasn1 library, for working with ASN.1-based protocols and standards.
Kombu is a messaging library that provides a high-level Python interface to AMQP and other message brokers, supporting pluggable transports for RabbitMQ, Redis, MongoDB, Amazon SQS, and others.
Install it if you are building any distributed system that requires reliable message passing.
Formats and parses numbers, file sizes, timespans, and other values into human-readable text; provides terminal interaction utilities including ANSI text styling and user prompts.
Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.
However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.
Parse, validate, format, and analyze international phone numbers across all countries, with support for extracting geographic, carrier, and timezone information from phone number data.
See also django-phonenumbers · django-phonenumber-field · phone-iso3166 · semantic-link-functions-phonenumbers · python-stdnum · azure-communication-phonenumbers · vonage-numbers · IP2Location · pycountry