Give AlbumentationsX a star on GitHub — it powers this leaderboard

Star on GitHub

semantic-link-sempy

Semantic link for Microsoft Fabric

Rank: #3110Downloads: 1,591,702 (30 days)

Description

Semantic link is a feature that allows you to establish a connection between Power BI datasets and Synapse Data Science in Microsoft Fabric.

The primary goals of semantic link are to facilitate data connectivity, enable the propagation of semantic information, and seamlessly integrate with established tools used by data scientists, such as notebooks.

Semantic link helps you to preserve domain knowledge about data semantics in a standardized way that can speed up data analysis and reduce errors.

Package (PyPi) | API reference documentation | Product documentation | Samples

By downloading, installing, using or accessing this distribution package for semantic link, you agree to the Terms of Service.

This package has been tested with Microsoft Fabric.

Getting started

Prerequisites

About the semantic link packages

The functionalities for semantic link are split into multiple packages to allow for a modular installation. If you want to install only a subset of the semantic link functionalities, you can install the individual packages instead of the semantic-link meta-package. This can help solve dependency issues. The following are some of the available packages:

Install the semantic-link meta package

For Spark 3.4 and above, Semantic link is available in the default runtime when using Fabric, and there's no need to install it. If you're using Spark 3.3 or below, or if you want to update to the most recent version of Semantic Link, you have two options:

  • To install the most recent version semantic-link in your notebook kernel by executing this code in a notebook cell:

    %pip install -U semantic-link
    
  • Alternatively, you can add semantic link to your Fabric environments directly. For more information, see library management in Fabric environments.

Key concepts

SemPy offers the following capabilitites:

  • Connectivity to Power BI
  • Connectivity through Power BI Spark native connector
  • Data augmentation with Power BI measures
  • Semantic propagation for pandas users
  • Built-in and custom semantic functions

Change logs

0.13.0

  • New modules:
    • sempy.fabric.lakehouse
      • New functions:
        • delete_lakehouse: Delete a lakehouse in the specified workspace.
        • resolve_lakehouse_name: Resolve the name of a lakehouse in the specified workspace.
        • resolve_lakehouse_id: Resolve the ID of a lakehouse in the specified workspace.
        • list_lakehouse_tables: List all tables in a lakehouse and their properties.
        • vacuum_lakehouse_tables: Run the VACUUM function over the specified lakehouse tables.
      • Mirrored function (re-exported from sempy.fabric): create_lakehouse.
    • sempy.fabric.report
      • New functions:
        • clone_report: Clone a report in the specified workspace.
        • rebind_report: Rebind one or more reports to a semantic model.
      • Mirrored function (re-exported from sempy.fabric): list_reports.
    • sempy.fabric.semantic_model
      • New functions:
        • refresh_semantic_model: Refresh a semantic model synchronously with options to visualize the refresh progress and collect SSAS traces.
        • cancel_refresh: Cancel the specific refresh of a semantic model.
        • list_refresh_requests: Poll the status of refresh requests for a given dataset using Enhanced refresh with the Power BI REST API.
      • Mirrored functions (re-exported from sempy.fabric): refresh_dataset, list_refresh_requests, get_refresh_execution_details, list_datasets, resolve_dataset_id, resolve_dataset_name, resolve_dataset_name_and_id.
    • sempy.fabric.sql_endpoint
      • New functions:
        • list_sql_endpoints: List all SQL endpoints in the specified workspace.
        • get_sql_endpoint_id: Get the SQL endpoint ID of the specified warehouse.
        • get_sql_endpoint_connection_string: Get the SQL endpoint connection string of the specified warehouse.
        • refresh_sql_endpoint_metadata: Refresh the metadata of a SQL endpoint.
    • sempy.fabric.spark
      • New functions:
        • get_spark_settings: Get the Spark settings for the specified workspace.
        • update_spark_settings: Update the Spark settings for the specified workspace.
        • get_fabric_runtime: Get the default Fabric runtime version for the specified workspace.
        • set_fabric_runtime: Set the default Fabric runtime version for the specified workspace.
  • New functions under sempy.fabric:
    • get_sku_size: Get the SKU size of the specified workspace.
    • get_item_definition: Get the definition of an item in the specified workspace.
  • Updated functions under sempy.fabric:
    • resolve_item_id:
      • Renamed parameter item_name to item to accept both item name or item ID as the first parameter.
      • Renamed optional parameter type to item_type.
      • Using named parameter item_name or type will show deprecation warning from now on.
    • resolve_item_name:
      • Renamed parameter item_id to item to accept both item name or item ID as the first parameter.
      • Renamed optional parameter type to item_type.
      • Using named parameter item_id or type will show deprecation warning from now on.
    • list_items:
      • Renamed optional parameter type to item_type.
      • Using named parameter type will show deprecation warning from now on.
  • Bug fixes:
    • Fix set_service_principal for SNI enabled application.
    • Fix correctly populating null measures for evaluate_measure.

0.12.3

  • add TOMWrapper.all_functions: support retrieving all functions in a semantic model
  • update dependency versions

0.12.2

  • fix dependencies

0.12.1

  • update .NET Microsoft.AnalysisServices lib to 19.104.1
  • update .NET Microsoft.AnalysisServices.AdomdClient lib to 19.104.1

0.12.0

  • new: support authentication with Azure Identity client library
  • new: support authentication with service principals

0.11.2

  • new: support read-write connection for evaluate_measure, evaluate_dax and execute_xmla via use_readwrite_connection parameter
  • new: support strict typed schema for TraceConnection.disover_event_schema via strict_types parameter
  • fix: fix columns population error like "ApplicationContext" in customized event schemas for TraceConnection

0.11.1

  • new: support create_lakehouse with enable_schema parameter
  • fix: Fix populating source expression to "Query" column for PolicyRange partitions in list_partitions

0.11.0

  • new: support Fabric folder (list, resolve, create, rename, move, delete)
  • new: support ISO language codes for translate_semantic_model
  • added: translation option in run_model_bpa via language parameter
  • ​added​​: authentication control in evaluate_dax via role and effective_user_name parameters
  • fixed: date fromatting rule for BPA

0.10.2

  • fix setup.py: fix pandas dependency for Fabric Spark 3.3
  • fix _utils/_log.py: improve robustness for mds attributes reading.

0.10.1

  • fix _utils/_log.py: correct dict key for mds attributes

0.10.0

  • add translate_semantic_model: support translating semantic models
  • update run_model_bpa: support analyzing DAX expression on calculated tables, calculated columns, and calculation items
  • update list_table: add optional parameter include_internal to include internal tables
  • update model_memory_analyzer: support analyzing size of internal tables
  • fix model_memory_analyzer: escaping dax tables and columns in list_relationships and model_memory_analyzer

0.9.3

  • fix: activate Model Summary tab in model_memory_analyzer by default

0.9.2

  • fix: run run_model_bpa/model_memory_analyzer on empty dataset
  • fix: model_memory_analyzer list missing relationships

0.9.1

  • add retry_config parameter to BaseRestClient
  • add dataset parameter to create_tom_server
  • fix: escaping "/" in workspace url
  • fix: get fabric context error
  • fix: trace