semantic-link-functions-phonenumbers
Semantic link functions for phonenumbers package. Enables validation of phone numbers in FabricDataFrames.
What it is and what it does
This package extends FabricDataFrames with phone number validation as a semantic function. When you import it alongside semantic-link-sempy, it registers phone number validation logic that automatically becomes available in your IDE's autocomplete when your DataFrame contains both a phone number column and a country column. The validation uses the phonenumbers library under the hood and respects Power BI data categories and column metadata to determine when the function is relevant.
It's designed for developers working with Microsoft Fabric or Power BI who need to validate phone numbers within DataFrames without manually checking column types or writing conditional logic. The semantic function decorator pattern means validation appears contextually—only when the data shape matches what the function expects—reducing boilerplate and making data pipelines more discoverable.
Use it for:
- Validate phone numbers in a Fabric dataset before loading into Power BI reports
- Flag invalid phone numbers in a DataFrame column paired with country information
- Build data quality checks in Fabric notebooks that automatically suggest phone validation when appropriate columns are present
- Clean and standardize phone number formats across international datasets in a Fabric pipeline
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds phone number validation as a semantic function to FabricDataFrames, automatically appearing in autocomplete when working with phone number and country columns.
Yes, if you work with FabricDataFrames and need phone number validation. The package is actively maintained, has no known vulnerabilities, and integrates cleanly with semantic-link-sempy. The Beta status and modest adoption (16 stars) suggest it's still maturing, so test it in non-critical pipelines first. For general Python phone validation outside Fabric, use phonenumbers directly.
Install
semantic-link-functions-phonenumbers on PyPI
pip
pip install semantic-link-functions-phonenumbersuv
uv add semantic-link-functions-phonenumberspoetry
poetry add semantic-link-functions-phonenumbersInstalling semantic-link-functions-phonenumbers
Before you install
Low friction installation with a pure-Python wheel. Active maintenance as of late July 2026, though the project is in Beta status and has modest community engagement (16 repository stars).
License in practice
MIT License permits free use, modification, and distribution with minimal restrictions, making it safe for commercial and open-source projects.
Quickstart
pip install semantic-link-functions-phonenumbers
from sempy.fabric import FabricDataFrame
df = FabricDataFrame(
{"num": ["+442083661177"], "country": ["US"]},
column_metadata={"country": {"data_category": "Country"}},
)
is_phone_series = df.is_phonenumber(col_num="num", col_country="country")
Requires Python 3.10 or later; depends on semantic-link-sempy and phonenumbers packages being available.
Verify before relying
- Whether the package works with all phonenumbers library versions or has specific compatibility constraints
- Performance characteristics when validating large datasets with many phone numbers
- Whether semantic function discovery works reliably across different Power BI metadata configurations
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — phonenumbers, semantic-link-sempy |
| Maintenance | actively maintained — 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 473,113/month — #6,469 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: semantic_link_functions_phonenumbers-0.14.2-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
semantic-link-functions-holidaysAdds semantic functions to FabricDataFrame that…
permissive · top 15,000 on PyPI
semantic-link-functions-validatorsAdds context-aware validation functions to…
permissive · top 15,000 on PyPI
semantic-link-functions-geopandasAdds geospatial semantic functions to…
permissive · top 15,000 on PyPI
woodworkWoodwork adds a typing layer to pandas…
permissive · top 15,000 on PyPI
semantic-link-functions-meteostatAdds semantic functions to FabricDataFrame that…
permissive · top 15,000 on PyPI
semantic-linkConnects Python notebooks to Power BI datasets…
unclear · top 15,000 on PyPI
semantic-link-sempyConnects Python notebooks and Spark jobs in…
unclear · top 5,000 on PyPI
semantic-link-labsExtends Microsoft Fabric's Semantic Link with…
permissive · top 5,000 on PyPI
phonenumbersliteParses, validates, formats, and analyzes…
permissive · top 5,000 on PyPI
phonenumbersParse, validate, format, and analyze…
permissive · top 1,000 on PyPI