semantic-link-labs 0.9.8__tar.gz → 0.9.10__tar.gz

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.

Files changed (232) hide show
  1. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/PKG-INFO +5 -3
  2. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/README.md +3 -1
  3. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/docs/source/conf.py +1 -1
  4. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/environment.yml +1 -1
  5. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/pyproject.toml +2 -2
  6. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/semantic_link_labs.egg-info/PKG-INFO +5 -3
  7. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/semantic_link_labs.egg-info/SOURCES.txt +2 -0
  8. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/semantic_link_labs.egg-info/requires.txt +1 -1
  9. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/__init__.py +6 -0
  10. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_clear_cache.py +12 -0
  11. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_dax.py +8 -2
  12. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_delta_analyzer.py +8 -18
  13. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_generate_semantic_model.py +6 -7
  14. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_helper_functions.py +216 -69
  15. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_kql_databases.py +18 -0
  16. semantic_link_labs-0.9.10/src/sempy_labs/_kusto.py +135 -0
  17. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_list_functions.py +5 -1
  18. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_vertipaq.py +6 -6
  19. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_warehouses.py +3 -3
  20. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/__init__.py +6 -0
  21. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_artifacts.py +3 -3
  22. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_capacities.py +161 -1
  23. semantic_link_labs-0.9.10/src/sempy_labs/admin/_dataflows.py +45 -0
  24. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_items.py +16 -11
  25. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_tenant.py +5 -5
  26. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_generate_shared_expression.py +25 -26
  27. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +41 -18
  28. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +66 -39
  29. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/lakehouse/_lakehouse.py +44 -35
  30. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +7 -12
  31. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_refresh_calc_tables.py +7 -6
  32. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/tom/_model.py +21 -14
  33. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  34. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  35. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
  36. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.github/workflows/build.yaml +0 -0
  37. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.github/workflows/codeql.yaml +0 -0
  38. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.gitignore +0 -0
  39. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.readthedocs.yaml +0 -0
  40. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/.vscode/settings.json +0 -0
  41. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/CODE_OF_CONDUCT.md +0 -0
  42. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/LICENSE +0 -0
  43. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/SECURITY.md +0 -0
  44. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/SUPPORT.md +0 -0
  45. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/docs/Makefile +0 -0
  46. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/docs/make.bat +0 -0
  47. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/docs/requirements.txt +0 -0
  48. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/docs/source/index.rst +0 -0
  49. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/docs/source/modules.rst +0 -0
  50. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
  51. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Capacity Migration.ipynb +0 -0
  52. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Delta Analyzer.ipynb +0 -0
  53. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Migration to Direct Lake.ipynb +0 -0
  54. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Model Optimization.ipynb +0 -0
  55. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Query Scale Out.ipynb +0 -0
  56. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Report Analysis.ipynb +0 -0
  57. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/SQL.ipynb +0 -0
  58. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Semantic Model Management.ipynb +0 -0
  59. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Semantic Model Refresh.ipynb +0 -0
  60. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Service Principal.ipynb +0 -0
  61. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/notebooks/Tabular Object Model.ipynb +0 -0
  62. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/setup.cfg +0 -0
  63. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
  64. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
  65. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_ai.py +0 -0
  66. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_authentication.py +0 -0
  67. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +0 -0
  68. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +0 -0
  69. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +0 -0
  70. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +0 -0
  71. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +0 -0
  72. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +0 -0
  73. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +0 -0
  74. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +0 -0
  75. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +0 -0
  76. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +0 -0
  77. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +0 -0
  78. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +0 -0
  79. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +0 -0
  80. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +0 -0
  81. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +0 -0
  82. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +0 -0
  83. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +0 -0
  84. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +0 -0
  85. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +0 -0
  86. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +0 -0
  87. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +0 -0
  88. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +0 -0
  89. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +0 -0
  90. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +0 -0
  91. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +0 -0
  92. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +0 -0
  93. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +0 -0
  94. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +0 -0
  95. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +0 -0
  96. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +0 -0
  97. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +0 -0
  98. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +0 -0
  99. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +0 -0
  100. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +0 -0
  101. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +0 -0
  102. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +0 -0
  103. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +0 -0
  104. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +0 -0
  105. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_capacities.py +0 -0
  106. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_capacity_migration.py +0 -0
  107. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_connections.py +0 -0
  108. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_dashboards.py +0 -0
  109. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_data_pipelines.py +0 -0
  110. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_dataflows.py +0 -0
  111. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_dax_query_view.py +0 -0
  112. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_delta_analyzer_history.py +0 -0
  113. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_deployment_pipelines.py +0 -0
  114. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_documentation.py +0 -0
  115. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_environments.py +0 -0
  116. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_eventhouses.py +0 -0
  117. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_eventstreams.py +0 -0
  118. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_external_data_shares.py +0 -0
  119. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_gateways.py +0 -0
  120. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_git.py +0 -0
  121. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_graphQL.py +0 -0
  122. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_icons.py +0 -0
  123. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_job_scheduler.py +0 -0
  124. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_kql_querysets.py +0 -0
  125. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_managed_private_endpoints.py +0 -0
  126. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_mirrored_databases.py +0 -0
  127. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_mirrored_warehouses.py +0 -0
  128. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_ml_experiments.py +0 -0
  129. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_ml_models.py +0 -0
  130. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_model_auto_build.py +0 -0
  131. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_model_bpa.py +0 -0
  132. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_model_bpa_bulk.py +0 -0
  133. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_model_bpa_rules.py +0 -0
  134. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_model_dependencies.py +0 -0
  135. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_mounted_data_factories.py +0 -0
  136. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_notebooks.py +0 -0
  137. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_one_lake_integration.py +0 -0
  138. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_query_scale_out.py +0 -0
  139. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_refresh_semantic_model.py +0 -0
  140. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_semantic_models.py +0 -0
  141. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_spark.py +0 -0
  142. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_sql.py +0 -0
  143. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_sqldatabase.py +0 -0
  144. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_translations.py +0 -0
  145. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_utils.py +0 -0
  146. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_workloads.py +0 -0
  147. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_workspace_identity.py +0 -0
  148. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/_workspaces.py +0 -0
  149. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_activities.py +0 -0
  150. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_apps.py +0 -0
  151. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_basic_functions.py +0 -0
  152. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_datasets.py +0 -0
  153. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_domains.py +0 -0
  154. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_external_data_share.py +0 -0
  155. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_git.py +0 -0
  156. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_reports.py +0 -0
  157. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_scanner.py +0 -0
  158. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_shared.py +0 -0
  159. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_users.py +0 -0
  160. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/admin/_workspaces.py +0 -0
  161. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/__init__.py +0 -0
  162. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_directlake_schema_compare.py +0 -0
  163. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_directlake_schema_sync.py +0 -0
  164. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_dl_helper.py +0 -0
  165. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
  166. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
  167. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_guardrails.py +0 -0
  168. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
  169. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
  170. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +0 -0
  171. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +0 -0
  172. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/directlake/_warm_cache.py +0 -0
  173. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/graph/__init__.py +0 -0
  174. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/graph/_groups.py +0 -0
  175. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/graph/_teams.py +0 -0
  176. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/graph/_users.py +0 -0
  177. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/lakehouse/__init__.py +0 -0
  178. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/lakehouse/_blobs.py +0 -0
  179. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/lakehouse/_shortcuts.py +0 -0
  180. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/__init__.py +0 -0
  181. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
  182. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_direct_lake_to_import.py +0 -0
  183. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
  184. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
  185. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +0 -0
  186. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/migration/_migration_validation.py +0 -0
  187. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
  188. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/__init__.py +0 -0
  189. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
  190. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
  191. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
  192. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
  193. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
  194. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
  195. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
  196. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
  197. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
  198. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
  199. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
  200. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
  201. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
  202. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
  203. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
  204. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
  205. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
  206. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
  207. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
  208. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
  209. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
  210. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
  211. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
  212. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
  213. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
  214. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
  215. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
  216. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
  217. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
  218. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_download_report.py +0 -0
  219. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_export_report.py +0 -0
  220. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_generate_report.py +0 -0
  221. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_paginated.py +0 -0
  222. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_report_bpa.py +0 -0
  223. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
  224. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_report_functions.py +0 -0
  225. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_report_helper.py +0 -0
  226. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_report_list_functions.py +0 -0
  227. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_report_rebind.py +0 -0
  228. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_reportwrapper.py +0 -0
  229. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/report/_save_report.py +0 -0
  230. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/src/sempy_labs/tom/__init__.py +0 -0
  231. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/tests/__init__.py +0 -0
  232. {semantic_link_labs-0.9.8 → semantic_link_labs-0.9.10}/tests/test_friendly_case.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: semantic-link-labs
