semantic-link-labs 0.7.2__tar.gz → 0.7.4__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 (172) hide show
  1. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/PKG-INFO +15 -3
  2. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/README.md +12 -1
  3. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/docs/requirements.txt +2 -1
  4. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/docs/source/conf.py +1 -1
  5. semantic_link_labs-0.7.4/notebooks/Migration to Direct Lake.ipynb +1 -0
  6. semantic_link_labs-0.7.4/notebooks/Model Optimization.ipynb +1 -0
  7. semantic_link_labs-0.7.4/notebooks/Warehouse.ipynb +1 -0
  8. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/pyproject.toml +4 -3
  9. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/semantic_link_labs.egg-info/PKG-INFO +15 -3
  10. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/semantic_link_labs.egg-info/SOURCES.txt +50 -26
  11. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/semantic_link_labs.egg-info/requires.txt +2 -1
  12. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/__init__.py +120 -24
  13. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_am-ET.po +22 -0
  14. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_ar-AE.po +24 -0
  15. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +938 -0
  16. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +934 -0
  17. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_cs-CZ.po +179 -157
  18. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_da-DK.po +24 -0
  19. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_de-DE.po +77 -52
  20. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_el-GR.po +25 -0
  21. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_es-ES.po +67 -43
  22. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_fa-IR.po +24 -0
  23. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +915 -0
  24. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_fr-FR.po +83 -57
  25. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_ga-IE.po +25 -0
  26. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_he-IL.po +23 -0
  27. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_hi-IN.po +24 -0
  28. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_hu-HU.po +25 -0
  29. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +918 -0
  30. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_is-IS.po +25 -0
  31. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_it-IT.po +25 -0
  32. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_ja-JP.po +21 -0
  33. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +823 -0
  34. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +937 -0
  35. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_nl-NL.po +80 -56
  36. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_pl-PL.po +101 -76
  37. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_pt-BR.po +25 -0
  38. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_pt-PT.po +25 -0
  39. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +939 -0
  40. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_ru-RU.po +25 -0
  41. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +925 -0
  42. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +922 -0
  43. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +914 -0
  44. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_ta-IN.po +26 -0
  45. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_te-IN.po +24 -0
  46. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_th-TH.po +24 -0
  47. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +925 -0
  48. semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +933 -0
  49. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_zh-CN.po +116 -97
  50. {semantic_link_labs-0.7.2/src/sempy_labs/_bpa_translation → semantic_link_labs-0.7.4/src/sempy_labs/_bpa_translation/_model}/_translations_zu-ZA.po +25 -0
  51. semantic_link_labs-0.7.4/src/sempy_labs/_capacities.py +541 -0
  52. semantic_link_labs-0.7.4/src/sempy_labs/_clear_cache.py +337 -0
  53. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_connections.py +138 -0
  54. semantic_link_labs-0.7.4/src/sempy_labs/_dataflows.py +130 -0
  55. semantic_link_labs-0.7.4/src/sempy_labs/_deployment_pipelines.py +171 -0
  56. semantic_link_labs-0.7.4/src/sempy_labs/_environments.py +156 -0
  57. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_generate_semantic_model.py +148 -27
  58. semantic_link_labs-0.7.4/src/sempy_labs/_git.py +380 -0
  59. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_helper_functions.py +203 -8
  60. semantic_link_labs-0.7.4/src/sempy_labs/_icons.py +76 -0
  61. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_list_functions.py +170 -1012
  62. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_model_bpa.py +90 -112
  63. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_model_bpa_bulk.py +3 -1
  64. semantic_link_labs-0.7.4/src/sempy_labs/_model_bpa_rules.py +830 -0
  65. semantic_link_labs-0.7.4/src/sempy_labs/_notebooks.py +143 -0
  66. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_query_scale_out.py +28 -7
  67. semantic_link_labs-0.7.4/src/sempy_labs/_spark.py +465 -0
  68. semantic_link_labs-0.7.4/src/sempy_labs/_sql.py +120 -0
  69. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_translations.py +3 -1
  70. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_vertipaq.py +160 -99
  71. semantic_link_labs-0.7.4/src/sempy_labs/_workspace_identity.py +66 -0
  72. semantic_link_labs-0.7.4/src/sempy_labs/_workspaces.py +294 -0
  73. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/__init__.py +2 -0
  74. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_directlake_schema_compare.py +1 -2
  75. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_directlake_schema_sync.py +1 -2
  76. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_dl_helper.py +4 -7
  77. semantic_link_labs-0.7.4/src/sempy_labs/directlake/_generate_shared_expression.py +85 -0
  78. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +1 -2
  79. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +7 -3
  80. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +5 -0
  81. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +5 -0
  82. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +6 -2
  83. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +6 -5
  84. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_migration_validation.py +6 -0
  85. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_report_functions.py +21 -42
  86. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_report_rebind.py +5 -0
  87. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/tom/_model.py +95 -52
  88. semantic_link_labs-0.7.2/notebooks/Migration to Direct Lake.ipynb +0 -1
  89. semantic_link_labs-0.7.2/notebooks/Model Optimization.ipynb +0 -1
  90. semantic_link_labs-0.7.2/src/sempy_labs/_clear_cache.py +0 -42
  91. semantic_link_labs-0.7.2/src/sempy_labs/_icons.py +0 -33
  92. semantic_link_labs-0.7.2/src/sempy_labs/_model_bpa_rules.py +0 -842
  93. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  94. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  95. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
  96. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.github/workflows/build.yaml +0 -0
  97. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.github/workflows/codeql.yaml +0 -0
  98. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.gitignore +0 -0
  99. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.readthedocs.yaml +0 -0
  100. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/.vscode/settings.json +0 -0
  101. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/CODE_OF_CONDUCT.md +0 -0
  102. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/LICENSE +0 -0
  103. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/SECURITY.md +0 -0
  104. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/SUPPORT.md +0 -0
  105. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/docs/Makefile +0 -0
  106. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/docs/make.bat +0 -0
  107. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/docs/source/index.rst +0 -0
  108. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/docs/source/modules.rst +0 -0
  109. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/environment.yml +0 -0
  110. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
  111. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/notebooks/Query Scale Out.ipynb +0 -0
  112. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/notebooks/Semantic Model Refresh.ipynb +0 -0
  113. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/notebooks/Tabular Object Model.ipynb +0 -0
  114. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/setup.cfg +0 -0
  115. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
  116. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
  117. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_ai.py +0 -0
  118. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_dax.py +0 -0
  119. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_model_auto_build.py +0 -0
  120. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_model_dependencies.py +0 -0
  121. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_one_lake_integration.py +0 -0
  122. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/_refresh_semantic_model.py +0 -0
  123. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
  124. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
  125. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_guardrails.py +0 -0
  126. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
  127. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +0 -0
  128. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +0 -0
  129. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/directlake/_warm_cache.py +0 -0
  130. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/lakehouse/__init__.py +0 -0
  131. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
  132. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/lakehouse/_lakehouse.py +0 -0
  133. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/lakehouse/_shortcuts.py +0 -0
  134. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/__init__.py +0 -0
  135. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
  136. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
  137. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
  138. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/__init__.py +0 -0
  139. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
  140. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
  141. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
  142. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
  143. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
  144. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
  145. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
  146. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
  147. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
  148. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
  149. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
  150. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
  151. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
  152. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
  153. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
  154. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
  155. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
  156. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
  157. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
  158. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
  159. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
  160. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
  161. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
  162. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
  163. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
  164. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
  165. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
  166. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
  167. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
  168. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/report/_generate_report.py +0 -0
  169. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/src/sempy_labs/tom/__init__.py +0 -0
  170. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/tests/__init__.py +0 -0
  171. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/tests/test_shortcuts.py +0 -0
  172. {semantic_link_labs-0.7.2 → semantic_link_labs-0.7.4}/tests/test_tom.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: semantic-link-labs
