NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4047 most downloaded on PyPI
Semantic Link Labs for Microsoft Fabric
Last release 24 days ago
10 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
63 releases · first in 2024
[find_unused_objects] Now the workspace-monitoring method supports MDX queries from Excel (previously only supported DAX queries)
find_unused_objects An interactive UI which offers 2 methods for identifying used/unused semantic model objects. Method 1: workspace monitoring. Metho
sempy_labs.semantic_model
find_unused_objects An interactive UI which offers 2 methods for identifying used/unused semantic model objects. Method 1: workspace monitoring. Method 2: downstream reports. Choose to either analyze a range of queries from workspace monitoring (and dependencies) or downstream reports. Each method will analyze which semantic models are not used in that context and which semantic model objects were used (and count how many times they were referenced). This can help you identify which tables/columns/measures you may be able to remove from your model due to inactivity.
<img width="600" height="400" alt="image" src="https://github.com/user-attachments/assets/f356211c-3978-459e-8b56-2947e194efb6" /> <img width="600" height="400" alt="image" src="https://github.com/user-attachments/assets/3c853d27-ae5b-4956-b9b8-bb906be2afb4" />
migrate_to_direct_lake Until now, migration from import/DirectQuery to Direct Lake was done via running code snippets in a notebook. This function offers an interactive UI showing the exact process - what is supported and what is not supported (what will be migrated and what will not) and walks you through the process - no code involved. This also supports in-place conversions for import/DirectQuery models (if they contain no features which are unsupported in Direct Lake mode). And, this supports the Direct Lake model sourcing from either a Lakehouse or a Warehouse. By default, the Direct Lake model is set to Direct Lake on OneLake.
<img width="2684" height="1422" alt="image" src="https://github.com/user-attachments/assets/9cf416aa-58fc-49ba-9fe5-a70a4870517c" /> <img width="2706" height="1320" alt="image" src="https://github.com/user-attachments/assets/6a10a0fc-644c-4df8-8acc-bef023f6e2fb" />
sempy_labs.variable_library
lineage_view Made additional enhancements to the UI (change model/workspace in the UI, change size of model/report panels)
vertipaq_analyzer The interactive UI now has a 'delta analyzer' button for Direct Lake models to fetch delta analyzer stats for tables in Direct Lake mode which source from a lakehouse. This is especially useful as Direct Lake models do not always show table/column stats as this Vertipaq info is blocked. In order to use this 'delta analyzer' feature, you must run this in a PySpark notebook.
<img width="2704" height="1022" alt="image" src="https://github.com/user-attachments/assets/53477964-1499-4561-b53f-25efadbcc509" />
<img width="2710" height="1038" alt="image" src="https://github.com/user-attachments/assets/e4423aec-8c42-40d3-9ed3-ae3cb9294f97" />
run_model_bpa has a new rule 'Avoid using SUM or AVERAGE on a string column' (#1222)
One column per month.
lineage_view Displays a fully-interactive UI which shows downstream reports of a given semantic model. The downstream reports can be analyzed for brok
<img width="2716" height="1398" alt="Screenshot 2026-07-20 105511" src="https://github.com/user-attachments/assets/dc1289a7-e983-448c-96ac-1348dc787e00" />
vertipaq_analyzer Minor makeover in the UI to align to a standard UI for this library. Now features dark mode as an optional parameter (and button wit
generate_direct_lake_semantic_model Added the 'include_descriptions' optional parameter which sets the table/column descriptions in the semantic model
ConnectMirroredAzureDatabricksCatalog Write SQL or T-SQL statements against a Mirrored Azure Databricks Catalog.
<img width="1426" height="760" alt="image" src="https://github.com/user-attachments/assets/e3ba31fe-93c8-4160-b6aa-91e117a7a9d3" />
enable_item_recovery enables item recovery in a Fabric tenant.
<img width="998" height="238" alt="image" src="https://github.com/user-attachments/assets/b3867377-2d91-473b-9995-cc9d52aeba74" />
<img width="982" height="190" alt="image" src="https://github.com/user-attachments/assets/1a26267f-5228-4807-a31c-f8a0382fb7eb" />
Updated sempy_labs to be compatible with Python 3.12 as this is now the default in Fabric notebooks.
delta_analyzer Added a parameter 'visualize' which defaults to True. When 'visualize' is set to True, the function displays the results in an interact
<img width="909" height="484" alt="image" src="https://github.com/user-attachments/assets/079148e2-4e48-4d7b-a510-f51f90b731de" />
delete_all_capacity_tenant_setting_overrides thanks @tarente!
refresh_sql_endpoint_metadata Added the optional 'recreate_tables' parameter.
sempy_labs.sql_endpoint
sempy_labs
sempy_labs.event_schema_set 🚀 New!
sempy_labs.daxlib 🚀 New! Semantic Link Labs now offers a seamless integration with DAXLib.org which allows you to easily view user-defined function pa
list_favorites Lists all items you have marked as a favorite.
sync_role_assignments_to_subdomains
is_schema_enabled identifies whether a lakehouse is schema-enabled.
list_domains This is the non-admin version. The admin version of this function already exists in the admin package.
Nothing published for this version
list_managed_private_endpoint_fqdns
list_user_defined_functions Lists the user-defined functions within a semantic model.
get_connection_string This function replaces the 'get_warehouse_connection_string' and serves as generic function which supports Lakehouses, Warehouse
get_warehouse_connection_string
Fixed typo in sempy_labs.report.report_rebind_all
All functions in both Semantic Link & Semantic Link Labs which use APIs which inherently support service principal authentication can now be run using
All functions in both Semantic Link & Semantic Link Labs which use APIs which inherently support service principal authentication can now be run using the service_principal_authentication context manager.
delete_external_data_share Deletes an external data share item.
send_mail The following parameters have been added: priority, follow_up_flag, attachments (#520).
Nothing published for this version
get_dataflow_definition Gets the definition of a dataflow (Gen1 / Gen2 / Gen2 CI/CD) (#727). Thanks @itsnotaboutthecell!
list_semantic_model_datasources
ReportWrapper (Huge thanks to @ruiromano for his partnership in creating and testing the new capabilities within the ReportWrapper)!
sempy_labs.report
NOTE: functions within the ReportWrapper that update the report (i.e. set_page_visibility) now require the readonly parameter to be set to False (and be executed within the connect_report context manager.
create_vpax Creates a .vpax file a la Vertipaq Analyzer. Thanks @marcosqlbi & @dgosbell!
sempy_labs
sempy_labs.admin
sempy_labs.lakehouse
sempy_labs.tom
query_kusto Query a KQL database using either KQL or SQL. Thanks @pawarbi!
Fixed issue with semantic link scopes for particular Fabric API references
Fixed bug regarding duplicated 'resolve' functions.
delta_analyzer_history Thanks @dax-tips!
generate_dax_query_view_url prints a URL which opens DAX Query View with the specified query to the specified semantic model. Thanks @datazoe!
The following functions now support service principal authentication:
has_incremental_refresh_policy Updated the parameter to take a TOM object instead of a table name. This is a breaking change.
get_semantic_model_refresh_schedule
delta_analyzer Added 'lakehouse' and 'workspace' parameters so now you can analyze any delta table from any lakehouse/workspace - not just in the lake
Updated Functions
General updates
delta_analyzer Provides statistics about delta tables, specifically relevant regarding their use in Direct Lake semantic models. This code is based on
New Functions
Updated Functions
Fixed minor critical issue with service principal authentication.
Authentication via Service Principal is now supported for the admin and tom (connect_semantic_model) subpackages. For connect_semantic_model, Service
To see code examples for authenticating via Service Principal, click here.
[!IMPORTANT] If you are impacted by any of the aforementioned changes, please raise an issue on GitHub with your concern (and ideally your company name as well)
list_item_job_instances (per request)
New Functions
Updated Functions
list_server_properties Shows the server properties for a given workspace.
New Functions
Updated Functions
get_dax_query_dependencies Added the 'show_vertipaq_stats' parameter. The 'dax_string' parameter now accepts either a single DAX query or a list of DA
## Bug Fixes * #254 * #280
list_connection_role_assignments
New Functions
Updated Functions
create_pqt_file Fixed the file naming convention when multiple pqt files are generated.
get_dax_query_dependencies Obtains the columns on which a DAX query depends, including model dependencies (inspired by Chris Webb's blog post).
get_semantic_model_refresh_history
Direct Lake migration now supports relationships based on datetime (#243).
Bug fixes
list_external_data_shares_in_item
Fixed library loading issue related to deltalake & pyarrow by reverting back to spark for now.
generate_measure_descriptions Uses an LLM to auto-generate descriptions for any/all measures in a semantic model based on the DAX expression.
ConnectLakehouse.query Run a SQL query (or queries) against a Fabric lakehouse.
create_environment Creates a new environment within a workspace.
backup_semantic_model Backs up a semantic model to an ADLS Gen2 storage account file.
Made a fix to the qso_sync function so that it only updates the semantic model storage mode to 'Large' if it is currently set to 'Small'. This functio
vacuum_lakehouse_tables Vacuums lakehouse table(s). Thanks to Miles Cole!
run_model_bpa_bulk Scan semantic models across workspaces in one go and saves the results to a delta table in your Fabric lakehouse (#78).
list_capacities Semantic Link has this function as well but here in Semantic Link Labs the output dataframe contains an additional column showing the
Your coding agent can read these notes before it upgrades. Set up the MCP server →