semantic-link-sempy
Semantic link for Microsoft Fabric
What it is and what it does
Semantic-link-sempy is the core package of Microsoft's semantic link feature, designed to bridge Power BI datasets and Microsoft Fabric's data science environment. It provides Python APIs to connect Spark notebooks and jobs to Power BI semantic models, query them via DAX, and enrich data analysis with Power BI measures and domain semantics. The package is built for data scientists working in Fabric who need to access and leverage semantic information stored in Power BI without leaving their notebooks.
The package includes connectivity to Power BI through the Spark native connector, data augmentation capabilities, and a comprehensive admin API (75 functions) for managing Fabric workspaces, capacities, domains, datasets, reports, and tenant settings. It depends on a large ecosystem of Azure SDKs, PySpark, pandas, and IPython, reflecting its tight integration with the Fabric platform. The package is classified as Beta, indicating active development and potential API changes.
Use it for:
- Query Power BI semantic models and DAX measures directly from a Fabric notebook to augment pandas or Spark DataFrames with business logic.
- Automate tenant and workspace administration tasks such as listing workspaces, managing user access, and assigning capacities programmatically.
- Deploy or update semantic model definitions across Fabric workspaces, including remapping Direct Lake connections to new lakehouses.
- Extract and modify Power BI report layouts by reading and updating report.json files within a Fabric notebook workflow.
- Propagate semantic metadata and domain knowledge across data science projects to standardize analysis and reduce errors.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Connects Python notebooks and Spark jobs in Microsoft Fabric to Power BI datasets, enabling data scientists to query semantic models, augment data with Power BI measures, and propagate semantic information across analysis workflows.
Yes, if you are actively working in Microsoft Fabric and need to integrate Power BI semantic models into your data science workflows. The package is actively maintained, has low install friction, and provides essential connectivity for Fabric-native development. However, the proprietary license and Beta status mean you should review Microsoft's terms and test thoroughly before production use. Not suitable for standalone Python environments or non-Fabric contexts.
Install
semantic-link-sempy on PyPI
pip
pip install semantic-link-sempyuv
uv add semantic-link-sempypoetry
poetry add semantic-link-sempyInstalling semantic-link-sempy
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a release 24 days ago. Requires Python 3.10 or later and depends on 23 runtime packages including PySpark, pandas, Azure SDKs, and IPython—typical for a Fabric-integrated tool but substantial for lightweight projects.
License in practice
Licensed as proprietary and confidential with unclear treatment. The license is not an open-source SPDX identifier, so redistribution, modification, and commercial use are restricted by Microsoft's terms. Review the linked Terms of Service before integrating into production systems.
Quickstart
pip install semantic-link-sempy
import sempy.fabric as fabric
# List workspaces in Fabric tenant
workspaces = fabric.admin.list_workspaces()
Requires a Microsoft Fabric subscription and must run within a Fabric notebook or Spark job; not supported in standalone Python environments. Requires Python 3.10 or later.
Verify before relying
- Whether the 75 admin API functions and semantic propagation features are stable or still evolving in Beta status
- Performance characteristics when querying large Power BI semantic models or executing complex DAX expressions
- Compatibility with non-Microsoft authentication or on-premises Power BI instances
Package facts
| License | proprietary and confidential (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 23 — clr_loader, fabric-analytics-sdk, fabric-analytics-notebook-plugin, graphviz, azure-storage-blob, azure-core, azure-keyvault-secrets, azure-storage-file-datalake, ipywidgets, pyarrow, pythonnet, scikit_learn, setuptools, tqdm, rich, regex, pandas, pyjwt, pyspark, requests, aiohttp, IPython, tenacity |
| Maintenance | actively maintained — 24 days since the last release |
| First released | |
| Downloads | 951,817/month — #4,654 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: semantic_link_sempy-0.14.2-py3-none-any.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
semantic-linkConnects Python notebooks to Power BI datasets…
unclear · top 15,000 on PyPI
semantic-link-labsExtends Microsoft Fabric's Semantic Link with…
permissive · top 5,000 on PyPI
semantic-link-functions-validatorsAdds context-aware validation functions to…
permissive · top 15,000 on PyPI
semantic-link-functions-holidaysAdds semantic functions to FabricDataFrame that…
permissive · top 15,000 on PyPI
semantic-link-functions-geopandasAdds geospatial semantic functions to…
permissive · top 15,000 on PyPI
semantic-link-functions-phonenumbersAdds phone number validation as a semantic…
permissive · top 15,000 on PyPI
dbt-fabricsparkA dbt adapter that connects dbt to Apache Spark…
permissive · top 5,000 on PyPI
visionsVisions defines and detects semantic data types…
permissive · top 5,000 on PyPI
xmhuffmanDecodes canonical-Huffman compressed string…
permissive · top 15,000 on PyPI
pbixrayParse and extract metadata, tables, DAX…
permissive · top 15,000 on PyPI