semantic-link-labs 0.8.3__tar.gz → 0.8.5__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 (204) hide show
  1. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/PKG-INFO +38 -8
  2. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/README.md +36 -6
  3. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/docs/source/conf.py +1 -1
  4. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/environment.yml +1 -1
  5. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/notebooks/Capacity Migration.ipynb +1 -1
  6. semantic_link_labs-0.8.5/notebooks/Migration to Direct Lake.ipynb +387 -0
  7. semantic_link_labs-0.8.5/notebooks/Model Optimization.ipynb +444 -0
  8. semantic_link_labs-0.8.5/notebooks/Query Scale Out.ipynb +226 -0
  9. semantic_link_labs-0.8.5/notebooks/SQL.ipynb +1 -0
  10. semantic_link_labs-0.8.5/notebooks/Semantic Model Refresh.ipynb +1 -0
  11. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/pyproject.toml +2 -2
  12. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/PKG-INFO +38 -8
  13. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/SOURCES.txt +5 -0
  14. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/requires.txt +1 -1
  15. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/__init__.py +53 -1
  16. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +24 -5
  17. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +28 -4
  18. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +34 -4
  19. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +33 -4
  20. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +31 -4
  21. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +31 -4
  22. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +34 -4
  23. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +36 -4
  24. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +90 -58
  25. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +31 -5
  26. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +31 -4
  27. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +34 -4
  28. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +34 -4
  29. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +28 -4
  30. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +32 -4
  31. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +32 -4
  32. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +32 -4
  33. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +31 -4
  34. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +34 -4
  35. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +24 -4
  36. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +72 -56
  37. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +34 -4
  38. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +34 -4
  39. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +95 -71
  40. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +32 -4
  41. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +32 -4
  42. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +33 -4
  43. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +34 -4
  44. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +31 -4
  45. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +32 -4
  46. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +32 -4
  47. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +32 -4
  48. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +31 -4
  49. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +31 -4
  50. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +32 -4
  51. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +100 -72
  52. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +23 -5
  53. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +32 -4
  54. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_capacities.py +49 -14
  55. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_capacity_migration.py +1 -7
  56. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_data_pipelines.py +6 -0
  57. semantic_link_labs-0.8.5/src/sempy_labs/_dataflows.py +247 -0
  58. semantic_link_labs-0.8.5/src/sempy_labs/_dax.py +250 -0
  59. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_deployment_pipelines.py +13 -7
  60. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_environments.py +6 -0
  61. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_eventhouses.py +6 -0
  62. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_eventstreams.py +6 -0
  63. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_external_data_shares.py +6 -4
  64. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_generate_semantic_model.py +26 -3
  65. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_git.py +14 -14
  66. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_helper_functions.py +197 -1
  67. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_icons.py +55 -22
  68. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_kql_databases.py +6 -0
  69. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_kql_querysets.py +6 -0
  70. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_list_functions.py +1 -1
  71. semantic_link_labs-0.8.5/src/sempy_labs/_managed_private_endpoints.py +166 -0
  72. semantic_link_labs-0.8.5/src/sempy_labs/_mirrored_databases.py +428 -0
  73. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_mirrored_warehouses.py +2 -0
  74. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_ml_experiments.py +6 -0
  75. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_ml_models.py +7 -1
  76. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_bpa.py +215 -181
  77. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_bpa_bulk.py +46 -42
  78. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_bpa_rules.py +8 -3
  79. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_dependencies.py +41 -87
  80. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_notebooks.py +107 -12
  81. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_query_scale_out.py +8 -6
  82. semantic_link_labs-0.8.5/src/sempy_labs/_refresh_semantic_model.py +425 -0
  83. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_spark.py +12 -5
  84. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_translations.py +2 -0
  85. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_vertipaq.py +89 -86
  86. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_warehouses.py +79 -0
  87. semantic_link_labs-0.8.5/src/sempy_labs/_workloads.py +128 -0
  88. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_workspace_identity.py +4 -4
  89. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_workspaces.py +14 -1
  90. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/admin/__init__.py +2 -0
  91. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/admin/_basic_functions.py +131 -43
  92. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/admin/_domains.py +18 -18
  93. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/__init__.py +2 -0
  94. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_directlake_schema_sync.py +2 -1
  95. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_dl_helper.py +4 -1
  96. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_get_shared_expression.py +7 -1
  97. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_guardrails.py +2 -1
  98. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +1 -7
  99. semantic_link_labs-0.8.5/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +149 -0
  100. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +13 -32
  101. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_warm_cache.py +10 -9
  102. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +6 -2
  103. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_shortcuts.py +4 -0
  104. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_create_pqt_file.py +5 -2
  105. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +3 -2
  106. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +2 -0
  107. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +2 -8
  108. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +17 -0
  109. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migration_validation.py +2 -0
  110. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_refresh_calc_tables.py +1 -0
  111. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/__init__.py +6 -1
  112. semantic_link_labs-0.8.5/src/sempy_labs/report/_download_report.py +75 -0
  113. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_generate_report.py +6 -0
  114. semantic_link_labs-0.8.5/src/sempy_labs/report/_paginated.py +74 -0
  115. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_functions.py +6 -0
  116. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_rebind.py +2 -0
  117. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_reportwrapper.py +4 -2
  118. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/tom/_model.py +135 -68
  119. semantic_link_labs-0.8.3/notebooks/Migration to Direct Lake.ipynb +0 -1
  120. semantic_link_labs-0.8.3/notebooks/Model Optimization.ipynb +0 -1
  121. semantic_link_labs-0.8.3/notebooks/Query Scale Out.ipynb +0 -1
  122. semantic_link_labs-0.8.3/notebooks/SQL.ipynb +0 -1
  123. semantic_link_labs-0.8.3/notebooks/Semantic Model Refresh.ipynb +0 -1
  124. semantic_link_labs-0.8.3/src/sempy_labs/_dataflows.py +0 -130
  125. semantic_link_labs-0.8.3/src/sempy_labs/_dax.py +0 -64
  126. semantic_link_labs-0.8.3/src/sempy_labs/_refresh_semantic_model.py +0 -175
  127. semantic_link_labs-0.8.3/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +0 -71
  128. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  129. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  130. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
  131. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.github/workflows/build.yaml +0 -0
  132. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.github/workflows/codeql.yaml +0 -0
  133. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.gitignore +0 -0
  134. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.readthedocs.yaml +0 -0
  135. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/.vscode/settings.json +0 -0
  136. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/CODE_OF_CONDUCT.md +0 -0
  137. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/LICENSE +0 -0
  138. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/SECURITY.md +0 -0
  139. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/SUPPORT.md +0 -0
  140. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/docs/Makefile +0 -0
  141. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/docs/make.bat +0 -0
  142. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/docs/requirements.txt +0 -0
  143. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/docs/source/index.rst +0 -0
  144. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/docs/source/modules.rst +0 -0
  145. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
  146. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/notebooks/Report Analysis.ipynb +0 -0
  147. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/notebooks/Tabular Object Model.ipynb +0 -0
  148. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/setup.cfg +0 -0
  149. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
  150. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
  151. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_ai.py +0 -0
  152. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_clear_cache.py +0 -0
  153. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_connections.py +0 -0
  154. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_documentation.py +0 -0
  155. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_auto_build.py +0 -0
  156. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_one_lake_integration.py +0 -0
  157. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/_sql.py +0 -0
  158. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_directlake_schema_compare.py +0 -0
  159. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_generate_shared_expression.py +0 -0
  160. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
  161. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
  162. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/__init__.py +0 -0
  163. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
  164. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_lakehouse.py +0 -0
  165. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/__init__.py +0 -0
  166. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
  167. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
  168. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
  169. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
  170. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
  171. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
  172. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
  173. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
  174. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
  175. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
  176. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
  177. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
  178. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
  179. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
  180. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
  181. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
  182. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
  183. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
  184. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
  185. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
  186. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
  187. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
  188. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
  189. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
  190. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
  191. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
  192. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
  193. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
  194. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
  195. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
  196. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_bpa.py +0 -0
  197. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
  198. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_helper.py +0 -0
  199. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_list_functions.py +0 -0
  200. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/src/sempy_labs/tom/__init__.py +0 -0
  201. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/tests/__init__.py +0 -0
  202. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/tests/test_friendly_case.py +0 -0
  203. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/tests/test_shortcuts.py +0 -0
  204. {semantic_link_labs-0.8.3 → semantic_link_labs-0.8.5}/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.8.3
