semantic-link-labs 0.9.9__py3-none-any.whl → 0.9.10__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: semantic-link-labs
3
- Version: 0.9.9
3
+ Version: 0.9.10
4
4
  Summary: Semantic Link Labs for Microsoft Fabric
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -15,7 +15,7 @@ Classifier: Framework :: Jupyter
15
15
  Requires-Python: <3.12,>=3.10
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: semantic-link-sempy>=0.9.3
18
+ Requires-Dist: semantic-link-sempy>=0.10.2
19
19
  Requires-Dist: anytree
20
20
  Requires-Dist: powerbiclient
21
21
  Requires-Dist: polib
@@ -27,7 +27,7 @@ Dynamic: license-file
27
27
  # Semantic Link Labs
28
28
 
29
29
  [![PyPI version](https://badge.fury.io/py/semantic-link-labs.svg)](https://badge.fury.io/py/semantic-link-labs)
30
- [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.9.8&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
30
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.9.10&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
31
31
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
32
32
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
33
33
 
@@ -149,6 +149,8 @@ An even better way to ensure the semantic-link-labs library is available in your
149
149
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
150
150
 
151
151
  ## Version History
152
+ * [0.9.10](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.10) (April 24, 2025)
153
+ * [0.9.9](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.9) (April 7, 2025)
152
154
  * [0.9.8](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.8) (April 3, 2025)
153
155
  * [0.9.7](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.7) (April 1, 2025)
154
156
  * [0.9.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.6) (March 12, 2025)
@@ -1,17 +1,17 @@
1
- semantic_link_labs-0.9.9.dist-info/licenses/LICENSE,sha256=ws_MuBL-SCEBqPBFl9_FqZkaaydIJmxHrJG2parhU4M,1141
2
- sempy_labs/__init__.py,sha256=DCtHeonEHwZmNAmVJz_kX-a97d04NsenB-b8eK38Omo,15609
1
+ semantic_link_labs-0.9.10.dist-info/licenses/LICENSE,sha256=ws_MuBL-SCEBqPBFl9_FqZkaaydIJmxHrJG2parhU4M,1141
2
+ sempy_labs/__init__.py,sha256=npRl1YYZaQziVAKhYkxcjFiCR2J--D2azy-SoDe_QtM,15745
3
3
  sempy_labs/_ai.py,sha256=BD1TdGOJ7T4m3x426OP-FLb7bevn-9gKY8BTEDAJDQU,16205
4
4
  sempy_labs/_authentication.py,sha256=GjtN5XqIyWXbR5Ni4hfYiUNwgFa-ySX8e-BrqE1vgGc,6903
5
5
  sempy_labs/_capacities.py,sha256=n48NYTY03zygRzcfyK1UOkSwTqKSyQefQ10IKQh-dfA,40426
6
6
  sempy_labs/_capacity_migration.py,sha256=GGIMrHwc7IEVJ9pDwmikXiF2QHu2nYqNyG235QYbmEw,24837
7
- sempy_labs/_clear_cache.py,sha256=5z73I4Zdr3C0Bd4zyxrQdcGG2VOzsXWukzB_evm4bRs,12731
7
+ sempy_labs/_clear_cache.py,sha256=UY_pljGeqb168Qe5sP66ecLeREPN4NMpjIEocCmxg0M,13201
8
8
  sempy_labs/_connections.py,sha256=Cc3VpQtXUDVpEyn5CVd9lGeZ13Nrdk_E_XrLu4pGRi8,18658
9
9
  sempy_labs/_dashboards.py,sha256=cyFD-pUUFu4scGkbitilrI22GW5dTmTkUZ15ou7Bl-A,1880
10
10
  sempy_labs/_data_pipelines.py,sha256=cW_WGmuWD4V9IgLprKL4TqFXgid4eTBXvEL3-IArS0w,4817
11
11
  sempy_labs/_dataflows.py,sha256=xv-wRDUq4Bzz-BOs1Jdb4bgS9HbPLpa1GqexfA6H0mg,8053
12
- sempy_labs/_dax.py,sha256=cFaXJUHuG93lYmjq_4CLG6gStvSTtgvJ8NA43TqeW_g,16871
12
+ sempy_labs/_dax.py,sha256=Q_GylKeuHFnRB_sztZS1ON5v5tr6ua6lc9elyJYKbV8,17219
13
13
  sempy_labs/_dax_query_view.py,sha256=_zSvgystZzBj5euNTLKTg7-G77XVk0vqyqrDT72VvoM,1892
14
- sempy_labs/_delta_analyzer.py,sha256=1H2bfB8j8VovdtIOPLztfTIQYCdbfR54wrMW4qO6R-4,17576
14
+ sempy_labs/_delta_analyzer.py,sha256=eT74ed0vaTbuSS0BkdCGRymdyjb3UHV3M8ToPhK8K00,17390
15
15
  sempy_labs/_delta_analyzer_history.py,sha256=A50dlBd2d3ILKV7Fwj4pfIRtXKmCFslhk1gpeEw4inc,10765
16
16
  sempy_labs/_deployment_pipelines.py,sha256=SDQYkCAhOAlxBr58jYxtLFOVySiRXO0_WhfOKGDeYZQ,6254
17
17
  sempy_labs/_documentation.py,sha256=yVA8VPEzx_fmljtcvSxtB7-BeupYsfdMXXjp6Fpnyo8,5007
@@ -20,15 +20,16 @@ sempy_labs/_eventhouses.py,sha256=WEf33difBOTGTZGh1QFmY4gv-e43uwO1V54nrsjGGyY,53
20
20
  sempy_labs/_eventstreams.py,sha256=c8nNdRM8eeDOYXd_AtRp7zYHYaqV9p1bI2V0boUrCuA,3492
21
21
  sempy_labs/_external_data_shares.py,sha256=s2okFvtCG5FDMbMJ_q6YSlCkVVFiE9sh2imVxZq1woU,6450
22
22
  sempy_labs/_gateways.py,sha256=6JE6VeGFPKF617sf2mMkxXVOz57YHI5jAQLAF-BzRLc,17527
23
- sempy_labs/_generate_semantic_model.py,sha256=5BRdobiNJ035HShCEpEkMPN-KfqVdqzGFuR0HM346mA,18560
23
+ sempy_labs/_generate_semantic_model.py,sha256=9-ziVrbG_IqPAKLnqRYAo8UrUMFw5Hufn02w_QvaKe4,18423
24
24
  sempy_labs/_git.py,sha256=RyaT4XzrSi-4NLJZWiWZnnNpMgrKzRNxhyY8b1O2I6c,17819
25
25
  sempy_labs/_graphQL.py,sha256=truXeIUPRKLwc4skhs3FZYNcKP9FCGKly9en0YkR4NE,2690
26
- sempy_labs/_helper_functions.py,sha256=Gd3m3-X8NinBNX0MRo39NXrPSBe66NGWTmR9p164520,62666
26
+ sempy_labs/_helper_functions.py,sha256=0eNEz8JItYjBe1fwZ0ZkRKJED5ull0I6T24RzgGx-2E,67340
27
27
  sempy_labs/_icons.py,sha256=SB9EQeoFCfD4bO6fcYuJOoPRSYenSrW0rI9G5RFsH28,3579
28
28
  sempy_labs/_job_scheduler.py,sha256=_-Pifkttk1oPNxewxwWcQ4QC_Hr24GSi6nmrEXwc0pc,15814
29
- sempy_labs/_kql_databases.py,sha256=0WVG9oiWgbjgV_oQc4f96QogqitVkbIeCmF_dVeePQE,4212
29
+ sempy_labs/_kql_databases.py,sha256=UtpYVBsxwWQDnqwdjq186bZzw5IlkD2S9KHA6Kw75U0,4738
30
30
  sempy_labs/_kql_querysets.py,sha256=Jjcs4SkjeirnDkG6zfsl0KRUXVzMyWii0Yn0JMWwln8,3502
31
- sempy_labs/_list_functions.py,sha256=HwKFs7ojnzWiPk-DyhGHoGYlHeBOtmkYwOtuhMV9we0,61870
31
+ sempy_labs/_kusto.py,sha256=ZEwvErkLUpichnQfrIVXg2XiYvbuxcL8u-9RnsAp98M,4502
32
+ sempy_labs/_list_functions.py,sha256=Yn1RZ0kMhA24vVpOr1hoet4WAQT93NZOWpMFdyV3HNw,62036
32
33
  sempy_labs/_managed_private_endpoints.py,sha256=Vqicp_EiGg_m8aA2F__gaJiB9cwjbxQOSOi7hkS6FvQ,6907
33
34
  sempy_labs/_mirrored_databases.py,sha256=-9ZV2PdPeIc4lvFNkpPMm_9wkGIY1QLZXspYdSev5oQ,13147
34
35
  sempy_labs/_mirrored_warehouses.py,sha256=Q3WlRjUwCLz8KW1eN8MiTPeY0P52Vkuz5kgnv4GvQ3k,1739
@@ -50,8 +51,8 @@ sempy_labs/_sql.py,sha256=s4VMcs1lIn39sYKRnSp6QsdRR3J-84kT_SPCKdwzAyo,8158
50
51
  sempy_labs/_sqldatabase.py,sha256=8HV3UtsLiwexmPSjYnhnYnD6xEvgFpTG13jcOuGheuI,6470
51
52
  sempy_labs/_translations.py,sha256=i4K2PFk6-TcmAnUpqz-z_GuDv9XEp1cBs0KY-x6ja1w,16168
52
53
  sempy_labs/_utils.py,sha256=aKGnUiXSLLRQRXXv8TH_XhGcOtDsnrs0RHmQ6YZMn3o,1786
53
- sempy_labs/_vertipaq.py,sha256=7nYpOuya5FpnK_OdtJKTQtLD_9iPCIVxhFnpD9P85-E,38556
54
- sempy_labs/_warehouses.py,sha256=Lk0U4VCT1sMkO5d4QJ5viarTxnLjlB-DhLhORKdaFmE,7297
54
+ sempy_labs/_vertipaq.py,sha256=1UvB79xOxeGdRFINsUsreXxtZtiatHlACAfbQhv45as,38536
55
+ sempy_labs/_warehouses.py,sha256=wF38YP4-39KPsXPyexJahZPrYAyLc5xfrerJvS7My5Q,7286
55
56
  sempy_labs/_workloads.py,sha256=ifQ6Jv0_MDzjfu993bU8V7thOdW5kFyp3MjA082rsrE,4687
56
57
  sempy_labs/_workspace_identity.py,sha256=plxgcqt2aBXgLpyn1dpHhzh_5Z-gFkLK8RtId2OIX5s,2561
57
58
  sempy_labs/_workspaces.py,sha256=wHBR2e5wOhhWN6PiFefSFzYrwvdgMkG0dg2gEpPcZ4o,13090
@@ -93,28 +94,29 @@ sempy_labs/_bpa_translation/_model/_translations_tr-TR.po,sha256=NdW-X4E0QmeLKM0
93
94
  sempy_labs/_bpa_translation/_model/_translations_uk-UA.po,sha256=3NsFN8hoor_5L6738FjpJ8o4spwp8FNFGbVItHD-_ec,43500
94
95
  sempy_labs/_bpa_translation/_model/_translations_zh-CN.po,sha256=ipMbnet7ZI5mZoC8KonYKVwGmFLHFB_9KIDOoBgSNfo,26815
95
96
  sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po,sha256=5v6tVKGruqneAeMoa6F3tyg_JBL8qOpqOJofWpq2W3U,31518
96
- sempy_labs/admin/__init__.py,sha256=MIWuLkSdQ4BsHBgRKWMkPi1atDA-bQeUeRhNPW6_IEs,3741
97
+ sempy_labs/admin/__init__.py,sha256=McI1-wyaoxcCIzffi-aWvU3ElfUgZLIEYR2tfcYI-hc,3875
97
98
  sempy_labs/admin/_activities.py,sha256=YfISDzhXro9glEa_yJmoYv-2q2M1DIkoyNzgLl7eWuI,6695
98
99
  sempy_labs/admin/_apps.py,sha256=PUEQlXbzVR9u3ZUQUhpfU3J-hfa8A2nTGFBpCqzMdW0,4085
99
- sempy_labs/admin/_artifacts.py,sha256=eCiNBdgNSUhOsE3i-Y1lp6p6T3is7RZJPy7ctu36oW4,2246
100
+ sempy_labs/admin/_artifacts.py,sha256=hGTMY0t4qxK1zs89PIZQaNP5QHRCIWAOvp2FiWHtQpE,2249
100
101
  sempy_labs/admin/_basic_functions.py,sha256=NAiju3N6xGOHFbK6sRz8NyVOCsgDIwl50U2CRA2SV3g,16320
101
- sempy_labs/admin/_capacities.py,sha256=O-hqtiWWjZC25hOFLnx_PvnH0-m9Ky_hx3_1ubLUkgI,9863
102
+ sempy_labs/admin/_capacities.py,sha256=aYPanX7esKoq2EtlE1iyBYmBYsaifDduUkJU8qHt9DU,15586
103
+ sempy_labs/admin/_dataflows.py,sha256=u7XrYSJg4_nagle4zv46BN70goL3OHbgO_QXpwRZqjk,1457
102
104
  sempy_labs/admin/_datasets.py,sha256=kMerpBNro--kKdp2rhEKnVe0JDGjMDsxqgfbbw17K-U,6235
103
105
  sempy_labs/admin/_domains.py,sha256=Z0EhIJCcujx1NumeqM4eKAvai18p-9TAw1WJaU-cbbE,15076
104
106
  sempy_labs/admin/_external_data_share.py,sha256=q4gw5iYZJDH-9xIM6L0b2CU9ebUIdE-ZVrFsulRHyUU,3364
105
107
  sempy_labs/admin/_git.py,sha256=gsbDQKd66knCI_Zh8vHSfHK-uQVJjVmhKKvfMMYKZyA,2264
106
- sempy_labs/admin/_items.py,sha256=zX-eUDyQWiB8mY8Nojj03-_R728JvVIOlp0iEOisnKE,8750
108
+ sempy_labs/admin/_items.py,sha256=BO4X_hpp94u4FUSn6Rb25gsRz1TgQAvLKLSwtzOLlVw,8824
107
109
  sempy_labs/admin/_reports.py,sha256=nPDoC90Yzc67CtiuL4WYBYkGYuUQOnZAy0PCU0aYKj8,7857
108
110
  sempy_labs/admin/_scanner.py,sha256=0mKi0ihJETdsSaeHFBEq3drcCS8J_enWWkIMBMECz64,4370
109
111
  sempy_labs/admin/_shared.py,sha256=srgkqttbMbK5XXjOt4zeAV8rMCvK7zEus55HsGtNUFI,3007
110
- sempy_labs/admin/_tenant.py,sha256=4--NxSqVbuS4BpNRcJoEikdJnJ2LV0R21HXuBD6d7vY,19357
112
+ sempy_labs/admin/_tenant.py,sha256=D8x45G4U8aiDlYcYTWUIg--Rrl1T0HwRf0qtk-jUBbo,19347
111
113
  sempy_labs/admin/_users.py,sha256=eEOkgvny3FwMuUrSIBQ0n3JwrzWV_6_nwGc8_c-eXSM,4571
112
114
  sempy_labs/admin/_workspaces.py,sha256=XiiO3vyuJxKkVf9ZrW7261wHSBrnd8r7rbia8HGDFkI,4911
113
115
  sempy_labs/directlake/__init__.py,sha256=etaj-3wqe5t93mu74tGYjEOQ6gtHWUogidOygiVvlq8,2131
114
116
  sempy_labs/directlake/_directlake_schema_compare.py,sha256=tVc6hIgDxxA7a8V51e5tlzlp3bzVVTqQ_OKsTNxiWG4,5074
115
117
  sempy_labs/directlake/_directlake_schema_sync.py,sha256=ipONLkBaXm4WgcMMChAyD4rVushdqdjAQdexT-fJxcY,6573
116
118
  sempy_labs/directlake/_dl_helper.py,sha256=HHFy6tW-tSVZ4YHxSHvt6pXrloh0O6Lx7yNmZE7IAI4,10348
117
- sempy_labs/directlake/_generate_shared_expression.py,sha256=SccfwnVnIocDdBj1159PUvWW4aaCRpLYwrePhdUntRw,3314
119
+ sempy_labs/directlake/_generate_shared_expression.py,sha256=gAVBK0l_CRxJCZzMJgxOxEHhXx1w0ERL2K3REnEseGw,3391
118
120
  sempy_labs/directlake/_get_directlake_lakehouse.py,sha256=e0WFQm4-daJR4K1aHuVaubu7T26yTeBgfNEMOXk-EzM,2392
119
121
  sempy_labs/directlake/_get_shared_expression.py,sha256=qc85kXggkx_7Sz_rAAli_yPnLzrGZpgD8IfVbTfZhQM,1133
120
122
  sempy_labs/directlake/_guardrails.py,sha256=wNVXpeiZckgLTly4cS5DU5DoV9x1S4DMxN5S08qAavE,2749
@@ -129,19 +131,19 @@ sempy_labs/graph/_teams.py,sha256=SRFaFuxtB7ylC5WeXIdrW0aLCxc_JTJHeEmxOPG99r8,30
129
131
  sempy_labs/graph/_users.py,sha256=dFOZ-jel6Aj4Um66f1jzQrgV0fOoI0cQnZfmR4OJSXo,5947
130
132
  sempy_labs/lakehouse/__init__.py,sha256=5dRO6WfcHANed720iGhrgW4QajzV1emT47bPpCSKJNg,956
131
133
  sempy_labs/lakehouse/_blobs.py,sha256=GgS2Zx6_0xzwUzuSBUll2bkNRFE-ThbK8jdYh-lJ2LY,8095
132
- sempy_labs/lakehouse/_get_lakehouse_columns.py,sha256=FWCyJhqqnZg837eK-S5st0xZpxbhxkcS8aTguazxjjY,2685
133
- sempy_labs/lakehouse/_get_lakehouse_tables.py,sha256=OmgYLNiegc8HwJP7hEPo5JMWFPyDIPSoqewBxsDkucc,8544
134
- sempy_labs/lakehouse/_lakehouse.py,sha256=dzDhBGN2FizREYFMsDsDzGm9cwLln1__OTAV_JV_GPY,8753
134
+ sempy_labs/lakehouse/_get_lakehouse_columns.py,sha256=dF5rLkdD3PB8EiXQewRdnr7MzbDGkZWHrFfI01_a7K4,3710
135
+ sempy_labs/lakehouse/_get_lakehouse_tables.py,sha256=YZkb8AsQmOK801andbCivhTH5DVFXwzTRJp-q4o9QJI,9803
136
+ sempy_labs/lakehouse/_lakehouse.py,sha256=Fq_RuY7kn8BZLFiYpnVNTYmbLMMt0mCw83P1YxXyfmg,8861
135
137
  sempy_labs/lakehouse/_shortcuts.py,sha256=24sPtX98ho84fNV_JCAHZrSkvk0Ui7p-0b-jTdGOGM8,16580
136
138
  sempy_labs/migration/__init__.py,sha256=142n01VAqlcx4E0mGGRtUfVOEwAXVdiHI_XprmUm7As,1175
137
139
  sempy_labs/migration/_create_pqt_file.py,sha256=eRK0Jz9ZeV_7jV3kNRze0bTAIqxsAZXLKMGE_loKOaY,9677
138
140
  sempy_labs/migration/_direct_lake_to_import.py,sha256=GTSERKSwj4M4wOsENgDbb-ZO7NFqwD1VUcyOS73AbaM,3948
139
- sempy_labs/migration/_migrate_calctables_to_lakehouse.py,sha256=XzOPphiUmDIgv1ruhMyhAOs80hOfXCTKCrBGRP3PKtE,17998
141
+ sempy_labs/migration/_migrate_calctables_to_lakehouse.py,sha256=2e3q__JBgm0umQX-Pc_c5pY2rmj-0fvjTqdkLeoMD-U,17774
140
142
  sempy_labs/migration/_migrate_calctables_to_semantic_model.py,sha256=Qt4WfmllCtSl-xkWzWWL5sTzi3lQDaJp43lVEXQisVY,6303
141
143
  sempy_labs/migration/_migrate_model_objects_to_semantic_model.py,sha256=RD0ttWcBratAzpPKjFF6jpEnZEd6M7m8OfEUFbkInbA,22950
142
144
  sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py,sha256=HYi2vn7yYDsBCTAXFTi6UiB86kdSlhQKPdwAt1nTKEE,7169
143
145
  sempy_labs/migration/_migration_validation.py,sha256=AHURrWofb-U-L2Bdu36mcisVXOuZXi6Smgrrs2kjYBM,2650
144
- sempy_labs/migration/_refresh_calc_tables.py,sha256=W-lYdUZZcoYyLRIpMdpgaz03PEMM6Zf7E1vzT6MmMAE,5516
146
+ sempy_labs/migration/_refresh_calc_tables.py,sha256=qUBPZ5HAHyE5ev6STKDcmtEpRuLDX5RzYTKre4ZElj4,5443
145
147
  sempy_labs/report/_BPAReportTemplate.json,sha256=9Uh-7E6d2ooxQ7j5JRayv_ayEULc7Gzg42kZGKdOqH8,63920
146
148
  sempy_labs/report/__init__.py,sha256=bPZ_MMqKGokskjJwM3T89LxIVNa2AXJg8Lr-mvJhP0E,1392
147
149
  sempy_labs/report/_download_report.py,sha256=hCQ2_fSXSCqSUeaNM2Tf9T3MpRofREnDwp_zrfp7iTA,2703
@@ -186,8 +188,8 @@ sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visua
186
188
  sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json,sha256=wBVuNc8S2NaUA0FC708w6stmR2djNZp8nAsHMqesgsc,293
187
189
  sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json,sha256=mlY6t9OlSe-Y6_QmXJpS1vggU6Y3FjISUKECL8FVSg8,931
188
190
  sempy_labs/tom/__init__.py,sha256=Qbs8leW0fjzvWwOjyWK3Hjeehu7IvpB1beASGsi28bk,121
189
- sempy_labs/tom/_model.py,sha256=zA94EUofE-VolEQWrDMt1aYSL744_CgU8V8NHvxKU08,194461
190
- semantic_link_labs-0.9.9.dist-info/METADATA,sha256=8ugBJQMVZQfhma37IkIzl_MDKHGyt1Ov3ekzSBtetkU,26294
191
- semantic_link_labs-0.9.9.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
192
- semantic_link_labs-0.9.9.dist-info/top_level.txt,sha256=kiQX1y42Dbein1l3Q8jMUYyRulDjdlc2tMepvtrvixQ,11
193
- semantic_link_labs-0.9.9.dist-info/RECORD,,
191
+ sempy_labs/tom/_model.py,sha256=sqs8u69RZyQnGzt-ZBJGE6PF-JwhFCm5YosaKeR-hbo,194594
192
+ semantic_link_labs-0.9.10.dist-info/METADATA,sha256=CDC3S525ttk6M0qTW9m5mzYSlHXAIVxpZKPO1WAE3vs,26488
193
+ semantic_link_labs-0.9.10.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
194
+ semantic_link_labs-0.9.10.dist-info/top_level.txt,sha256=kiQX1y42Dbein1l3Q8jMUYyRulDjdlc2tMepvtrvixQ,11
195
+ semantic_link_labs-0.9.10.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
sempy_labs/__init__.py CHANGED
@@ -1,3 +1,7 @@
1
+ from sempy_labs._kusto import (
2
+ query_kusto,
3
+ query_workspace_monitoring,
4
+ )
1
5
  from sempy_labs._delta_analyzer_history import (
2
6
  delta_analyzer_history,
3
7
  )
@@ -558,4 +562,6 @@ __all__ = [
558
562
  "delete_sql_database",
559
563
  "list_sql_databases",
560
564
  "delta_analyzer_history",
565
+ "query_kusto",
566
+ "query_workspace_monitoring",
561
567
  ]
@@ -59,6 +59,7 @@ def backup_semantic_model(
59
59
  allow_overwrite: bool = True,
60
60
  apply_compression: bool = True,
61
61
  workspace: Optional[str | UUID] = None,
62
+ password: Optional[str] = None,
62
63
  ):
63
64
  """
64
65
  `Backs up <https://learn.microsoft.com/azure/analysis-services/analysis-services-backup>`_ a semantic model to the ADLS Gen2 storage account connected to the workspace.
@@ -72,6 +73,8 @@ def backup_semantic_model(
72
73
  Must end in '.abf'.
73
74
  Example 1: file_path = 'MyModel.abf'
74
75
  Example 2: file_path = 'MyFolder/MyModel.abf'
76
+ password : Optional[str], default=None
77
+ Password to encrypt the backup file. If None, no password is used.
75
78
  allow_overwrite : bool, default=True
76
79
  If True, overwrites backup files of the same name. If False, the file you are saving cannot have the same name as a file that already exists in the same location.
77
80
  apply_compression : bool, default=True
@@ -99,6 +102,9 @@ def backup_semantic_model(
99
102
  }
100
103
  }
101
104
 
105
+ if password:
106
+ tmsl["backup"]["password"] = password # Add password only if provided
107
+
102
108
  fabric.execute_tmsl(script=tmsl, workspace=workspace_id)
103
109
  print(
104
110
  f"{icons.green_dot} The '{dataset_name}' semantic model within the '{workspace_name}' workspace has been backed up to the '{file_path}' location."
@@ -113,6 +119,7 @@ def restore_semantic_model(
113
119
  ignore_incompatibilities: bool = True,
114
120
  force_restore: bool = False,
115
121
  workspace: Optional[str | UUID] = None,
122
+ password: Optional[str] = None,
116
123
  ):
117
124
  """
118
125
  `Restores <https://learn.microsoft.com/power-bi/enterprise/service-premium-backup-restore-dataset>`_ a semantic model based on a backup (.abf) file
@@ -126,6 +133,8 @@ def restore_semantic_model(
126
133
  The location in which to backup the semantic model. Must end in '.abf'.
127
134
  Example 1: file_path = 'MyModel.abf'
128
135
  Example 2: file_path = 'MyFolder/MyModel.abf'
136
+ password : Optional[str], default=None
137
+ Password to decrypt the backup file. If None, no password is used.
129
138
  allow_overwrite : bool, default=True
130
139
  If True, overwrites backup files of the same name. If False, the file you are saving cannot have the same name as a file that already exists in the same location.
131
140
  ignore_incompatibilities : bool, default=True
@@ -155,6 +164,9 @@ def restore_semantic_model(
155
164
  }
156
165
  }
157
166
 
167
+ if password:
168
+ tmsl["restore"]["password"] = password
169
+
158
170
  if force_restore:
159
171
  tmsl["restore"]["forceRestore"] = force_restore
160
172
 
sempy_labs/_dax.py CHANGED
@@ -206,9 +206,15 @@ def get_dax_query_dependencies(
206
206
  ].reset_index(drop=True)
207
207
 
208
208
  if put_in_memory:
209
- not_in_memory = dfC_filtered[dfC_filtered["Is Resident"] == False]
209
+ # Only put columns in memory if they are in a Direct Lake table (and are not already in memory)
210
+ dfP = fabric.list_partitions(dataset=dataset, workspace=workspace)
211
+ dl_tables = dfP[dfP["Mode"] == "DirectLake"]["Table Name"].unique().tolist()
212
+ not_in_memory = dfC_filtered[
213
+ (dfC_filtered["Table Name"].isin(dl_tables))
214
+ & (dfC_filtered["Is Resident"] == False)
215
+ ]
210
216
 
211
- if len(not_in_memory) > 0:
217
+ if not not_in_memory.empty:
212
218
  _put_columns_into_memory(
213
219
  dataset=dataset,
214
220
  workspace=workspace,
@@ -16,7 +16,10 @@ from sempy_labs._helper_functions import (
16
16
  resolve_lakehouse_name_and_id,
17
17
  _read_delta_table,
18
18
  _mount,
19
- _create_spark_session,
19
+ _read_delta_table_history,
20
+ resolve_workspace_id,
21
+ resolve_lakehouse_id,
22
+ _get_delta_table,
20
23
  )
21
24
  from sempy._utils._log import log
22
25
  from sempy_labs.lakehouse._get_lakehouse_tables import get_lakehouse_tables
@@ -164,11 +167,7 @@ def delta_analyzer(
164
167
  is_vorder = any(b"vorder" in key for key in schema.keys())
165
168
 
166
169
  # Get the common details of the Delta table
167
- spark = _create_spark_session()
168
-
169
- from delta import DeltaTable
170
-
171
- delta_table = DeltaTable.forPath(spark, delta_table_path)
170
+ delta_table = _get_delta_table(delta_table_path)
172
171
  table_df = delta_table.toDF()
173
172
  # total_partition_count = table_df.rdd.getNumPartitions()
174
173
  row_count = table_df.count()
@@ -457,19 +456,10 @@ def get_delta_table_history(
457
456
  def camel_to_title(text):
458
457
  return re.sub(r"([a-z])([A-Z])", r"\1 \2", text).title()
459
458
 
460
- spark = _create_spark_session()
461
-
462
- (workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace=workspace)
463
- (lakehouse_name, lakehouse_id) = resolve_lakehouse_name_and_id(
464
- lakehouse=lakehouse, workspace=workspace
465
- )
459
+ workspace_id = resolve_workspace_id(workspace=workspace)
460
+ lakehouse_id = resolve_lakehouse_id(lakehouse=lakehouse, workspace=workspace_id)
466
461
  path = create_abfss_path(lakehouse_id, workspace_id, table_name, schema)
467
-
468
- from delta import DeltaTable
469
-
470
- delta_table = DeltaTable.forPath(spark, path)
471
- df = delta_table.history().toPandas()
472
-
462
+ df = _read_delta_table_history(path=path)
473
463
  df.rename(columns=lambda col: camel_to_title(col), inplace=True)
474
464
 
475
465
  return df
@@ -496,20 +496,17 @@ def get_semantic_model_size(
496
496
  The size of the semantic model in
497
497
  """
498
498
 
499
- (workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace)
500
- (dataset_name, dataset_id) = resolve_dataset_name_and_id(dataset, workspace_id)
501
-
502
499
  dict = fabric.evaluate_dax(
503
- dataset=dataset_id,
504
- workspace=workspace_id,
500
+ dataset=dataset,
501
+ workspace=workspace,
505
502
  dax_string="""
506
503
  EVALUATE SELECTCOLUMNS(FILTER(INFO.STORAGETABLECOLUMNS(), [COLUMN_TYPE] = "BASIC_DATA"),[DICTIONARY_SIZE])
507
504
  """,
508
505
  )
509
506
 
510
507
  used_size = fabric.evaluate_dax(
511
- dataset=dataset_id,
512
- workspace=workspace_id,
508
+ dataset=dataset,
509
+ workspace=workspace,
513
510
  dax_string="""
514
511
  EVALUATE SELECTCOLUMNS(INFO.STORAGETABLECOLUMNSEGMENTS(),[USED_SIZE])
515
512
  """,
@@ -524,5 +521,7 @@ def get_semantic_model_size(
524
521
  result = model_size / (1024**2) * 10**6
525
522
  elif model_size >= 10**3:
526
523
  result = model_size / (1024) * 10**3
524
+ else:
525
+ result = model_size
527
526
 
528
527
  return result