semantic-link-labs 0.11.0__py3-none-any.whl → 0.11.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of semantic-link-labs might be problematic. Click here for more details.
- {semantic_link_labs-0.11.0.dist-info → semantic_link_labs-0.11.1.dist-info}/METADATA +4 -3
- {semantic_link_labs-0.11.0.dist-info → semantic_link_labs-0.11.1.dist-info}/RECORD +9 -9
- sempy_labs/_a_lib_info.py +1 -1
- sempy_labs/admin/_capacities.py +8 -6
- sempy_labs/theme/_org_themes.py +21 -0
- sempy_labs/tom/_model.py +18 -15
- {semantic_link_labs-0.11.0.dist-info → semantic_link_labs-0.11.1.dist-info}/WHEEL +0 -0
- {semantic_link_labs-0.11.0.dist-info → semantic_link_labs-0.11.1.dist-info}/licenses/LICENSE +0 -0
- {semantic_link_labs-0.11.0.dist-info → semantic_link_labs-0.11.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.1
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -27,7 +27,7 @@ Dynamic: license-file
|
|
|
27
27
|
# Semantic Link Labs
|
|
28
28
|
|
|
29
29
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
30
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
31
31
|
[](https://github.com/psf/black)
|
|
32
32
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
33
33
|
|
|
@@ -131,7 +131,7 @@ import sempy_labs.lakehouse as lake
|
|
|
131
131
|
import sempy_labs.report as rep
|
|
132
132
|
from sempy_labs import migration, directlake, admin, graph, theme, mirrored_azure_databricks_catalog
|
|
133
133
|
from sempy_labs.tom import connect_semantic_model
|
|
134
|
-
from sempy_labs.report import
|
|
134
|
+
from sempy_labs.report import connect_report
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
## Load Semantic Link Labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
|
|
@@ -155,6 +155,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
155
155
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
156
156
|
|
|
157
157
|
## Version History
|
|
158
|
+
* [0.11.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.11.1) (June 23, 2025)
|
|
158
159
|
* [0.11.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.11.0) (June 23, 2025)
|
|
159
160
|
* [0.10.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.10.1) (June 10, 2025)
|
|
160
161
|
* [0.10.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.10.0) (May 30, 2025)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
semantic_link_labs-0.11.
|
|
1
|
+
semantic_link_labs-0.11.1.dist-info/licenses/LICENSE,sha256=ws_MuBL-SCEBqPBFl9_FqZkaaydIJmxHrJG2parhU4M,1141
|
|
2
2
|
sempy_labs/__init__.py,sha256=F4YXaygtD5Sv_oRt8Zs8FuKLgbDhYcPdmFOf1C03K-M,16659
|
|
3
|
-
sempy_labs/_a_lib_info.py,sha256=
|
|
3
|
+
sempy_labs/_a_lib_info.py,sha256=PRqoBGggM5iCD8pCmTmhpRa8dpqGlu0hBFbmlqzk0Ls,53
|
|
4
4
|
sempy_labs/_ai.py,sha256=BD1TdGOJ7T4m3x426OP-FLb7bevn-9gKY8BTEDAJDQU,16205
|
|
5
5
|
sempy_labs/_authentication.py,sha256=GjtN5XqIyWXbR5Ni4hfYiUNwgFa-ySX8e-BrqE1vgGc,6903
|
|
6
6
|
sempy_labs/_capacities.py,sha256=TQYlbM0LP21G-KsW6QrJ7heBzKL42XxA939VldWiKeg,40436
|
|
@@ -107,7 +107,7 @@ sempy_labs/admin/_activities.py,sha256=UwMnl-ImGM0EptcorkIz9QF3PTXzwp8v6sVo7XZYi
|
|
|
107
107
|
sempy_labs/admin/_apps.py,sha256=ksXYbcsGQ0ljmlDcEgtG6QFSVi23ALBUkQ9OEoi9HlQ,4114
|
|
108
108
|
sempy_labs/admin/_artifacts.py,sha256=Hhn5TPDCjusrGcM6BhLSHDFKKRDeZpODcB3mgcm2y4c,2322
|
|
109
109
|
sempy_labs/admin/_basic_functions.py,sha256=gTNojHrEiu9HPoFTMyCKs6BbwQO4oyU7W4yfsf6DNWk,16345
|
|
110
|
-
sempy_labs/admin/_capacities.py,sha256=
|
|
110
|
+
sempy_labs/admin/_capacities.py,sha256=9B55VSUVO85wpYPO7SJuD37Z6om_ymdyFSZ0WOn5w8w,15677
|
|
111
111
|
sempy_labs/admin/_dataflows.py,sha256=u7XrYSJg4_nagle4zv46BN70goL3OHbgO_QXpwRZqjk,1457
|
|
112
112
|
sempy_labs/admin/_datasets.py,sha256=C49EdUj4KOshbUrQdZDsiQ4CYe1KgvF1dFEosv7J6NE,6184
|
|
113
113
|
sempy_labs/admin/_domains.py,sha256=ARR7hDGUcXq-3RC8CFiryV-DxZE9rEnZvWUAj4GPT8s,15209
|
|
@@ -201,10 +201,10 @@ sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visua
|
|
|
201
201
|
sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json,sha256=wBVuNc8S2NaUA0FC708w6stmR2djNZp8nAsHMqesgsc,293
|
|
202
202
|
sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json,sha256=mlY6t9OlSe-Y6_QmXJpS1vggU6Y3FjISUKECL8FVSg8,931
|
|
203
203
|
sempy_labs/theme/__init__.py,sha256=JN0z8w_Hc7VUIchRbpY-rjU6879msrFiSTRtMMlr_5g,185
|
|
204
|
-
sempy_labs/theme/_org_themes.py,sha256=
|
|
204
|
+
sempy_labs/theme/_org_themes.py,sha256=XRROikkjycJG9CS3rhCY3HSdxsmSAoAJfwYMEkt58Hk,3040
|
|
205
205
|
sempy_labs/tom/__init__.py,sha256=Qbs8leW0fjzvWwOjyWK3Hjeehu7IvpB1beASGsi28bk,121
|
|
206
|
-
sempy_labs/tom/_model.py,sha256=
|
|
207
|
-
semantic_link_labs-0.11.
|
|
208
|
-
semantic_link_labs-0.11.
|
|
209
|
-
semantic_link_labs-0.11.
|
|
210
|
-
semantic_link_labs-0.11.
|
|
206
|
+
sempy_labs/tom/_model.py,sha256=NfGDYSUAciUWqJ_RsEitb0vbEVL41CZohW3u8xbFGyw,222685
|
|
207
|
+
semantic_link_labs-0.11.1.dist-info/METADATA,sha256=WP4fZozQc_BsuPflPyMPLWQ6FrRWFKO2bDGYGLzjsK8,27267
|
|
208
|
+
semantic_link_labs-0.11.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
209
|
+
semantic_link_labs-0.11.1.dist-info/top_level.txt,sha256=kiQX1y42Dbein1l3Q8jMUYyRulDjdlc2tMepvtrvixQ,11
|
|
210
|
+
semantic_link_labs-0.11.1.dist-info/RECORD,,
|
sempy_labs/_a_lib_info.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
lib_name = "semanticlinklabs"
|
|
2
|
-
lib_version = "0.11.
|
|
2
|
+
lib_version = "0.11.1"
|
sempy_labs/admin/_capacities.py
CHANGED
|
@@ -432,10 +432,11 @@ def get_refreshables(
|
|
|
432
432
|
|
|
433
433
|
url = _build_url(url, params)
|
|
434
434
|
|
|
435
|
-
|
|
435
|
+
responses = _base_api(request=url, client="fabric_sp")
|
|
436
436
|
|
|
437
|
-
|
|
438
|
-
|
|
437
|
+
refreshables = []
|
|
438
|
+
|
|
439
|
+
for i in responses.json().get("value", []):
|
|
439
440
|
last_refresh = i.get("lastRefresh", {})
|
|
440
441
|
refresh_schedule = i.get("refreshSchedule", {})
|
|
441
442
|
new_data = {
|
|
@@ -473,10 +474,11 @@ def get_refreshables(
|
|
|
473
474
|
"Refresh Schedule Notify Option": refresh_schedule.get("notifyOption"),
|
|
474
475
|
"Configured By": i.get("configuredBy"),
|
|
475
476
|
}
|
|
476
|
-
dfs.append(pd.DataFrame(new_data, index=[0]))
|
|
477
477
|
|
|
478
|
-
|
|
479
|
-
|
|
478
|
+
refreshables.append(new_data)
|
|
479
|
+
|
|
480
|
+
if len(refreshables) > 0:
|
|
481
|
+
df = pd.DataFrame(refreshables)
|
|
480
482
|
_update_dataframe_datatypes(dataframe=df, column_map=columns)
|
|
481
483
|
|
|
482
484
|
return df
|
sempy_labs/theme/_org_themes.py
CHANGED
|
@@ -21,6 +21,14 @@ def init_pbi_url_prefix():
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def list_org_themes() -> pd.DataFrame:
|
|
24
|
+
"""
|
|
25
|
+
Lists all `organizational themes <https://www.linkedin.com/pulse/organizational-themes-preview-pbicorevisuals-j7jxe/>`_ in Power BI. Note that this uses an internal API and may break at any time.
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
--------
|
|
29
|
+
pandas.DataFrame
|
|
30
|
+
A dataframe containing the details of the organizational themes.
|
|
31
|
+
"""
|
|
24
32
|
|
|
25
33
|
init_pbi_url_prefix()
|
|
26
34
|
|
|
@@ -72,6 +80,19 @@ def resolve_theme_id(theme: str | UUID):
|
|
|
72
80
|
|
|
73
81
|
|
|
74
82
|
def get_org_theme_json(theme: str | UUID) -> dict:
|
|
83
|
+
"""
|
|
84
|
+
Retrieves the JSON representation of an organization theme by its name or ID.
|
|
85
|
+
|
|
86
|
+
Parameters:
|
|
87
|
+
----------
|
|
88
|
+
theme : str | uuid.UUID
|
|
89
|
+
The name or ID of the organization theme.
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
--------
|
|
93
|
+
dict
|
|
94
|
+
The JSON representation of the organization theme.
|
|
95
|
+
"""
|
|
75
96
|
|
|
76
97
|
init_pbi_url_prefix()
|
|
77
98
|
|
sempy_labs/tom/_model.py
CHANGED
|
@@ -929,15 +929,11 @@ class TOMWrapper:
|
|
|
929
929
|
from_column: str,
|
|
930
930
|
to_table: str,
|
|
931
931
|
to_column: str,
|
|
932
|
-
from_cardinality:
|
|
933
|
-
to_cardinality:
|
|
934
|
-
cross_filtering_behavior:
|
|
935
|
-
"Automatic", "OneDirection", "BothDirections"
|
|
936
|
-
] = "Automatic",
|
|
932
|
+
from_cardinality: str,
|
|
933
|
+
to_cardinality: str,
|
|
934
|
+
cross_filtering_behavior: Optional[str] = None,
|
|
937
935
|
is_active: bool = True,
|
|
938
|
-
security_filtering_behavior: Optional[
|
|
939
|
-
Literal["None", "OneDirection", "BothDirections"]
|
|
940
|
-
] = None,
|
|
936
|
+
security_filtering_behavior: Optional[str] = None,
|
|
941
937
|
rely_on_referential_integrity: bool = False,
|
|
942
938
|
):
|
|
943
939
|
"""
|
|
@@ -953,22 +949,29 @@ class TOMWrapper:
|
|
|
953
949
|
Name of the table on the 'to' side of the relationship.
|
|
954
950
|
to_column : str
|
|
955
951
|
Name of the column on the 'to' side of the relationship.
|
|
956
|
-
from_cardinality :
|
|
957
|
-
The cardinality of the 'from' side of the relationship.
|
|
958
|
-
to_cardinality :
|
|
959
|
-
The cardinality of the 'to' side of the relationship.
|
|
960
|
-
cross_filtering_behavior :
|
|
952
|
+
from_cardinality : str
|
|
953
|
+
The cardinality of the 'from' side of the relationship. Options: ['Many', 'One', 'None'].
|
|
954
|
+
to_cardinality : str
|
|
955
|
+
The cardinality of the 'to' side of the relationship. Options: ['Many', 'One', 'None'].
|
|
956
|
+
cross_filtering_behavior : str, default=None
|
|
961
957
|
Setting for the cross filtering behavior of the relationship. Options: ('Automatic', 'OneDirection', 'BothDirections').
|
|
958
|
+
Defaults to None which resolves to 'Automatic'.
|
|
962
959
|
is_active : bool, default=True
|
|
963
960
|
Setting for whether the relationship is active or not.
|
|
964
|
-
security_filtering_behavior :
|
|
965
|
-
Setting for the security filtering behavior of the relationship.
|
|
961
|
+
security_filtering_behavior : str, default=None
|
|
962
|
+
Setting for the security filtering behavior of the relationship. Options: ('None', 'OneDirection', 'BothDirections').
|
|
963
|
+
Defaults to None which resolves to 'OneDirection'.
|
|
966
964
|
rely_on_referential_integrity : bool, default=False
|
|
967
965
|
Setting for the rely on referential integrity of the relationship.
|
|
968
966
|
"""
|
|
969
967
|
import Microsoft.AnalysisServices.Tabular as TOM
|
|
970
968
|
import System
|
|
971
969
|
|
|
970
|
+
if not cross_filtering_behavior:
|
|
971
|
+
cross_filtering_behavior = "Automatic"
|
|
972
|
+
if not security_filtering_behavior:
|
|
973
|
+
security_filtering_behavior = "OneDirection"
|
|
974
|
+
|
|
972
975
|
for var_name in [
|
|
973
976
|
"from_cardinality",
|
|
974
977
|
"to_cardinality",
|
|
File without changes
|
{semantic_link_labs-0.11.0.dist-info → semantic_link_labs-0.11.1.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|