3
+ Version: 0.8.5
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.8.0
18
+ Requires-Dist: semantic-link-sempy>=0.8.3
19
19
  Requires-Dist: anytree
20
20
  Requires-Dist: powerbiclient
21
21
  Requires-Dist: polib
@@ -27,7 +27,7 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
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.8.3&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
30
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.8.5&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
 
@@ -37,6 +37,14 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
37
37
 
38
38
  Semantic Link Labs is a Python library designed for use in [Microsoft Fabric notebooks](https://learn.microsoft.com/fabric/data-engineering/how-to-use-notebook). This library extends the capabilities of [Semantic Link](https://learn.microsoft.com/fabric/data-science/semantic-link-overview) offering additional functionalities to seamlessly integrate and work alongside it. The goal of Semantic Link Labs is to simplify technical processes, empowering people to focus on higher level activities and allowing tasks that are better suited for machines to be efficiently handled without human intervention.
39
39
 
40
+ If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
41
+
42
+ If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).
43
+
44
+ Check out the video below for an introduction to Semantic Link, Semantic Link Labs and demos of key features!
45
+
46
+ [![Semantic Link Labs Video](https://img.youtube.com/vi/LSoWDEZk9b0/0.jpg)](https://www.youtube.com/watch?v=LSoWDEZk9b0)
47
+
40
48
  ## Featured Scenarios
41
49
  * Semantic Models
42
50
  * [Migrating an import/DirectQuery semantic model to Direct Lake](https://github.com/microsoft/semantic-link-labs?tab=readme-ov-file#direct-lake-migration)
@@ -47,26 +55,46 @@ Semantic Link Labs is a Python library designed for use in [Microsoft Fabric not
47
55
  * [Check Direct Lake Guardrails](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.get_lakehouse_tables)
48
56
  * [Refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb), [clear cache](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.clear_cache), [backup](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.backup_semantic_model), [restore](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.restore_semantic_model), [copy backup files](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.copy_semantic_model_backup_file), [move/deploy across workspaces](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.deploy_semantic_model)
49
57
  * [Run DAX queries which impersonate a user](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.evaluate_dax_impersonation)
50
- * [Manage Query Scale Out](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Query%20Scale%20Out.ipynb).
58
+ * [Manage Query Scale Out](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Query%20Scale%20Out.ipynb)
51
59
  * [Auto-generate descriptions for any/all measures in bulk](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.tom.html#sempy_labs.tom.TOMWrapper.generate_measure_descriptions)
60
+ * [Warm the cache of a Direct Lake semantic model after a refresh (using columns currently in memory)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.warm_direct_lake_cache_isresident)
61
+ * [Warm the cache of a Direct Lake semantic model (via perspective)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.warm_direct_lake_cache_perspective)
62
+ * [Visualize a refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb)
52
63
  * Reports
53
64
  * [Report Best Practice Analyzer (BPA)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.run_report_bpa)
54
65
  * [View report metadata](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Report%20Analysis.ipynb)
55
66
  * [View semantic model objects most frequently used in Power BI reports](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_semantic_model_object_report_usage)
56
67
  * [View broken reports](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_report_semantic_model_objects)
68
+ * [Set a report theme](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.ReportWrapper.set_theme)
69
+ * [Migrate report-level measures to the semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.ReportWrapper.migrate_report_level_measures)
57
70
  * [Rebind reports](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.report_rebind)
58
71
  * Capacities
59
72
  * [Migrating a Power BI Premium capacity (P sku) to a Fabric capacity (F sku)](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Capacity%20Migration.ipynb)
73
+ * [Migrating a Fabric Trial capacity (FT sku) to a Fabric capacity (F sku)](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Capacity%20Migration.ipynb)
60
74
  * [Create](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_fabric_capacity)/[update](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.update_fabric_capacity)/[suspend](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.suspend_fabric_capacity)/[resume](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.resume_fabric_capacity) Fabric capacities.
75
+ * Lakehouses
76
+ * [Optimize lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.optimize_lakehouse_tables)
77
+ * [Vacuum lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.vacuum_lakehouse_tables)
61
78
  * APIs
62
79
  * Wrapper functions for [Power BI](https://learn.microsoft.com/rest/api/power-bi/), [Fabric](https://learn.microsoft.com/rest/api/fabric/articles/using-fabric-apis), and [Azure (Fabric Capacity)](https://learn.microsoft.com/rest/api/microsoftfabric/fabric-capacities?view=rest-microsoftfabric-2023-11-01) APIs
63
80
 
81
+ ## Helper Notebooks
64
82
 
65
- ### Check out the [helper notebooks](https://github.com/microsoft/semantic-link-labs/tree/main/notebooks) for getting started!
83
+ Check out the [helper notebooks](https://github.com/microsoft/semantic-link-labs/tree/main/notebooks) for getting started!
84
+ Run the code below to load all the helper notebooks to the workspace of your choice at once.
85
+ ```python
86
+ import sempy_labs as labs
87
+ import requests
66
88
 
67
- If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
89
+ workspace_name = None # Update this to the workspace in which you want to save the notebooks
90
+ api_url = "https://api.github.com/repos/microsoft/semantic-link-labs/contents/notebooks"
91
+ response = requests.get(api_url)
92
+ files = response.json()
93
+ notebook_files = {file['name'][:-6]: file['html_url'] for file in files if file['name'].endswith('.ipynb')}
68
94
 
69
- If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).
95
+ for file_name, file_url in notebook_files.items():
96
+ labs.import_notebook_from_web(notebook_name=file_name, url=file_url, workspace=workspace_name)
97
+ ```
70
98
 
71
99
  ## Install the library in a Fabric notebook
72
100
  ```python
@@ -85,7 +113,7 @@ from sempy_labs import ConnectWarehouse
85
113
  from sempy_labs import ConnectLakehouse
86
114
  ```
87
115
 
88
- ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
116
+ ## Load Semantic Link Labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
89
117
  An even better way to ensure the semantic-link-labs library is available in your workspace/notebooks is to load it as a library in a custom Fabric environment. If you do this, you will not have to run the above '%pip install' code every time in your notebook. Please follow the steps below.
90
118
 
91
119
  #### Create a custom environment
@@ -106,6 +134,8 @@ An even better way to ensure the semantic-link-labs library is available in your
106
134
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
107
135
 
108
136
  ## Version History
137
+ * [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
138
+ * [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 2024)
109
139
  * [0.8.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.3) (October 14, 2024)
110
140
  * [0.8.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.2) (October 2, 2024)
111
141
  * [0.8.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.1) (October 2, 2024)
@@ -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.8.3&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
4
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.8.5&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
 
@@ -11,6 +11,14 @@
11
11
 
12
12
  Semantic Link Labs is a Python library designed for use in [Microsoft Fabric notebooks](https://learn.microsoft.com/fabric/data-engineering/how-to-use-notebook). This library extends the capabilities of [Semantic Link](https://learn.microsoft.com/fabric/data-science/semantic-link-overview) offering additional functionalities to seamlessly integrate and work alongside it. The goal of Semantic Link Labs is to simplify technical processes, empowering people to focus on higher level activities and allowing tasks that are better suited for machines to be efficiently handled without human intervention.
13
13
 
14
+ If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
15
+
16
+ If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).
17
+
18
+ Check out the video below for an introduction to Semantic Link, Semantic Link Labs and demos of key features!
19
+
20
+ [![Semantic Link Labs Video](https://img.youtube.com/vi/LSoWDEZk9b0/0.jpg)](https://www.youtube.com/watch?v=LSoWDEZk9b0)
21
+
14
22
  ## Featured Scenarios
15
23
  * Semantic Models
16
24
  * [Migrating an import/DirectQuery semantic model to Direct Lake](https://github.com/microsoft/semantic-link-labs?tab=readme-ov-file#direct-lake-migration)
@@ -21,26 +29,46 @@ Semantic Link Labs is a Python library designed for use in [Microsoft Fabric not
21
29
  * [Check Direct Lake Guardrails](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.get_lakehouse_tables)
22
30
  * [Refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb), [clear cache](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.clear_cache), [backup](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.backup_semantic_model), [restore](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.restore_semantic_model), [copy backup files](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.copy_semantic_model_backup_file), [move/deploy across workspaces](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.deploy_semantic_model)
23
31
  * [Run DAX queries which impersonate a user](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.evaluate_dax_impersonation)
24
- * [Manage Query Scale Out](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Query%20Scale%20Out.ipynb).
32
+ * [Manage Query Scale Out](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Query%20Scale%20Out.ipynb)
25
33
  * [Auto-generate descriptions for any/all measures in bulk](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.tom.html#sempy_labs.tom.TOMWrapper.generate_measure_descriptions)
34
+ * [Warm the cache of a Direct Lake semantic model after a refresh (using columns currently in memory)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.warm_direct_lake_cache_isresident)
35
+ * [Warm the cache of a Direct Lake semantic model (via perspective)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.warm_direct_lake_cache_perspective)
36
+ * [Visualize a refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb)
26
37
  * Reports
27
38
  * [Report Best Practice Analyzer (BPA)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.run_report_bpa)
28
39
  * [View report metadata](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Report%20Analysis.ipynb)
29
40
  * [View semantic model objects most frequently used in Power BI reports](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_semantic_model_object_report_usage)
30
41
  * [View broken reports](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_report_semantic_model_objects)
42
+ * [Set a report theme](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.ReportWrapper.set_theme)
43
+ * [Migrate report-level measures to the semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.ReportWrapper.migrate_report_level_measures)
31
44
  * [Rebind reports](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.report_rebind)
32
45
  * Capacities
33
46
  * [Migrating a Power BI Premium capacity (P sku) to a Fabric capacity (F sku)](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Capacity%20Migration.ipynb)
47
+ * [Migrating a Fabric Trial capacity (FT sku) to a Fabric capacity (F sku)](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Capacity%20Migration.ipynb)
34
48
  * [Create](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_fabric_capacity)/[update](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.update_fabric_capacity)/[suspend](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.suspend_fabric_capacity)/[resume](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.resume_fabric_capacity) Fabric capacities.
49
+ * Lakehouses
50
+ * [Optimize lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.optimize_lakehouse_tables)
51
+ * [Vacuum lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.vacuum_lakehouse_tables)
35
52
  * APIs
36
53
  * Wrapper functions for [Power BI](https://learn.microsoft.com/rest/api/power-bi/), [Fabric](https://learn.microsoft.com/rest/api/fabric/articles/using-fabric-apis), and [Azure (Fabric Capacity)](https://learn.microsoft.com/rest/api/microsoftfabric/fabric-capacities?view=rest-microsoftfabric-2023-11-01) APIs
37
54
 
55
+ ## Helper Notebooks
38
56
 
39
- ### Check out the [helper notebooks](https://github.com/microsoft/semantic-link-labs/tree/main/notebooks) for getting started!
57
+ Check out the [helper notebooks](https://github.com/microsoft/semantic-link-labs/tree/main/notebooks) for getting started!
58
+ Run the code below to load all the helper notebooks to the workspace of your choice at once.
59
+ ```python
60
+ import sempy_labs as labs
61
+ import requests
40
62
 
41
- If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
63
+ workspace_name = None # Update this to the workspace in which you want to save the notebooks
64
+ api_url = "https://api.github.com/repos/microsoft/semantic-link-labs/contents/notebooks"
65
+ response = requests.get(api_url)
66
+ files = response.json()
67
+ notebook_files = {file['name'][:-6]: file['html_url'] for file in files if file['name'].endswith('.ipynb')}
42
68
 
43
- If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).
69
+ for file_name, file_url in notebook_files.items():
70
+ labs.import_notebook_from_web(notebook_name=file_name, url=file_url, workspace=workspace_name)
71
+ ```
44
72
 
45
73
  ## Install the library in a Fabric notebook
46
74
  ```python
@@ -59,7 +87,7 @@ from sempy_labs import ConnectWarehouse
59
87
  from sempy_labs import ConnectLakehouse
60
88
  ```
61
89
 
62
- ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
90
+ ## Load Semantic Link Labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
63
91
  An even better way to ensure the semantic-link-labs library is available in your workspace/notebooks is to load it as a library in a custom Fabric environment. If you do this, you will not have to run the above '%pip install' code every time in your notebook. Please follow the steps below.
64
92
 
65
93
  #### Create a custom environment
@@ -80,6 +108,8 @@ An even better way to ensure the semantic-link-labs library is available in your
80
108
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
81
109
 
82
110
  ## Version History
111
+ * [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
112
+ * [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 2024)
83
113
  * [0.8.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.3) (October 14, 2024)
84
114
  * [0.8.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.2) (October 2, 2024)
85
115
  * [0.8.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.1) (October 2, 2024)
@@ -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.8.3'
16
+ release = '0.8.5'
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.8.0
9
+ - semantic-link-sempy>=0.8.3
10
10
  - azure-identity==1.7.1
11
11
  - azure-storage-blob>=12.9.0
12
12
  - pandas-stubs
@@ -1 +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":"2856d26d","metadata":{},"source":["### Requirements\n","* Must have an Azure Subscription\n","* Must [register an App](https://ms.portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade)\n"," * Permissions: Will need the Contributor role at the scope where the resources will be created, which is often the subscription level\n","* Azure Key Vault\n"," * [Set up](https://learn.microsoft.com/azure/key-vault/secrets/quick-create-portal) within the Azure Subscription\n"," * Save secrets for the Tenant ID, Client ID (Application ID), Client Secret\n"," * Permissions: Ensure the user who will be executing the notebooks has “Key Vault Secrets User”\n","* Fabric Permissions\n"," * User should be a tenant admin. This ensures they have the necessary authority to execute and manage the notebooks without encountering permission issues.\n","\n","### Result\n","* F skus are created for each (specified) capacity\n"," * Within the same region as the P SKU\n"," * Equivalent SKU size as the P SKU\n"," * Same admins as listed on the P SKU\n"," * All workspaces are migrated to the corresponding new capacity\n"," * Capacity settings from the P SKU are transferred to the F SKU\n"," * Capacity settings\n"," * Notification settings\n"," * Access settings\n"," * Disaster recovery settings\n"," * Spark settings\n"," * Delegated tenant settings\n","* The names of the newly created F SKU capacities will be an alphanumeric lowercase version of the P SKU capacity name, suffixed with 'fsku'. As an example: \"My capacity_3!\" -> \"mycapacity3fsku\"."]},{"cell_type":"markdown","id":"b195eae8","metadata":{},"source":["### Import the library and set the initial parameters"]},{"cell_type":"code","execution_count":null,"id":"1344e286","metadata":{},"outputs":[],"source":["import sempy_labs as labs\n","import sempy_labs.admin as admin\n","\n","azure_subscription_id = '' # Enter your Azure subscription ID\n","key_vault_uri = '' # Enter your Azure Key Vault URI\n","key_vault_tenant_id = '' # Enter the name of the Azure Key Vault secret which stores your Tenant ID\n","key_vault_client_id = '' # Enter the name of the Azure Key Vault secret which stores your Client ID (Application ID)\n","key_vault_client_secret = '' # Enter the name of the Azure Key Vault secret which stores your Client Secret\n","resource_group = '' # Enter the name of the resource group (to be used to create the new F skus)"]},{"cell_type":"markdown","id":"5a3fe6e8-b8aa-4447-812b-7931831e07fe","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Migrate a single P SKU -> F SKU\n","Set the 'capacities' parameter to the single P SKU."]},{"cell_type":"code","execution_count":null,"id":"3655dd88","metadata":{},"outputs":[],"source":["labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," capacities = 'CapacityA',\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"175a59b8","metadata":{},"source":["### Migrate a list of P SKUs to F SKUs\n","Set the 'capacities' parameter to a list of P SKUs."]},{"cell_type":"code","execution_count":null,"id":"3a7a80ec","metadata":{},"outputs":[],"source":["labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," capacities = ['CapacityA', 'CapacityB', 'CapacityC'],\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"30438799","metadata":{},"source":["### Migrate all P SKUs to F SKUs\n","Set the 'capacities' parameter to None."]},{"cell_type":"code","execution_count":null,"id":"315c2dc7","metadata":{},"outputs":[],"source":["labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," capacities = None,\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"1d8e73b2","metadata":{},"source":["### Migrate a list of P SKUs to F SKUs; associate each capacity with a specific resource group\n","This process ensures that each F SKU is created within the resource group specified in the resource_group_mapping dictionary."]},{"cell_type":"code","execution_count":null,"id":"2854bf8a","metadata":{},"outputs":[],"source":["resource_group_mapping = {\n"," \"CapacityA\": \"ResourceGroupA\",\n"," \"CapacityB\": \"ResourceGroupA\",\n"," \"CapacityC\": \"ResourceGroupB\",\n","}\n","\n","labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group_mapping,\n"," capacities = ['CapacityA', 'CapacityB', 'CapacityC'],\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"c3f497c8","metadata":{},"source":["### Migrate a single source capacity to a target capacity (target capacity already created)"]},{"cell_type":"code","execution_count":null,"id":"a4f0b5a2","metadata":{},"outputs":[],"source":["source_capacity = '' # Enter the Source capacity name\n","target_capacity = '' # Enter the Target capacity name (already exists) \n","\n","admin.assign_workspaces_to_capacity(\n"," source_capacity=source_capacity,\n"," target_capacity=target_capacity,\n"," workspace=None,\n",")\n","\n","# Optionally migrate settings\n","\"\"\"\n","labs.migrate_capacity_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_access_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_delegated_tenant_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_disaster_recovery_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_notification_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_spark_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","\"\"\""]},{"cell_type":"markdown","id":"e0db744b","metadata":{},"source":["### Migrate a list of source capacities to target capacities (target capacity already created)"]},{"cell_type":"code","execution_count":null,"id":"0e04d519","metadata":{},"outputs":[],"source":["capacity_mapping = {\n"," \"capacitya\": \"capacityanew\", # Format is \"Source SKU\": \"Target SKU\"\n"," \"capacityb\": \"capacitybnew\",\n"," \"capacityc\": \"capacitycnew\",\n","}\n","\n","capacities = list(capacity_mapping.keys())\n","\n","for capacity in capacities:\n"," admin.assign_workspaces_to_capacity(\n"," source_capacity=capacity,\n"," target_capacity=capacity_mapping.get(capacity),\n"," workspace=None,\n"," )\n"," # Optionally migrate settings\n"," \"\"\"\n"," labs.migrate_capacity_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_access_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_delegated_tenant_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_disaster_recovery_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_notification_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_spark_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," \"\"\"\n"]},{"cell_type":"markdown","id":"67787c3a","metadata":{},"source":["### Migrate a Fabric Trial Capacity (FT1) to a Fabric Capacity (F SKU)"]},{"cell_type":"code","execution_count":null,"id":"4efb55b2","metadata":{},"outputs":[],"source":["labs.migrate_fabric_trial_capacity(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," source_capacity = '', # The name of the Trial capacity.\n"," target_capacity = '', # The name of Fabric capacity (if it does not exist it will be created).\n"," target_capacity_sku = \"F64\", # Defaults to F64 but can specify the required SKU.\n"," target_capacity_region = None, # Setting this not None will create the Fabric capacity in the same region as the Trial capacity.\n"," target_capacity_admin_members = None, # Setting this to None will use the same admin members as the Trial capacity.\n",")"]}],"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}
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":"2856d26d","metadata":{},"source":["### Requirements\n","* Must have an Azure Subscription\n","* Must [register an App](https://ms.portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade)\n"," * Permissions: Will need the Contributor role at the scope where the resources will be created, which is often the subscription level\n","* Azure Key Vault\n"," * [Set up](https://learn.microsoft.com/azure/key-vault/secrets/quick-create-portal) within the Azure Subscription\n"," * Save secrets for the Tenant ID, Client ID (Application ID), Client Secret\n"," * Permissions: Ensure the user who will be executing the notebooks has “Key Vault Secrets User”\n","* Fabric Permissions\n"," * User should be a tenant admin. This ensures they have the necessary authority to execute and manage the notebooks without encountering permission issues.\n","\n","### Result\n","* F skus are created for each (specified) capacity\n"," * Within the same region as the P SKU\n"," * Equivalent SKU size as the P SKU\n"," * Same admins as listed on the P SKU\n"," * All workspaces are migrated to the corresponding new capacity\n"," * Capacity settings from the P SKU are transferred to the F SKU\n"," * Capacity settings\n"," * Notification settings\n"," * Access settings\n"," * Disaster recovery settings\n"," * Spark settings\n"," * Delegated tenant settings\n","* The names of the newly created F SKU capacities will be an alphanumeric lowercase version of the P SKU capacity name, suffixed with 'fsku'. As an example: \"My capacity_3!\" -> \"mycapacity3fsku\"."]},{"cell_type":"markdown","id":"b195eae8","metadata":{},"source":["### Import the library and set the initial parameters"]},{"cell_type":"code","execution_count":null,"id":"1344e286","metadata":{},"outputs":[],"source":["import sempy_labs as labs\n","import sempy_labs.admin as admin\n","\n","azure_subscription_id = '' # Enter your Azure subscription ID\n","key_vault_uri = '' # Enter your Azure Key Vault URI\n","key_vault_tenant_id = '' # Enter the name of the Azure Key Vault secret which stores your Tenant ID\n","key_vault_client_id = '' # Enter the name of the Azure Key Vault secret which stores your Client ID (Application ID)\n","key_vault_client_secret = '' # Enter the name of the Azure Key Vault secret which stores your Client Secret\n","resource_group = '' # Enter the name of the resource group (to be used to create the new F skus)"]},{"cell_type":"markdown","id":"5a3fe6e8-b8aa-4447-812b-7931831e07fe","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### Migrate a single P SKU -> F SKU\n","Set the 'capacities' parameter to the single P SKU."]},{"cell_type":"code","execution_count":null,"id":"3655dd88","metadata":{},"outputs":[],"source":["labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," capacities = 'CapacityA',\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"175a59b8","metadata":{},"source":["### Migrate a list of P SKUs to F SKUs\n","Set the 'capacities' parameter to a list of P SKUs."]},{"cell_type":"code","execution_count":null,"id":"3a7a80ec","metadata":{},"outputs":[],"source":["labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," capacities = ['CapacityA', 'CapacityB', 'CapacityC'],\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"30438799","metadata":{},"source":["### Migrate all P SKUs to F SKUs\n","Set the 'capacities' parameter to None."]},{"cell_type":"code","execution_count":null,"id":"315c2dc7","metadata":{},"outputs":[],"source":["labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," capacities = None,\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"1d8e73b2","metadata":{},"source":["### Migrate a list of P SKUs to F SKUs; associate each capacity with a specific resource group\n","This process ensures that each F SKU is created within the resource group specified in the resource_group_mapping dictionary."]},{"cell_type":"code","execution_count":null,"id":"2854bf8a","metadata":{},"outputs":[],"source":["resource_group_mapping = {\n"," \"CapacityA\": \"ResourceGroupA\",\n"," \"CapacityB\": \"ResourceGroupA\",\n"," \"CapacityC\": \"ResourceGroupB\",\n","}\n","\n","labs.migrate_capacities(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group_mapping,\n"," capacities = ['CapacityA', 'CapacityB', 'CapacityC'],\n"," p_sku_only = True,\n",")"]},{"cell_type":"markdown","id":"c3f497c8","metadata":{},"source":["### Migrate a single source capacity to a target capacity (target capacity already created)"]},{"cell_type":"code","execution_count":null,"id":"a4f0b5a2","metadata":{},"outputs":[],"source":["source_capacity = '' # Enter the Source capacity name\n","target_capacity = '' # Enter the Target capacity name (already exists) \n","\n","admin.assign_workspaces_to_capacity(\n"," source_capacity=source_capacity,\n"," target_capacity=target_capacity,\n"," workspace=None,\n",")\n","\n","# Optionally migrate settings\n","\"\"\"\n","labs.migrate_capacity_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_access_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_delegated_tenant_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_disaster_recovery_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_notification_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","labs.migrate_spark_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n",")\n","\"\"\""]},{"cell_type":"markdown","id":"e0db744b","metadata":{},"source":["### Migrate a list of source capacities to target capacities (target capacity already created)"]},{"cell_type":"code","execution_count":null,"id":"0e04d519","metadata":{},"outputs":[],"source":["capacity_mapping = {\n"," \"capacitya\": \"capacityanew\", # Format is \"Source SKU\": \"Target SKU\"\n"," \"capacityb\": \"capacitybnew\",\n"," \"capacityc\": \"capacitycnew\",\n","}\n","\n","capacities = list(capacity_mapping.keys())\n","\n","for capacity in capacities:\n"," admin.assign_workspaces_to_capacity(\n"," source_capacity=capacity,\n"," target_capacity=capacity_mapping.get(capacity),\n"," workspace=None,\n"," )\n"," # Optionally migrate settings\n"," \"\"\"\n"," labs.migrate_capacity_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_access_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_delegated_tenant_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_disaster_recovery_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_notification_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," labs.migrate_spark_settings(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\n"," )\n"," \"\"\"\n"]},{"cell_type":"markdown","id":"67787c3a","metadata":{},"source":["### Migrate a Fabric Trial Capacity (FT1) to a Fabric Capacity (F SKU)"]},{"cell_type":"code","execution_count":null,"id":"4efb55b2","metadata":{},"outputs":[],"source":["labs.migrate_fabric_trial_capacity(\n"," azure_subscription_id = azure_subscription_id,\n"," key_vault_uri = key_vault_uri,\n"," key_vault_tenant_id = key_vault_tenant_id,\n"," key_vault_client_id = key_vault_client_id,\n"," key_vault_client_secret = key_vault_client_secret,\n"," resource_group = resource_group,\n"," source_capacity = '', # The name of the Trial capacity.\n"," target_capacity = '', # The name of Fabric capacity (if it does not exist it will be created).\n"," target_capacity_sku = \"F64\", # Defaults to F64 but can specify the required SKU.\n"," target_capacity_admin_members = None, # Setting this to None will use the same admin members as the Trial capacity.\n",")"]}],"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}