3
- Version: 0.9.8
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,7 +1,7 @@
1
1
  # Semantic Link Labs
2
2
 
3
3
  [![PyPI version](https://badge.fury.io/py/semantic-link-labs.svg)](https://badge.fury.io/py/semantic-link-labs)
4
- [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.9.8&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
4
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.9.10&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
5
5
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
6
6
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
7
7
 
@@ -123,6 +123,8 @@ An even better way to ensure the semantic-link-labs library is available in your
123
123
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
124
124
 
125
125
  ## Version History
126
+ * [0.9.10](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.10) (April 24, 2025)
127
+ * [0.9.9](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.9) (April 7, 2025)
126
128
  * [0.9.8](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.8) (April 3, 2025)
127
129
  * [0.9.7](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.7) (April 1, 2025)
128
130
  * [0.9.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.6) (March 12, 2025)
@@ -13,7 +13,7 @@ sys.path.insert(0, os.path.abspath('../../src/'))
13
13
  project = 'semantic-link-labs'
14
14
  copyright = '2024, Microsoft and community'
15
15
  author = 'Microsoft and community'
16
- release = '0.9.8'
16
+ release = '0.9.10'
17
17
 
18
18
  # -- General configuration ---------------------------------------------------
19
19
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -6,7 +6,7 @@ dependencies:
6
6
  - pytest-cov
7
7
  - pytest-mock
8
8
  - pip:
9
- - semantic-link-sempy>=0.9.3
9
+ - semantic-link-sempy>=0.10.2
10
10
  - azure-identity==1.7.1
11
11
  - azure-storage-blob>=12.9.0
12
12
  - pandas-stubs
@@ -7,7 +7,7 @@ name="semantic-link-labs"
7
7
  authors = [
8
8
  { name = "Microsoft Corporation" },
9
9
  ]
10
- version="0.9.8"
10
+ version="0.9.10"
11
11
  description="Semantic Link Labs for Microsoft Fabric"
12
12
  readme="README.md"
13
13
  requires-python=">=3.10,<3.12"
@@ -23,7 +23,7 @@ classifiers = [
23
23
  license= { text = "MIT License" }
24
24
 
25
25
  dependencies = [
26
- "semantic-link-sempy>=0.9.3",
26
+ "semantic-link-sempy>=0.10.2",
27
27
  "anytree",
28
28
  "powerbiclient",
29
29
  "polib",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: semantic-link-labs
3
- Version: 0.9.8
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)
@@ -65,6 +65,7 @@ src/sempy_labs/_icons.py
65
65
  src/sempy_labs/_job_scheduler.py
66
66
  src/sempy_labs/_kql_databases.py
67
67
  src/sempy_labs/_kql_querysets.py
68
+ src/sempy_labs/_kusto.py
68
69
  src/sempy_labs/_list_functions.py
69
70
  src/sempy_labs/_managed_private_endpoints.py
70
71
  src/sempy_labs/_mirrored_databases.py
@@ -136,6 +137,7 @@ src/sempy_labs/admin/_apps.py
136
137
  src/sempy_labs/admin/_artifacts.py
137
138
  src/sempy_labs/admin/_basic_functions.py
138
139
  src/sempy_labs/admin/_capacities.py
140
+ src/sempy_labs/admin/_dataflows.py
139
141
  src/sempy_labs/admin/_datasets.py
140
142
  src/sempy_labs/admin/_domains.py
141
143
  src/sempy_labs/admin/_external_data_share.py
@@ -1,4 +1,4 @@
1
- semantic-link-sempy>=0.9.3
1
+ semantic-link-sempy>=0.10.2
2
2
  anytree
3
3
  powerbiclient
4
4
  polib
@@ -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
 
@@ -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