3
- Version: 0.7.2
3
+ Version: 0.7.4
4
4
  Summary: Semantic Link Labs for Microsoft Fabric
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -15,17 +15,18 @@ 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.7.7
18
+ Requires-Dist: semantic-link-sempy>=0.8.0
19
19
  Requires-Dist: anytree
20
20
  Requires-Dist: powerbiclient
21
21
  Requires-Dist: polib
22
+ Requires-Dist: azure.mgmt.resource
22
23
  Provides-Extra: test
23
24
  Requires-Dist: pytest>=8.2.1; extra == "test"
24
25
 
25
26
  # Semantic Link Labs
26
27
 
27
28
  [![PyPI version](https://badge.fury.io/py/semantic-link-labs.svg)](https://badge.fury.io/py/semantic-link-labs)
28
- [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.7.2&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
29
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.7.4&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
29
30
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
30
31
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
31
32
 
@@ -53,6 +54,7 @@ from sempy_labs import migration, directlake
53
54
  from sempy_labs import lakehouse as lake
54
55
  from sempy_labs import report as rep
55
56
  from sempy_labs.tom import connect_semantic_model
57
+ from sempy_labs import ConnectWarehouse
56
58
  ```
57
59
 
58
60
  ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
@@ -75,6 +77,16 @@ An even better way to ensure the semantic-link-labs library is available in your
75
77
  1. Navigate to your Notebook
76
78
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
77
79
 
80
+ ## Version History
81
+ * [0.7.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.4) (September 16, 2024)
82
+ * [0.7.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.3) (September 11, 2024)
83
+ * [0.7.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.2) (August 30, 2024)
84
+ * [0.7.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.1) (August 29, 2024)
85
+ * [0.7.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.0) (August 26, 2024)
86
+ * [0.6.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.6.0) (July 22, 2024)
87
+ * [0.5.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.5.0) (July 2, 2024)
88
+ * [0.4.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.4.2) (June 18, 2024)
89
+
78
90
  ---
79
91
  ## Direct Lake migration
80
92
 
@@ -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.7.2&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
4
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.7.4&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
 
@@ -29,6 +29,7 @@ from sempy_labs import migration, directlake
29
29
  from sempy_labs import lakehouse as lake
30
30
  from sempy_labs import report as rep
31
31
  from sempy_labs.tom import connect_semantic_model
32
+ from sempy_labs import ConnectWarehouse
32
33
  ```
33
34
 
34
35
  ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
@@ -51,6 +52,16 @@ An even better way to ensure the semantic-link-labs library is available in your
51
52
  1. Navigate to your Notebook
52
53
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
53
54
 
55
+ ## Version History
56
+ * [0.7.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.4) (September 16, 2024)
57
+ * [0.7.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.3) (September 11, 2024)
58
+ * [0.7.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.2) (August 30, 2024)
59
+ * [0.7.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.1) (August 29, 2024)
60
+ * [0.7.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.0) (August 26, 2024)
61
+ * [0.6.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.6.0) (July 22, 2024)
62
+ * [0.5.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.5.0) (July 2, 2024)
63
+ * [0.4.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.4.2) (June 18, 2024)
64
+
54
65
  ---
55
66
  ## Direct Lake migration
56
67
 
@@ -9,4 +9,5 @@ azure-storage-file-datalake==12.3.1
9
9
  azure-storage-blob>=12.9.0
10
10
  anytree
11
11
  IPython
12
- polib
12
+ polib
13
+ azure.mgmt.resource
@@ -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.7.2'
16
+ release = '0.7.4'
17
17
 
18
18
  # -- General configuration ---------------------------------------------------
19
19
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -0,0 +1 @@
1
+ {"cells":[{"cell_type":"markdown","id":"5c27dfd1-4fe0-4a97-92e6-ddf78889aa93","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Install the latest .whl package\n","\n","Check [here](https://pypi.org/project/semantic-link-labs/) to see the latest version."]},{"cell_type":"code","execution_count":null,"id":"d5cae9db-cef9-48a8-a351-9c5fcc99645c","metadata":{"jupyter":{"outputs_hidden":true,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["%pip install semantic-link-labs"]},{"cell_type":"markdown","id":"969a29bf","metadata":{},"source":["### Import the library and set initial parameters"]},{"cell_type":"code","execution_count":null,"id":"29c923f8","metadata":{},"outputs":[],"source":["import sempy_labs as labs\n","from sempy_labs import migration, directlake\n","import sempy_labs.report as rep\n","\n","dataset_name = '' #Enter the import/DQ semantic model name\n","workspace_name = None #Enter the workspace of the import/DQ semantic model. It set to none it will use the current workspace.\n","new_dataset_name = '' #Enter the new Direct Lake semantic model name\n","new_dataset_workspace_name = None #Enter the workspace where the Direct Lake model will be created. If set to None it will use the current workspace.\n","lakehouse_name = None #Enter the lakehouse to be used for the Direct Lake model. If set to None it will use the lakehouse attached to the notebook.\n","lakehouse_workspace_name = None #Enter the lakehouse workspace. If set to None it will use the new_dataset_workspace_name."]},{"cell_type":"markdown","id":"5a3fe6e8-b8aa-4447-812b-7931831e07fe","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Create the [Power Query Template](https://learn.microsoft.com/power-query/power-query-template) file\n","\n","This encapsulates all of the semantic model's Power Query logic into a single file."]},{"cell_type":"code","execution_count":null,"id":"cde43b47-4ecc-46ae-9125-9674819c7eab","metadata":{"jupyter":{"outputs_hidden":false,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["migration.create_pqt_file(dataset = dataset_name, workspace = workspace_name)"]},{"cell_type":"markdown","id":"bf945d07-544c-4934-b7a6-cfdb90ca725e","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Import the Power Query Template to Dataflows Gen2\n","\n","- Open the [OneLake file explorer](https://www.microsoft.com/download/details.aspx?id=105222) and sync your files (right click -> Sync from OneLake)\n","\n","- Navigate to your lakehouse. From this window, create a new Dataflows Gen2 and import the Power Query Template file from OneLake (OneLake -> Workspace -> Lakehouse -> Files...), and publish the Dataflows Gen2.\n","\n","<div class=\"alert alert-block alert-info\">\n","<b>Important!</b> Make sure to create the Dataflows Gen2 from within the lakehouse window. That will ensure that all the tables automatically map to that lakehouse as the destination. Otherwise, you will have to manually map each table to its destination individually.\n","</div>"]},{"cell_type":"markdown","id":"9975db7d","metadata":{},"source":["### Create the Direct Lake model based on the import/DQ semantic model\n","\n","Calculated columns are not migrated to the Direct Lake model as they are not supported in Direct Lake mode."]},{"cell_type":"code","execution_count":null,"id":"0a3616b5-566e-414e-a225-fb850d6418dc","metadata":{"jupyter":{"outputs_hidden":false,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["import time\n","labs.create_blank_semantic_model(dataset = new_dataset_name, workspace = new_dataset_workspace_name, overwrite=False)\n","\n","migration.migrate_calc_tables_to_lakehouse(\n"," dataset = dataset_name,\n"," new_dataset = new_dataset_name,\n"," workspace = workspace_name,\n"," new_dataset_workspace = new_dataset_workspace_name,\n"," lakehouse = lakehouse_name,\n"," lakehouse_workspace = lakehouse_workspace_name\n",")\n","migration.migrate_tables_columns_to_semantic_model(\n"," dataset = dataset_name,\n"," new_dataset = new_dataset_name,\n"," workspace = workspace_name,\n"," new_dataset_workspace = new_dataset_workspace_name,\n"," lakehouse = lakehouse_name,\n"," lakehouse_workspace = lakehouse_workspace_name\n",")\n","migration.migrate_calc_tables_to_semantic_model(\n"," dataset = dataset_name,\n"," new_dataset = new_dataset_name,\n"," workspace = workspace_name,\n"," new_dataset_workspace = new_dataset_workspace_name,\n"," lakehouse = lakehouse_name,\n"," lakehouse_workspace = lakehouse_workspace_name\n",")\n","migration.migrate_model_objects_to_semantic_model(\n"," dataset = dataset_name,\n"," new_dataset = new_dataset_name,\n"," workspace = workspace_name,\n"," new_dataset_workspace = new_dataset_workspace_name\n",")\n","migration.migrate_field_parameters(\n"," dataset = dataset_name,\n"," new_dataset = new_dataset_name,\n"," workspace = workspace_name,\n"," new_dataset_workspace = new_dataset_workspace_name\n",")\n","time.sleep(2)\n","labs.refresh_semantic_model(dataset = new_dataset_name, workspace = new_dataset_workspace_name)\n","migration.refresh_calc_tables(dataset = new_dataset_name, workspace = new_dataset_workspace_name)\n","labs.refresh_semantic_model(dataset = new_dataset_name, workspace = new_dataset_workspace_name)"]},{"cell_type":"markdown","id":"bb98bb13","metadata":{},"source":["### Show migrated/unmigrated objects"]},{"cell_type":"code","execution_count":null,"id":"5db2f22c","metadata":{},"outputs":[],"source":["migration.migration_validation(\n"," dataset = dataset_name,\n"," new_dataset = new_dataset_name, \n"," workspace = workspace_name, \n"," new_dataset_workspace = new_dataset_workspace_name\n",")"]},{"cell_type":"markdown","id":"fa244e9d-87c2-4a66-a7e0-be539a0ac7de","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Rebind all reports using the old semantic model to the new Direct Lake semantic model"]},{"cell_type":"code","execution_count":null,"id":"d4e867cc","metadata":{},"outputs":[],"source":["rep.report_rebind_all(\n"," dataset = dataset_name,\n"," dataset_workspace = workspace_name,\n"," new_dataset = new_dataset_name,\n"," new_dataset_workpace = new_dataset_workspace_name,\n"," report_workspace = None\n",")"]},{"cell_type":"markdown","id":"3365d20d","metadata":{},"source":["### Rebind reports one-by-one (optional)"]},{"cell_type":"code","execution_count":null,"id":"056b7180-d7ac-492c-87e7-ac7d0e4bb929","metadata":{"jupyter":{"outputs_hidden":false,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["report_name = '' # Enter report name which you want to rebind to the new Direct Lake model\n","\n","rep.report_rebind(\n"," report = report_name,\n"," dataset = new_dataset_name,\n"," report_workspace=workspace_name,\n"," dataset_workspace = new_dataset_workspace_name)"]},{"cell_type":"markdown","id":"526f2327","metadata":{},"source":["### Show unsupported objects"]},{"cell_type":"code","execution_count":null,"id":"a47376d7","metadata":{},"outputs":[],"source":["dfT, dfC, dfR = directlake.show_unsupported_direct_lake_objects(dataset = dataset_name, workspace = workspace_name)\n","\n","print('Calculated Tables are not supported...')\n","display(dfT)\n","print(\"Learn more about Direct Lake limitations here: https://learn.microsoft.com/power-bi/enterprise/directlake-overview#known-issues-and-limitations\")\n","print('Calculated columns are not supported. Columns of binary data type are not supported.')\n","display(dfC)\n","print('Columns used for relationship cannot be of data type datetime and they also must be of the same data type.')\n","display(dfR)"]},{"cell_type":"markdown","id":"ed08ba4c","metadata":{},"source":["### Schema check between semantic model tables/columns and lakehouse tables/columns\n","\n","This will list any tables/columns which are in the new semantic model but do not exist in the lakehouse"]},{"cell_type":"code","execution_count":null,"id":"03889ba4","metadata":{},"outputs":[],"source":["directlake.direct_lake_schema_compare(dataset = new_dataset_name, workspace = new_dataset_workspace_name)"]},{"cell_type":"markdown","id":"2229963b","metadata":{},"source":["### Show calculated tables which have been migrated to the Direct Lake semantic model as regular tables"]},{"cell_type":"code","execution_count":null,"id":"dd537d90","metadata":{},"outputs":[],"source":["directlake.list_direct_lake_model_calc_tables(dataset = new_dataset_name, workspace = new_dataset_workspace_name)"]}],"metadata":{"kernel_info":{"name":"synapse_pyspark"},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.12.3"},"microsoft":{"language":"python"},"nteract":{"version":"nteract-front-end@1.0.0"},"spark_compute":{"compute_id":"/trident/default"},"synapse_widget":{"state":{},"version":"0.1"},"widgets":{}},"nbformat":4,"nbformat_minor":5}
@@ -0,0 +1 @@
1
+ {"cells":[{"cell_type":"markdown","id":"5c27dfd1-4fe0-4a97-92e6-ddf78889aa93","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Install the latest .whl package\n","\n","Check [here](https://pypi.org/project/semantic-link-labs/) to see the latest version."]},{"cell_type":"code","execution_count":null,"id":"d5cae9db-cef9-48a8-a351-9c5fcc99645c","metadata":{"jupyter":{"outputs_hidden":true,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["%pip install semantic-link-labs"]},{"cell_type":"markdown","id":"cd8de5a0","metadata":{},"source":["### Import the library"]},{"cell_type":"code","execution_count":null,"id":"5cc6eedf","metadata":{},"outputs":[],"source":["import sempy_labs as labs\n","from sempy_labs import lakehouse as lake\n","from sempy_labs import directlake\n","import sempy_labs.report as rep\n","\n","dataset_name = ''\n","workspace_name = None"]},{"cell_type":"markdown","id":"5a3fe6e8-b8aa-4447-812b-7931831e07fe","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Vertipaq Analyzer"]},{"cell_type":"code","execution_count":null,"id":"cde43b47-4ecc-46ae-9125-9674819c7eab","metadata":{"jupyter":{"outputs_hidden":false,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["labs.vertipaq_analyzer(dataset = dataset_name, workspace = workspace_name)"]},{"cell_type":"markdown","id":"419a348f","metadata":{},"source":["Export the Vertipaq Analyzer results to a .zip file in your lakehouse"]},{"cell_type":"code","execution_count":null,"id":"8aa239b3","metadata":{},"outputs":[],"source":["labs.vertipaq_analyzer(dataset = dataset_name, workspace = workspace_name, export = 'zip')"]},{"cell_type":"markdown","id":"2dce0f4f","metadata":{},"source":["Export the Vertipaq Analyzer results to append to delta tables in your lakehouse."]},{"cell_type":"code","execution_count":null,"id":"aef93fc8","metadata":{},"outputs":[],"source":["labs.vertipaq_analyzer(dataset = dataset_name, workspace = workspace_name, export = 'table')"]},{"cell_type":"markdown","id":"1c62a802","metadata":{},"source":["Visualize the contents of an exported Vertipaq Analzyer .zip file."]},{"cell_type":"code","execution_count":null,"id":"9e349954","metadata":{},"outputs":[],"source":["labs.import_vertipaq_analyzer(folder_path = '', file_name = '')"]},{"cell_type":"markdown","id":"456ce0ff","metadata":{},"source":["### Best Practice Analzyer\n","\n","This runs the [standard rules](https://github.com/microsoft/Analysis-Services/tree/master/BestPracticeRules) for semantic models posted on Microsoft's GitHub."]},{"cell_type":"code","execution_count":null,"id":"0a3616b5-566e-414e-a225-fb850d6418dc","metadata":{"jupyter":{"outputs_hidden":false,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["labs.run_model_bpa(dataset = dataset_name, workspace = workspace_name)"]},{"cell_type":"markdown","id":"6fb32a58","metadata":{},"source":["This runs the Best Practice Analyzer and exports the results to the 'modelbparesults' delta table in your Fabric lakehouse."]},{"cell_type":"code","execution_count":null,"id":"677851c3","metadata":{},"outputs":[],"source":["labs.run_model_bpa(dataset = dataset_name, workspace = workspace_name, export = True)"]},{"cell_type":"markdown","id":"64968a31","metadata":{},"source":["This runs the Best Practice Analyzer with the rules translated into Italian."]},{"cell_type":"code","execution_count":null,"id":"3c7d89e2","metadata":{},"outputs":[],"source":["labs.run_model_bpa(dataset = dataset_name, workspace = workspace_name, language = 'it-IT')"]},{"cell_type":"markdown","id":"255c30bb","metadata":{},"source":["<div class=\"alert alert-block alert-info\">\n","<b>Note:</b> For analyzing model BPA results at scale, see the Best Practice Analyzer Report notebook (link below).\n","</div>\n","\n","[Best Practice Analyzer Notebook](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Best%20Practice%20Analyzer%20Report.ipynb)"]},{"cell_type":"markdown","id":"bab18a61","metadata":{},"source":["### Run BPA using your own best practice rules"]},{"cell_type":"code","execution_count":null,"id":"59b89387","metadata":{},"outputs":[],"source":["import sempy\n","sempy.fabric._client._utils._init_analysis_services()\n","import Microsoft.AnalysisServices.Tabular as TOM\n","import pandas as pd\n","\n","dataset_name = ''\n","workspace_name = ''\n","\n","rules = pd.DataFrame(\n"," [\n"," (\n"," \"Performance\",\n"," \"Table\",\n"," \"Warning\",\n"," \"Rule name...\",\n"," lambda obj, tom: tom.is_calculated_table(table_name=obj.Name),\n"," 'Rule description...',\n"," '',\n"," ),\n"," (\n"," \"Performance\",\n"," \"Column\",\n"," \"Warning\",\n"," \"Do not use floating point data types\",\n"," lambda obj, tom: obj.DataType == TOM.DataType.Double,\n"," 'The \"Double\" floating point data type should be avoided, as it can result in unpredictable roundoff errors and decreased performance in certain scenarios. Use \"Int64\" or \"Decimal\" where appropriate (but note that \"Decimal\" is limited to 4 digits after the decimal sign).',\n"," )\n"," ],\n"," columns=[\n"," \"Category\",\n"," \"Scope\",\n"," \"Severity\",\n"," \"Rule Name\",\n"," \"Expression\",\n"," \"Description\",\n"," \"URL\",\n"," ],\n",")\n","\n","labs.run_model_bpa(dataset=dataset_name, workspace=workspace_name, rules=rules)"]},{"cell_type":"markdown","id":"8126a1a1","metadata":{},"source":["### Direct Lake\n","\n","Check if any lakehouse tables will hit the [Direct Lake guardrails](https://learn.microsoft.com/power-bi/enterprise/directlake-overview#fallback)."]},{"cell_type":"code","execution_count":null,"id":"e7397b15","metadata":{},"outputs":[],"source":["lake.get_lakehouse_tables(lakehouse = None, workspace = None, extended = True, count_rows = False)"]},{"cell_type":"code","execution_count":null,"id":"b30074cf","metadata":{},"outputs":[],"source":["lake.get_lakehouse_tables(lakehouse = None, workspace = None, extended = True, count_rows = False, export = True)"]},{"cell_type":"markdown","id":"99b84f2b","metadata":{},"source":["Check if any tables in a Direct Lake semantic model will fall back to DirectQuery."]},{"cell_type":"code","execution_count":null,"id":"f837be58","metadata":{},"outputs":[],"source":["directlake.check_fallback_reason(dataset = dataset_name, workspace = workspace_name)"]},{"cell_type":"markdown","id":"8f6df93e","metadata":{},"source":["### [OPTIMIZE](https://docs.delta.io/latest/optimizations-oss.html) your lakehouse delta tables."]},{"cell_type":"code","execution_count":null,"id":"e0262c9e","metadata":{},"outputs":[],"source":["lake.optimize_lakehouse_tables(tables = ['', ''], lakehouse = None, workspace = None)"]},{"cell_type":"markdown","id":"0091d6a0","metadata":{},"source":["Refresh/reframe your Direct Lake semantic model and restore the columns which were in memory prior to the refresh."]},{"cell_type":"code","execution_count":null,"id":"77eef082","metadata":{},"outputs":[],"source":["directlake.warm_direct_lake_cache_isresident(dataset = dataset_name, workspace = workspace_name)"]},{"cell_type":"markdown","id":"dae1a210","metadata":{},"source":["Ensure a warm cache for your users by putting the columns of a Direct Lake semantic model into memory based on the contents of a [perspective](https://learn.microsoft.com/analysis-services/tabular-models/perspectives-ssas-tabular?view=asallproducts-allversions).\n","\n","Perspectives can be created either in [Tabular Editor 3](https://github.com/TabularEditor/TabularEditor3/releases/latest) or in [Tabular Editor 2](https://github.com/TabularEditor/TabularEditor/releases/latest) using the [Perspective Editor](https://www.elegantbi.com/post/perspectiveeditor)."]},{"cell_type":"code","execution_count":null,"id":"43297001","metadata":{},"outputs":[],"source":["directlake.warm_direct_lake_cache_perspective(dataset = dataset_name, workspace = workspace_name, perspective = '', add_dependencies = True)"]}],"metadata":{"kernel_info":{"name":"synapse_pyspark"},"kernelspec":{"display_name":"Synapse PySpark","language":"Python","name":"synapse_pyspark"},"language_info":{"name":"python"},"microsoft":{"language":"python"},"nteract":{"version":"nteract-front-end@1.0.0"},"spark_compute":{"compute_id":"/trident/default"},"synapse_widget":{"state":{},"version":"0.1"},"widgets":{}},"nbformat":4,"nbformat_minor":5}
@@ -0,0 +1 @@
1
+ {"cells":[{"cell_type":"markdown","id":"5c27dfd1-4fe0-4a97-92e6-ddf78889aa93","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Install the latest .whl package\n","\n","Check [here](https://pypi.org/project/semantic-link-labs/) to see the latest version."]},{"cell_type":"code","execution_count":null,"id":"d5cae9db-cef9-48a8-a351-9c5fcc99645c","metadata":{"jupyter":{"outputs_hidden":true,"source_hidden":false},"nteract":{"transient":{"deleting":false}}},"outputs":[],"source":["%pip install semantic-link-labs"]},{"cell_type":"markdown","id":"b195eae8","metadata":{},"source":["### Import the library and necessary packages"]},{"cell_type":"code","execution_count":null,"id":"1344e286","metadata":{},"outputs":[],"source":["import sempy_labs as labs\n","from sempy_labs import ConnectWarehouse\n","warehouse_name = ''\n","workspace_name = ''"]},{"cell_type":"markdown","id":"55e5ca67","metadata":{},"source":["### Run a SQL query against a Fabric warehouse"]},{"cell_type":"code","execution_count":null,"id":"a9f984e9","metadata":{},"outputs":[],"source":["with ConnectWarehouse(warehouse=warehouse_name, workspace=workspace_name) as sql:\n"," df = sql.query(\"SELECT * FROM Product\")"]},{"cell_type":"markdown","id":"d5b090da","metadata":{},"source":["#### Display the results of the query"]},{"cell_type":"code","execution_count":null,"id":"05953d6d","metadata":{},"outputs":[],"source":["df"]},{"cell_type":"code","execution_count":null,"id":"4dca7f4a","metadata":{},"outputs":[],"source":["display(df)"]}],"metadata":{"kernel_info":{"name":"synapse_pyspark"},"kernelspec":{"display_name":"Synapse PySpark","language":"Python","name":"synapse_pyspark"},"language_info":{"name":"python"},"microsoft":{"language":"python"},"nteract":{"version":"nteract-front-end@1.0.0"},"spark_compute":{"compute_id":"/trident/default"},"synapse_widget":{"state":{},"version":"0.1"},"widgets":{}},"nbformat":4,"nbformat_minor":5}
@@ -7,7 +7,7 @@ name="semantic-link-labs"
7
7
  authors = [
8
8
  { name = "Microsoft Corporation" },
9
9
  ]
10
- version="0.7.2"
10
+ version="0.7.4"
11
11
  description="Semantic Link Labs for Microsoft Fabric"
12
12
  readme="README.md"
13
13
  requires-python=">=3.10,<3.12"
@@ -23,10 +23,11 @@ classifiers = [
23
23
  license= { text = "MIT License" }
24
24
 
25
25
  dependencies = [
26
- "semantic-link-sempy>=0.7.7",
26
+ "semantic-link-sempy>=0.8.0",
27
27
  "anytree",
28
28
  "powerbiclient",
29
29
  "polib",
30
+ "azure.mgmt.resource",
30
31
  ]
31
32
 
32
33
  [tool.setuptools.packages.find]
@@ -44,7 +45,7 @@ test = [
44
45
  Repository = "https://github.com/microsoft/semantic-link-labs.git"
45
46
 
46
47
  [[tool.mypy.overrides]]
47
- module = "sempy.*,Microsoft.*,System.*,anytree.*,powerbiclient.*,synapse.ml.services.*,polib.*"
48
+ module = "sempy.*,Microsoft.*,System.*,anytree.*,powerbiclient.*,synapse.ml.services.*,polib.*,azure.mgmt.resource.*"
48
49
  ignore_missing_imports = true
49
50
 
50
51
  [tool.flake8]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: semantic-link-labs
3
- Version: 0.7.2
3
+ Version: 0.7.4
4
4
  Summary: Semantic Link Labs for Microsoft Fabric
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -15,17 +15,18 @@ 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.7.7
18
+ Requires-Dist: semantic-link-sempy>=0.8.0
19
19
  Requires-Dist: anytree
20
20
  Requires-Dist: powerbiclient
21
21
  Requires-Dist: polib
22
+ Requires-Dist: azure.mgmt.resource
22
23
  Provides-Extra: test
23
24
  Requires-Dist: pytest>=8.2.1; extra == "test"
24
25
 
25
26
  # Semantic Link Labs
26
27
 
27
28
  [![PyPI version](https://badge.fury.io/py/semantic-link-labs.svg)](https://badge.fury.io/py/semantic-link-labs)
28
- [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.7.2&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
29
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.7.4&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
29
30
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
30
31
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
31
32
 
@@ -53,6 +54,7 @@ from sempy_labs import migration, directlake
53
54
  from sempy_labs import lakehouse as lake
54
55
  from sempy_labs import report as rep
55
56
  from sempy_labs.tom import connect_semantic_model
57
+ from sempy_labs import ConnectWarehouse
56
58
  ```
57
59
 
58
60
  ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
@@ -75,6 +77,16 @@ An even better way to ensure the semantic-link-labs library is available in your
75
77
  1. Navigate to your Notebook
76
78
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
77
79
 
80
+ ## Version History
81
+ * [0.7.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.4) (September 16, 2024)
82
+ * [0.7.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.3) (September 11, 2024)
83
+ * [0.7.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.2) (August 30, 2024)
84
+ * [0.7.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.1) (August 29, 2024)
85
+ * [0.7.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.0) (August 26, 2024)
86
+ * [0.6.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.6.0) (July 22, 2024)
87
+ * [0.5.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.5.0) (July 2, 2024)
88
+ * [0.4.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.4.2) (June 18, 2024)
89
+
78
90
  ---
79
91
  ## Direct Lake migration
80
92
 
@@ -25,6 +25,7 @@ notebooks/Model Optimization.ipynb
25
25
  notebooks/Query Scale Out.ipynb
26
26
  notebooks/Semantic Model Refresh.ipynb
27
27
  notebooks/Tabular Object Model.ipynb
28
+ notebooks/Warehouse.ipynb
28
29
  src/semantic_link_labs.egg-info/PKG-INFO
29
30
  src/semantic_link_labs.egg-info/SOURCES.txt
30
31
  src/semantic_link_labs.egg-info/dependency_links.txt
@@ -32,10 +33,15 @@ src/semantic_link_labs.egg-info/requires.txt
32
33
  src/semantic_link_labs.egg-info/top_level.txt
33
34
  src/sempy_labs/__init__.py
34
35
  src/sempy_labs/_ai.py
36
+ src/sempy_labs/_capacities.py
35
37
  src/sempy_labs/_clear_cache.py
36
38
  src/sempy_labs/_connections.py
39
+ src/sempy_labs/_dataflows.py
37
40
  src/sempy_labs/_dax.py
41
+ src/sempy_labs/_deployment_pipelines.py
42
+ src/sempy_labs/_environments.py
38
43
  src/sempy_labs/_generate_semantic_model.py
44
+ src/sempy_labs/_git.py
39
45
  src/sempy_labs/_helper_functions.py
40
46
  src/sempy_labs/_icons.py
41
47
  src/sempy_labs/_list_functions.py
@@ -44,41 +50,59 @@ src/sempy_labs/_model_bpa.py
44
50
  src/sempy_labs/_model_bpa_bulk.py
45
51
  src/sempy_labs/_model_bpa_rules.py
46
52
  src/sempy_labs/_model_dependencies.py
53
+ src/sempy_labs/_notebooks.py
47
54
  src/sempy_labs/_one_lake_integration.py
48
55
  src/sempy_labs/_query_scale_out.py
49
56
  src/sempy_labs/_refresh_semantic_model.py
57
+ src/sempy_labs/_spark.py
58
+ src/sempy_labs/_sql.py
50
59
  src/sempy_labs/_translations.py
51
60
  src/sempy_labs/_vertipaq.py
52
- src/sempy_labs/_bpa_translation/_translations_am-ET.po
53
- src/sempy_labs/_bpa_translation/_translations_ar-AE.po
54
- src/sempy_labs/_bpa_translation/_translations_cs-CZ.po
55
- src/sempy_labs/_bpa_translation/_translations_da-DK.po
56
- src/sempy_labs/_bpa_translation/_translations_de-DE.po
57
- src/sempy_labs/_bpa_translation/_translations_el-GR.po
58
- src/sempy_labs/_bpa_translation/_translations_es-ES.po
59
- src/sempy_labs/_bpa_translation/_translations_fa-IR.po
60
- src/sempy_labs/_bpa_translation/_translations_fr-FR.po
61
- src/sempy_labs/_bpa_translation/_translations_ga-IE.po
62
- src/sempy_labs/_bpa_translation/_translations_he-IL.po
63
- src/sempy_labs/_bpa_translation/_translations_hi-IN.po
64
- src/sempy_labs/_bpa_translation/_translations_hu-HU.po
65
- src/sempy_labs/_bpa_translation/_translations_is-IS.po
66
- src/sempy_labs/_bpa_translation/_translations_it-IT.po
67
- src/sempy_labs/_bpa_translation/_translations_ja-JP.po
68
- src/sempy_labs/_bpa_translation/_translations_nl-NL.po
69
- src/sempy_labs/_bpa_translation/_translations_pl-PL.po
70
- src/sempy_labs/_bpa_translation/_translations_pt-BR.po
71
- src/sempy_labs/_bpa_translation/_translations_pt-PT.po
72
- src/sempy_labs/_bpa_translation/_translations_ru-RU.po
73
- src/sempy_labs/_bpa_translation/_translations_ta-IN.po
74
- src/sempy_labs/_bpa_translation/_translations_te-IN.po
75
- src/sempy_labs/_bpa_translation/_translations_th-TH.po
76
- src/sempy_labs/_bpa_translation/_translations_zh-CN.po
77
- src/sempy_labs/_bpa_translation/_translations_zu-ZA.po
61
+ src/sempy_labs/_workspace_identity.py
62
+ src/sempy_labs/_workspaces.py
63
+ src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po
64
+ src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po
65
+ src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po
66
+ src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po
67
+ src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po
68
+ src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po
69
+ src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po
70
+ src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po
71
+ src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po
72
+ src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po
73
+ src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po
74
+ src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po
75
+ src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po
76
+ src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po
77
+ src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po
78
+ src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po
79
+ src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po
80
+ src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po
81
+ src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po
82
+ src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po
83
+ src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po
84
+ src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po
85
+ src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po
86
+ src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po
87
+ src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po
88
+ src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po
89
+ src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po
90
+ src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po
91
+ src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po
92
+ src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po
93
+ src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po
94
+ src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po
95
+ src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po
96
+ src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po
97
+ src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po
98
+ src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po
99
+ src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po
100
+ src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po
78
101
  src/sempy_labs/directlake/__init__.py
79
102
  src/sempy_labs/directlake/_directlake_schema_compare.py
80
103
  src/sempy_labs/directlake/_directlake_schema_sync.py
81
104
  src/sempy_labs/directlake/_dl_helper.py
105
+ src/sempy_labs/directlake/_generate_shared_expression.py
82
106
  src/sempy_labs/directlake/_get_directlake_lakehouse.py
83
107
  src/sempy_labs/directlake/_get_shared_expression.py
84
108
  src/sempy_labs/directlake/_guardrails.py
@@ -1,7 +1,8 @@
1
- semantic-link-sempy>=0.7.7
1
+ semantic-link-sempy>=0.8.0
2
2
  anytree
3
3
  powerbiclient
4
4
  polib
5
+ azure.mgmt.resource
5
6
 
6
7
  [test]
7
8
  pytest>=8.2.1
@@ -1,20 +1,93 @@
1
- from sempy_labs._clear_cache import clear_cache
1
+ from sempy_labs._environments import (
2
+ create_environment,
3
+ delete_environment,
4
+ publish_environment,
5
+ )
2
6
 
3
- # from sempy_labs._connections import (
4
- # create_connection_cloud,
5
- # create_connection_vnet,
6
- # create_connection_on_prem
7
- # )
7
+ from sempy_labs._spark import (
8
+ get_spark_settings,
9
+ update_spark_settings,
10
+ list_custom_pools,
11
+ create_custom_pool,
12
+ delete_custom_pool,
13
+ update_custom_pool,
14
+ )
15
+
16
+ from sempy_labs._workspaces import (
17
+ list_workspace_users,
18
+ update_workspace_user,
19
+ add_user_to_workspace,
20
+ delete_user_from_workspace,
21
+ assign_workspace_to_capacity,
22
+ unassign_workspace_from_capacity,
23
+ list_workspace_role_assignments,
24
+ )
25
+ from sempy_labs._notebooks import (
26
+ get_notebook_definition,
27
+ import_notebook_from_web,
28
+ )
29
+ from sempy_labs._sql import (
30
+ ConnectWarehouse,
31
+ )
32
+ from sempy_labs._capacities import (
33
+ check_fabric_capacity_name_availablility,
34
+ delete_fabric_capacity,
35
+ resume_fabric_capacity,
36
+ update_fabric_capacity,
37
+ create_fabric_capacity,
38
+ delete_premium_capacity,
39
+ suspend_fabric_capacity,
40
+ delete_embedded_capacity,
41
+ )
42
+ from sempy_labs._workspace_identity import (
43
+ provision_workspace_identity,
44
+ deprovision_workspace_identity,
45
+ )
46
+ from sempy_labs._deployment_pipelines import (
47
+ list_deployment_pipeline_stage_items,
48
+ list_deployment_pipeline_stages,
49
+ list_deployment_pipelines,
50
+ )
51
+ from sempy_labs._git import (
52
+ get_git_connection,
53
+ get_git_status,
54
+ commit_to_git,
55
+ initialize_git_connection,
56
+ update_from_git,
57
+ connect_workspace_to_git,
58
+ disconnect_workspace_from_git,
59
+ )
60
+ from sempy_labs._dataflows import (
61
+ list_dataflow_storage_accounts,
62
+ assign_workspace_to_dataflow_storage,
63
+ list_dataflows,
64
+ )
65
+ from sempy_labs._clear_cache import (
66
+ clear_cache,
67
+ backup_semantic_model,
68
+ restore_semantic_model,
69
+ copy_semantic_model_backup_file,
70
+ list_backups,
71
+ list_storage_account_files,
72
+ )
73
+ from sempy_labs._connections import (
74
+ list_connections,
75
+ list_item_connections,
76
+ # create_connection_cloud,
77
+ # create_connection_vnet,
78
+ # create_connection_on_prem
79
+ )
8
80
  from sempy_labs._dax import evaluate_dax_impersonation
9
81
  from sempy_labs._generate_semantic_model import (
10
82
  create_blank_semantic_model,
11
83
  create_semantic_model_from_bim,
12
84
  deploy_semantic_model,
13
85
  get_semantic_model_bim,
86
+ get_semantic_model_size,
87
+ update_semantic_model_from_bim,
14
88
  )
15
89
  from sempy_labs._list_functions import (
16
90
  list_reports_using_semantic_model,
17
- delete_custom_pool,
18
91
  list_semantic_model_objects,
19
92
  list_shortcuts,
20
93
  get_object_level_security,
@@ -22,7 +95,6 @@ from sempy_labs._list_functions import (
22
95
  # list_annotations,
23
96
  # list_columns,
24
97
  list_dashboards,
25
- list_dataflow_storage_accounts,
26
98
  # list_datamarts,
27
99
  # list_datapipelines,
28
100
  # list_eventstreams,
@@ -37,26 +109,13 @@ from sempy_labs._list_functions import (
37
109
  # list_sqlendpoints,
38
110
  # list_tables,
39
111
  list_warehouses,
40
- list_workspace_role_assignments,
41
112
  create_warehouse,
42
113
  update_item,
43
- list_custom_pools,
44
- create_custom_pool,
45
- update_custom_pool,
46
- assign_workspace_to_capacity,
47
- unassign_workspace_from_capacity,
48
- get_spark_settings,
49
- update_spark_settings,
50
- add_user_to_workspace,
51
- delete_user_from_workspace,
52
- update_workspace_user,
53
- list_workspace_users,
54
- assign_workspace_to_dataflow_storage,
55
- get_notebook_definition,
56
- import_notebook_from_web,
57
114
  )
58
-
59
115
  from sempy_labs._helper_functions import (
116
+ resolve_environment_id,
117
+ resolve_capacity_id,
118
+ resolve_warehouse_id,
60
119
  resolve_workspace_capacity,
61
120
  create_abfss_path,
62
121
  format_dax_object_name,
@@ -114,6 +173,19 @@ from sempy_labs._vertipaq import (
114
173
  )
115
174
 
116
175
  __all__ = [
176
+ "resolve_warehouse_id",
177
+ "ConnectWarehouse",
178
+ "update_semantic_model_from_bim",
179
+ "list_connections",
180
+ "get_semantic_model_size",
181
+ "provision_workspace_identity",
182
+ "deprovision_workspace_identity",
183
+ "list_dataflows",
184
+ "copy_semantic_model_backup_file",
185
+ "list_backups",
186
+ "list_storage_account_files",
187
+ "backup_semantic_model",
188
+ "restore_semantic_model",
117
189
  "delete_custom_pool",
118
190
  "clear_cache",
119
191
  # create_connection_cloud,
@@ -205,4 +277,28 @@ __all__ = [
205
277
  "resolve_capacity_name",
206
278
  "run_model_bpa_bulk",
207
279
  "create_model_bpa_semantic_model",
280
+ "list_deployment_pipeline_stage_items",
281
+ "list_deployment_pipeline_stages",
282
+ "list_deployment_pipelines",
283
+ "get_git_connection",
284
+ "get_git_status",
285
+ "commit_to_git",
286
+ "initialize_git_connection",
287
+ "update_from_git",
288
+ "connect_workspace_to_git",
289
+ "disconnect_workspace_from_git",
290
+ "create_environment",
291
+ "delete_environment",
292
+ "publish_environment",
293
+ "resolve_capacity_id",
294
+ "resolve_environment_id",
295
+ "list_item_connections",
296
+ "check_fabric_capacity_name_availablility",
297
+ "delete_fabric_capacity",
298
+ "resume_fabric_capacity",
299
+ "update_fabric_capacity",
300
+ "create_fabric_capacity",
301
+ "delete_premium_capacity",
302
+ "suspend_fabric_capacity",
303
+ "delete_embedded_capacity",
208
304
  ]
@@ -42,6 +42,13 @@ msgid ""
42
42
  "hybrid table"
43
43
  msgstr "የውሂብ ጠረጴዛ በDirectQuery ክፍፍሉ ላይ 'የዳታ ሽፋን ፍቺ' ንብረት ያስቀምጡ"
44
44
 
45
+ # rule_name
46
+ msgid ""
47
+ "Dual mode is only relevant for dimension tables if DirectQuery is used for "
48
+ "the corresponding fact table"
49
+ msgstr ""
50
+ "ድርብ ዘዴ ለስፋት ሠንጠረዦች ብቻ ጠቃሚ ነው DirectQuery ለተመጣጣኝ እውነታ ሠንጠረዥ ጥቅም ላይ የዋለ ከሆነ"
51
+
45
52
  # rule_name
46
53
  msgid ""
47
54
  "Set dimensions tables to dual mode instead of import when using DirectQuery "
@@ -289,6 +296,12 @@ msgid ""
289
296
  "hybrid table"
290
297
  msgstr "አፈጻጸም"
291
298
 
299
+ # category
300
+ msgid ""
301
+ "Dual mode is only relevant for dimension tables if DirectQuery is used for "
302
+ "the corresponding fact table"
303
+ msgstr "አፈጻጸም"
304
+
292
305
  # category
293
306
  msgid ""
294
307
  "Set dimensions tables to dual mode instead of import when using DirectQuery "
@@ -553,6 +566,15 @@ msgstr ""
553
566
  " መጠየቂያ እንደሚያስፈልገው ስለሚያውቅ 'የData Coverage Definition' የሚለውን ንብረት ማመቻቸት የተሻለ "
554
567
  "አፈጻጸም ሊያስከትል ይችላል።"
555
568
 
569
+ # description
570
+ msgid ""
571
+ "Dual mode is only relevant for dimension tables if DirectQuery is used for "
572
+ "the corresponding fact table"
573
+ msgstr ""
574
+ "ተመሳሳዩ እውነታ ሠንጠረዥ በDirectQuery ውስጥ የሚገኝበትን ስፋት tables/partitions ለማግኘት ብቻ "
575
+ "Dual mode ይጠቀሙ. በሌሎች ሁኔታዎች ሁለት ዓይነት ዘዴን መጠቀም (ማለትም የቀረው ሞዴል በኢምፖርት ሞድ ውስጥ "
576
+ "ነው) በተለይ በሞዴሉ ውስጥ ያለው የመለኪያ ቁጥር ከፍተኛ ከሆነ ወደ አፈጻጸም ችግር ሊያመራ ይችላል."
577
+
556
578
  # description
557
579
  msgid ""
558
580
  "Set dimensions tables to dual mode instead of import when using DirectQuery "