semantic-link-labs 0.7.3__tar.gz → 0.8.0__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 (182) hide show
  1. {semantic_link_labs-0.7.3/src/semantic_link_labs.egg-info → semantic_link_labs-0.8.0}/PKG-INFO +19 -4
  2. semantic_link_labs-0.7.3/PKG-INFO → semantic_link_labs-0.8.0/README.md +15 -26
  3. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/docs/requirements.txt +3 -1
  4. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/docs/source/conf.py +1 -1
  5. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/environment.yml +1 -1
  6. semantic_link_labs-0.8.0/notebooks/Capacity Migration.ipynb +1 -0
  7. semantic_link_labs-0.8.0/notebooks/Report Analysis.ipynb +1 -0
  8. semantic_link_labs-0.8.0/notebooks/SQL.ipynb +1 -0
  9. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/pyproject.toml +5 -3
  10. semantic_link_labs-0.7.3/README.md → semantic_link_labs-0.8.0/src/semantic_link_labs.egg-info/PKG-INFO +41 -2
  11. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/semantic_link_labs.egg-info/SOURCES.txt +55 -28
  12. semantic_link_labs-0.8.0/src/semantic_link_labs.egg-info/requires.txt +9 -0
  13. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/__init__.py +109 -31
  14. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_am-ET.po +22 -0
  15. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_ar-AE.po +24 -0
  16. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +938 -0
  17. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +934 -0
  18. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_cs-CZ.po +179 -157
  19. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_da-DK.po +24 -0
  20. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_de-DE.po +77 -52
  21. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_el-GR.po +25 -0
  22. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_es-ES.po +67 -43
  23. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_fa-IR.po +24 -0
  24. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +915 -0
  25. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_fr-FR.po +83 -57
  26. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_ga-IE.po +25 -0
  27. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_he-IL.po +23 -0
  28. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_hi-IN.po +24 -0
  29. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_hu-HU.po +25 -0
  30. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +918 -0
  31. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_is-IS.po +25 -0
  32. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_it-IT.po +25 -0
  33. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_ja-JP.po +21 -0
  34. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +823 -0
  35. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +937 -0
  36. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_nl-NL.po +80 -56
  37. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_pl-PL.po +101 -76
  38. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_pt-BR.po +25 -0
  39. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_pt-PT.po +25 -0
  40. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +939 -0
  41. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_ru-RU.po +25 -0
  42. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +925 -0
  43. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +922 -0
  44. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_ta-IN.po +26 -0
  45. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_te-IN.po +24 -0
  46. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_th-TH.po +24 -0
  47. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +925 -0
  48. semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +933 -0
  49. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_zh-CN.po +116 -97
  50. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_zu-ZA.po +25 -0
  51. semantic_link_labs-0.8.0/src/sempy_labs/_capacities.py +577 -0
  52. semantic_link_labs-0.8.0/src/sempy_labs/_capacity_migration.py +624 -0
  53. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_clear_cache.py +8 -8
  54. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_connections.py +140 -0
  55. semantic_link_labs-0.8.0/src/sempy_labs/_environments.py +156 -0
  56. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_git.py +20 -21
  57. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_helper_functions.py +151 -10
  58. semantic_link_labs-0.8.0/src/sempy_labs/_icons.py +95 -0
  59. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_list_functions.py +232 -887
  60. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_model_bpa.py +8 -32
  61. semantic_link_labs-0.8.0/src/sempy_labs/_notebooks.py +143 -0
  62. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_query_scale_out.py +30 -8
  63. semantic_link_labs-0.8.0/src/sempy_labs/_spark.py +460 -0
  64. semantic_link_labs-0.8.0/src/sempy_labs/_sql.py +165 -0
  65. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_translations.py +3 -0
  66. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_vertipaq.py +162 -99
  67. semantic_link_labs-0.8.0/src/sempy_labs/_workspaces.py +294 -0
  68. semantic_link_labs-0.8.0/src/sempy_labs/admin/__init__.py +53 -0
  69. semantic_link_labs-0.8.0/src/sempy_labs/admin/_basic_functions.py +806 -0
  70. semantic_link_labs-0.8.0/src/sempy_labs/admin/_domains.py +411 -0
  71. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_directlake_schema_sync.py +1 -2
  72. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_generate_shared_expression.py +11 -14
  73. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +14 -24
  74. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/__init__.py +9 -6
  75. semantic_link_labs-0.8.0/src/sempy_labs/report/_report_bpa.py +359 -0
  76. semantic_link_labs-0.8.0/src/sempy_labs/report/_report_bpa_rules.py +113 -0
  77. semantic_link_labs-0.8.0/src/sempy_labs/report/_report_helper.py +254 -0
  78. semantic_link_labs-0.8.0/src/sempy_labs/report/_report_list_functions.py +95 -0
  79. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_report_rebind.py +0 -4
  80. semantic_link_labs-0.8.0/src/sempy_labs/report/_reportwrapper.py +2039 -0
  81. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/tom/_model.py +83 -5
  82. semantic_link_labs-0.7.3/notebooks/Warehouse.ipynb +0 -1
  83. semantic_link_labs-0.7.3/src/semantic_link_labs.egg-info/requires.txt +0 -7
  84. semantic_link_labs-0.7.3/src/sempy_labs/_icons.py +0 -33
  85. semantic_link_labs-0.7.3/src/sempy_labs/_sql.py +0 -96
  86. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  87. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  88. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
  89. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.github/workflows/build.yaml +0 -0
  90. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.github/workflows/codeql.yaml +0 -0
  91. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.gitignore +0 -0
  92. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.readthedocs.yaml +0 -0
  93. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/.vscode/settings.json +0 -0
  94. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/CODE_OF_CONDUCT.md +0 -0
  95. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/LICENSE +0 -0
  96. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/SECURITY.md +0 -0
  97. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/SUPPORT.md +0 -0
  98. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/docs/Makefile +0 -0
  99. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/docs/make.bat +0 -0
  100. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/docs/source/index.rst +0 -0
  101. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/docs/source/modules.rst +0 -0
  102. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
  103. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/notebooks/Migration to Direct Lake.ipynb +0 -0
  104. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/notebooks/Model Optimization.ipynb +0 -0
  105. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/notebooks/Query Scale Out.ipynb +0 -0
  106. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/notebooks/Semantic Model Refresh.ipynb +0 -0
  107. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/notebooks/Tabular Object Model.ipynb +0 -0
  108. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/setup.cfg +0 -0
  109. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
  110. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
  111. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_ai.py +0 -0
  112. {semantic_link_labs-0.7.3/src/sempy_labs/_bpa_translation → semantic_link_labs-0.8.0/src/sempy_labs/_bpa_translation/_model}/_translations_sv-SE.po +0 -0
  113. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_dataflows.py +0 -0
  114. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_dax.py +0 -0
  115. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_deployment_pipelines.py +0 -0
  116. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_generate_semantic_model.py +0 -0
  117. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_model_auto_build.py +0 -0
  118. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_model_bpa_bulk.py +0 -0
  119. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_model_bpa_rules.py +0 -0
  120. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_model_dependencies.py +0 -0
  121. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_one_lake_integration.py +0 -0
  122. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_refresh_semantic_model.py +0 -0
  123. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/_workspace_identity.py +0 -0
  124. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/__init__.py +0 -0
  125. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_directlake_schema_compare.py +0 -0
  126. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_dl_helper.py +0 -0
  127. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
  128. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
  129. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_guardrails.py +0 -0
  130. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
  131. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
  132. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +0 -0
  133. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/directlake/_warm_cache.py +0 -0
  134. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/lakehouse/__init__.py +0 -0
  135. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
  136. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +0 -0
  137. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/lakehouse/_lakehouse.py +0 -0
  138. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/lakehouse/_shortcuts.py +0 -0
  139. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/__init__.py +0 -0
  140. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
  141. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +0 -0
  142. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
  143. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
  144. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +0 -0
  145. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_migration_validation.py +0 -0
  146. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
  147. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
  148. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
  149. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
  150. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
  151. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
  152. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
  153. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
  154. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
  155. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
  156. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
  157. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
  158. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
  159. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
  160. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
  161. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
  162. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
  163. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
  164. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
  165. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
  166. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
  167. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
  168. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
  169. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
  170. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
  171. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
  172. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
  173. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
  174. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
  175. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
  176. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
  177. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_generate_report.py +0 -0
  178. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/report/_report_functions.py +0 -0
  179. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/src/sempy_labs/tom/__init__.py +0 -0
  180. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/tests/__init__.py +0 -0
  181. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/tests/test_shortcuts.py +0 -0
  182. {semantic_link_labs-0.7.3 → semantic_link_labs-0.8.0}/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.3
3
+ Version: 0.8.0
4
4
  Summary: Semantic Link Labs for Microsoft Fabric
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -15,17 +15,19 @@ 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
23
+ Requires-Dist: jsonpath_ng
22
24
  Provides-Extra: test
23
25
  Requires-Dist: pytest>=8.2.1; extra == "test"
24
26
 
25
27
  # Semantic Link Labs
26
28
 
27
29
  [![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.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.0&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
29
31
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
30
32
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
31
33
 
@@ -49,11 +51,13 @@ If you have ideas for new features/functions, please [request a feature](https:/
49
51
  ## Once installed, run this code to import the library into your notebook
50
52
  ```python
51
53
  import sempy_labs as labs
52
- from sempy_labs import migration, directlake
54
+ from sempy_labs import migration, directlake, admin
53
55
  from sempy_labs import lakehouse as lake
54
56
  from sempy_labs import report as rep
55
57
  from sempy_labs.tom import connect_semantic_model
58
+ from sempy_labs.report import ReportWrapper
56
59
  from sempy_labs import ConnectWarehouse
60
+ from sempy_labs import ConnectLakehouse
57
61
  ```
58
62
 
59
63
  ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
@@ -76,6 +80,17 @@ An even better way to ensure the semantic-link-labs library is available in your
76
80
  1. Navigate to your Notebook
77
81
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
78
82
 
83
+ ## Version History
84
+ * [0.8.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.0) (September 24, 2024)
85
+ * [0.7.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.4) (September 16, 2024)
86
+ * [0.7.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.3) (September 11, 2024)
87
+ * [0.7.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.2) (August 30, 2024)
88
+ * [0.7.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.1) (August 29, 2024)
89
+ * [0.7.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.0) (August 26, 2024)
90
+ * [0.6.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.6.0) (July 22, 2024)
91
+ * [0.5.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.5.0) (July 2, 2024)
92
+ * [0.4.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.4.2) (June 18, 2024)
93
+
79
94
  ---
80
95
  ## Direct Lake migration
81
96
 
@@ -1,31 +1,7 @@
1
- Metadata-Version: 2.1
2
- Name: semantic-link-labs
3
- Version: 0.7.3
4
- Summary: Semantic Link Labs for Microsoft Fabric
5
- Author: Microsoft Corporation
6
- License: MIT License
7
- Project-URL: Repository, https://github.com/microsoft/semantic-link-labs.git
8
- Classifier: Development Status :: 3 - Alpha
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Intended Audience :: Education
11
- Classifier: Intended Audience :: Science/Research
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3 :: Only
14
- Classifier: Framework :: Jupyter
15
- Requires-Python: <3.12,>=3.10
16
- Description-Content-Type: text/markdown
17
- License-File: LICENSE
18
- Requires-Dist: semantic-link-sempy>=0.7.7
19
- Requires-Dist: anytree
20
- Requires-Dist: powerbiclient
21
- Requires-Dist: polib
22
- Provides-Extra: test
23
- Requires-Dist: pytest>=8.2.1; extra == "test"
24
-
25
1
  # Semantic Link Labs
26
2
 
27
3
  [![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.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.0&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
29
5
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
30
6
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
31
7
 
@@ -49,11 +25,13 @@ If you have ideas for new features/functions, please [request a feature](https:/
49
25
  ## Once installed, run this code to import the library into your notebook
50
26
  ```python
51
27
  import sempy_labs as labs
52
- from sempy_labs import migration, directlake
28
+ from sempy_labs import migration, directlake, admin
53
29
  from sempy_labs import lakehouse as lake
54
30
  from sempy_labs import report as rep
55
31
  from sempy_labs.tom import connect_semantic_model
32
+ from sempy_labs.report import ReportWrapper
56
33
  from sempy_labs import ConnectWarehouse
34
+ from sempy_labs import ConnectLakehouse
57
35
  ```
58
36
 
59
37
  ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
@@ -76,6 +54,17 @@ An even better way to ensure the semantic-link-labs library is available in your
76
54
  1. Navigate to your Notebook
77
55
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
78
56
 
57
+ ## Version History
58
+ * [0.8.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.0) (September 24, 2024)
59
+ * [0.7.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.4) (September 16, 2024)
60
+ * [0.7.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.3) (September 11, 2024)
61
+ * [0.7.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.2) (August 30, 2024)
62
+ * [0.7.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.1) (August 29, 2024)
63
+ * [0.7.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.0) (August 26, 2024)
64
+ * [0.6.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.6.0) (July 22, 2024)
65
+ * [0.5.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.5.0) (July 2, 2024)
66
+ * [0.4.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.4.2) (June 18, 2024)
67
+
79
68
  ---
80
69
  ## Direct Lake migration
81
70
 
@@ -9,4 +9,6 @@ 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
14
+ jsonpath_ng
@@ -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.3'
16
+ release = '0.8.0'
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.7.5
9
+ - semantic-link-sempy>=0.8.0
10
10
  - azure-identity==1.7.1
11
11
  - azure-storage-blob>=12.9.0
12
12
  - pandas-stubs
@@ -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":"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","\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 P SKU (already created F SKU)"]},{"cell_type":"code","execution_count":null,"id":"a4f0b5a2","metadata":{},"outputs":[],"source":["source_capacity = '' # Enter the P SKU capacity name\n","target_capacity = '' # Enter the F SKU capacity name (already exists) \n","\n","labs.migrate_workspaces(\n"," source_capacity=source_capacity, \n"," target_capacity=target_capacity\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 P SKUs (already created F SKUs)"]},{"cell_type":"code","execution_count":null,"id":"0e04d519","metadata":{},"outputs":[],"source":["capacity_mapping = {\n"," \"capacitya\": \"capacityafsku\", # Format is \"P SKU\": \"F SKU\"\n"," \"capacityb\": \"capacitybfsku\",\n"," \"capacityc\": \"capacitycfsku\",\n","}\n","\n","p_skus = list(capacity_mapping.keys())\n","\n","for p_sku in p_skus:\n"," labs.migrate_workspaces(\n"," source_capacity=p_sku,\n"," target_capacity=capacity_mapping.get(p_sku)\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"]}],"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 set the initial parameters"]},{"cell_type":"code","execution_count":null,"id":"1344e286","metadata":{},"outputs":[],"source":["import sempy_labs as labs\n","import sempy_labs.report as rep\n","from sempy_labs.report import ReportWrapper\n","\n","# For checking reports\n","report_name = '' # Enter the report name\n","report_workspace = None # Enter the workspace in which the report exists\n","rpt = ReportWrapper(report=report_name, workspace=report_workspace)"]},{"cell_type":"markdown","id":"4b68c027","metadata":{},"source":["### Report Best Practice Analyzer (BPA)"]},{"cell_type":"code","execution_count":null,"id":"3a596d68","metadata":{},"outputs":[],"source":["rep.run_report_bpa(report=report_name, workspace=report_workspace)"]},{"cell_type":"markdown","id":"2ac3b59a","metadata":{},"source":["#### Report BPA using custom rules"]},{"cell_type":"code","execution_count":null,"id":"bf0fe645","metadata":{},"outputs":[],"source":["import pandas as pd\n","\n","rules = pd.DataFrame(\n"," [\n"," (\n"," \"Error Prevention\",\n"," \"Semantic Model\",\n"," \"Error\",\n"," \"Fix report objects which reference invalid semantic model objects\",\n"," lambda df: df[\"Valid Semantic Model Object\"] == False,\n"," \"This rule highlights visuals, report filters, page filters or visual filters which reference an invalid semantic model object (i.e Measure/Column/Hierarchy).\",\n"," \"\",\n"," ),\n"," (\n"," \"Performance\",\n"," \"Page\",\n"," \"Warning\",\n"," \"Reduce the number of visible visuals on the page\",\n"," lambda df: df[\"Visible Visual Count\"] > 15,\n"," 'Reducing the number of visable visuals on a page will lead to faster report performance. This rule flags pages with over \" + visVisuals + \" visible visuals.',\n"," ),\n"," (\n"," \"Performance\",\n"," \"Visual\",\n"," \"Warning\",\n"," \"Reduce the number of objects within visuals\",\n"," lambda df: df[\"Visual Object Count\"] > 5,\n"," \"Reducing the number of objects (i.e. measures, columns) which are used in a visual will lead to faster report performance.\",\n"," )\n"," ],\n"," columns=[\n"," \"Category\",\n"," \"Scope\",\n"," \"Severity\",\n"," \"Rule Name\",\n"," \"Expression\",\n"," \"Description\",\n"," \"URL\",\n"," ],\n",")\n","\n","rep.run_report_bpa(report=report_name, workspace=report_workspace, rules=rules)"]},{"cell_type":"markdown","id":"5a3fe6e8-b8aa-4447-812b-7931831e07fe","metadata":{"nteract":{"transient":{"deleting":false}}},"source":["### View all semantic model objects within a report"]},{"cell_type":"code","execution_count":null,"id":"9e349954","metadata":{},"outputs":[],"source":["rpt.list_semantic_model_objects()"]},{"cell_type":"markdown","id":"9efe783e","metadata":{},"source":["#### View broken report objects (if any semantic model objects used in the report do not exist within the semantic model)\n","The 'Valid Object' column indicates if the object (measure/column/hierarchy) exists within the semantic model used by the report"]},{"cell_type":"code","execution_count":null,"id":"a7480602","metadata":{},"outputs":[],"source":["rpt.list_semantic_model_objects(extended=True)"]},{"cell_type":"markdown","id":"5fab7ef7","metadata":{},"source":["#### View broken report objects across all reports tied to a semantic model"]},{"cell_type":"code","execution_count":null,"id":"34f1d9a6","metadata":{},"outputs":[],"source":["dataset_name = '' # Enter the semantic model name\n","dataset_workspace = None # Enter the workspace name in which the semantic model exists (if set to None it will use the workspace in which the notebook is running)\n","labs.list_report_semantic_model_objects(dataset=dataset_name, workspace=dataset_workspace, extended=True)"]},{"cell_type":"markdown","id":"26acd665","metadata":{},"source":["### List functions within the ReportWrapper"]},{"cell_type":"code","execution_count":null,"id":"9c2c206a","metadata":{},"outputs":[],"source":["rpt.list_custom_visuals()"]},{"cell_type":"code","execution_count":null,"id":"22647267","metadata":{},"outputs":[],"source":["rpt.list_pages()"]},{"cell_type":"code","execution_count":null,"id":"493fb104","metadata":{},"outputs":[],"source":["rpt.list_visuals()"]},{"cell_type":"code","execution_count":null,"id":"1ef9a9ac","metadata":{},"outputs":[],"source":["rpt.list_visual_objects()"]},{"cell_type":"code","execution_count":null,"id":"ad00499c","metadata":{},"outputs":[],"source":["rpt.list_report_filters()"]},{"cell_type":"code","execution_count":null,"id":"c0f02a49","metadata":{},"outputs":[],"source":["rpt.list_page_filters()"]},{"cell_type":"code","execution_count":null,"id":"4cf8d12f","metadata":{},"outputs":[],"source":["rpt.list_visual_filters()"]},{"cell_type":"code","execution_count":null,"id":"3b5e9c16","metadata":{},"outputs":[],"source":["rpt.list_report_level_measures()"]},{"cell_type":"code","execution_count":null,"id":"9f420f57","metadata":{},"outputs":[],"source":["rpt.list_visual_interactions()"]},{"cell_type":"code","execution_count":null,"id":"198afff0","metadata":{},"outputs":[],"source":["rpt.list_bookmarks()"]},{"cell_type":"markdown","id":"f3ee5962","metadata":{},"source":["### Perform actions on a report\n","Set a custom theme for a report based on a Power BI theme file"]},{"cell_type":"code","execution_count":null,"id":"ec1a7d1b","metadata":{},"outputs":[],"source":["rpt.set_theme(theme_file_path='/lakehouse/default/Files/CY23SU09.json')"]},{"cell_type":"code","execution_count":null,"id":"b1203067","metadata":{},"outputs":[],"source":["rpt.set_theme(theme_file_path='https://raw.githubusercontent.com/PowerBiDevCamp/FabricUserApiDemo/main/FabricUserApiDemo/DefinitionTemplates/Shared/Reports/StaticResources/SharedResources/BaseThemes/CY23SU08.json')"]},{"cell_type":"markdown","id":"9b230f9f","metadata":{},"source":["Set whether a Power BI report page is hidden or visible"]},{"cell_type":"code","execution_count":null,"id":"8ce57483","metadata":{},"outputs":[],"source":["rpt.set_page_visibility(page_name='Page 1', hidden=True)"]},{"cell_type":"markdown","id":"ef3e4c02","metadata":{},"source":["Set the active page (page shown upon opening the report)"]},{"cell_type":"code","execution_count":null,"id":"024d4111","metadata":{},"outputs":[],"source":["rpt.set_active_page(page_name='Page 2')"]},{"cell_type":"markdown","id":"f96511ac","metadata":{},"source":["Disable the 'show items with no data' for all visuals within a Power BI report"]},{"cell_type":"code","execution_count":null,"id":"65bf38fe","metadata":{},"outputs":[],"source":["rpt.disable_show_items_with_no_data()"]},{"cell_type":"markdown","id":"ddee3565","metadata":{},"source":["Remove all custom visuals in a Power BI report which are not used in any visuals within the report"]},{"cell_type":"code","execution_count":null,"id":"9aba1564","metadata":{},"outputs":[],"source":["rpt.remove_unnecessary_custom_visuals()"]},{"cell_type":"markdown","id":"5342423f","metadata":{},"source":["Hide all pages which are used for a tooltip or drillthrough"]},{"cell_type":"code","execution_count":null,"id":"b9045cbb","metadata":{},"outputs":[],"source":["rpt.hide_tooltip_drillthrough_pages()"]}],"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","from sempy_labs import ConnectLakehouse\n","\n","lakehouse_name = ''\n","lakehouse_workspace_name = ''\n","warehouse_name = ''\n","warehouse_workspace_name = ''"]},{"cell_type":"markdown","id":"55e5ca67","metadata":{},"source":["### Run a SQL query (or queries) against a Fabric warehouse"]},{"cell_type":"code","execution_count":null,"id":"a9f984e9","metadata":{},"outputs":[],"source":["with ConnectWarehouse(warehouse=warehouse_name, workspace=warehouse_workspace_name) as sql:\n"," df = sql.query(\"SELECT * FROM Product\")\n"," display(df)"]},{"cell_type":"code","execution_count":null,"id":"865ac4a1","metadata":{},"outputs":[],"source":["with ConnectWarehouse(warehouse=warehouse_name, workspace=warehouse_workspace_name) as sql:\n"," dfs = sql.query([\"SELECT * FROM Product\", \"SELECT DISTINCT [Category] FROM Product\"])\n","\n","for df in dfs:\n"," display(df)"]},{"cell_type":"markdown","id":"634700c3","metadata":{},"source":["### Run a T-SQL query (or queries) against a Fabric warehouse"]},{"cell_type":"code","execution_count":null,"id":"5dbf34f3","metadata":{},"outputs":[],"source":["with ConnectWarehouse(warehouse=warehouse_name, workspace=warehouse_workspace_name) as sql:\n"," sql.query(\"CREATE SCHEMA [Business]\")"]},{"cell_type":"code","execution_count":null,"id":"ec8ddb81","metadata":{},"outputs":[],"source":["with ConnectWarehouse(warehouse=warehouse_name, workspace=warehouse_workspace_name) as sql:\n"," sql.query([\"CREATE SCHEMA [Business]\", \"CREATE SCHEMA [Marketing]\"])"]},{"cell_type":"markdown","id":"d5b090da","metadata":{},"source":["### Run a SQL query (or queries) against a Fabric lakehouse"]},{"cell_type":"code","execution_count":null,"id":"4dca7f4a","metadata":{},"outputs":[],"source":["with ConnectLakehouse(lakehouse=lakehouse_name, workspace=lakehouse_workspace_name) as sql:\n"," df = sql.query(\"SELECT * FROM Product\")\n"," display(df)"]},{"cell_type":"code","execution_count":null,"id":"b9606ae8","metadata":{},"outputs":[],"source":["with ConnectLakehouse(lakehouse=lakehouse_name, workspace=lakehouse_workspace_name) as sql:\n"," dfs = sql.query([\"SELECT * FROM Product\", \"SELECT DISTINCT [Category] FROM Product\"])\n","\n","for df in dfs:\n"," 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.3"
10
+ version="0.8.0"
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,12 @@ 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",
31
+ "jsonpath_ng",
30
32
  ]
31
33
 
32
34
  [tool.setuptools.packages.find]
@@ -44,7 +46,7 @@ test = [
44
46
  Repository = "https://github.com/microsoft/semantic-link-labs.git"
45
47
 
46
48
  [[tool.mypy.overrides]]
47
- module = "sempy.*,Microsoft.*,System.*,anytree.*,powerbiclient.*,synapse.ml.services.*,polib.*"
49
+ module = "sempy.*,Microsoft.*,System.*,anytree.*,powerbiclient.*,synapse.ml.services.*,polib.*,azure.mgmt.resource.*,jsonpath_ng.*"
48
50
  ignore_missing_imports = true
49
51
 
50
52
  [tool.flake8]
@@ -1,7 +1,33 @@
1
+ Metadata-Version: 2.1
2
+ Name: semantic-link-labs
3
+ Version: 0.8.0
4
+ Summary: Semantic Link Labs for Microsoft Fabric
5
+ Author: Microsoft Corporation
6
+ License: MIT License
7
+ Project-URL: Repository, https://github.com/microsoft/semantic-link-labs.git
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Intended Audience :: Education
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Framework :: Jupyter
15
+ Requires-Python: <3.12,>=3.10
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: semantic-link-sempy>=0.8.0
19
+ Requires-Dist: anytree
20
+ Requires-Dist: powerbiclient
21
+ Requires-Dist: polib
22
+ Requires-Dist: azure.mgmt.resource
23
+ Requires-Dist: jsonpath_ng
24
+ Provides-Extra: test
25
+ Requires-Dist: pytest>=8.2.1; extra == "test"
26
+
1
27
  # Semantic Link Labs
2
28
 
3
29
  [![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.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.0&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
5
31
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
6
32
  [![Downloads](https://static.pepy.tech/badge/semantic-link-labs)](https://pepy.tech/project/semantic-link-labs)
7
33
 
@@ -25,11 +51,13 @@ If you have ideas for new features/functions, please [request a feature](https:/
25
51
  ## Once installed, run this code to import the library into your notebook
26
52
  ```python
27
53
  import sempy_labs as labs
28
- from sempy_labs import migration, directlake
54
+ from sempy_labs import migration, directlake, admin
29
55
  from sempy_labs import lakehouse as lake
30
56
  from sempy_labs import report as rep
31
57
  from sempy_labs.tom import connect_semantic_model
58
+ from sempy_labs.report import ReportWrapper
32
59
  from sempy_labs import ConnectWarehouse
60
+ from sempy_labs import ConnectLakehouse
33
61
  ```
34
62
 
35
63
  ## Load semantic-link-labs into a custom [Fabric environment](https://learn.microsoft.com/fabric/data-engineering/create-and-use-environment)
@@ -52,6 +80,17 @@ An even better way to ensure the semantic-link-labs library is available in your
52
80
  1. Navigate to your Notebook
53
81
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
54
82
 
83
+ ## Version History
84
+ * [0.8.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.0) (September 24, 2024)
85
+ * [0.7.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.4) (September 16, 2024)
86
+ * [0.7.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.3) (September 11, 2024)
87
+ * [0.7.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.2) (August 30, 2024)
88
+ * [0.7.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.1) (August 29, 2024)
89
+ * [0.7.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.7.0) (August 26, 2024)
90
+ * [0.6.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.6.0) (July 22, 2024)
91
+ * [0.5.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.5.0) (July 2, 2024)
92
+ * [0.4.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.4.2) (June 18, 2024)
93
+
55
94
  ---
56
95
  ## Direct Lake migration
57
96
 
@@ -20,12 +20,14 @@ docs/source/conf.py
20
20
  docs/source/index.rst
21
21
  docs/source/modules.rst
22
22
  notebooks/Best Practice Analyzer Report.ipynb
23
+ notebooks/Capacity Migration.ipynb
23
24
  notebooks/Migration to Direct Lake.ipynb
24
25
  notebooks/Model Optimization.ipynb
25
26
  notebooks/Query Scale Out.ipynb
27
+ notebooks/Report Analysis.ipynb
28
+ notebooks/SQL.ipynb
26
29
  notebooks/Semantic Model Refresh.ipynb
27
30
  notebooks/Tabular Object Model.ipynb
28
- notebooks/Warehouse.ipynb
29
31
  src/semantic_link_labs.egg-info/PKG-INFO
30
32
  src/semantic_link_labs.egg-info/SOURCES.txt
31
33
  src/semantic_link_labs.egg-info/dependency_links.txt
@@ -33,11 +35,14 @@ src/semantic_link_labs.egg-info/requires.txt
33
35
  src/semantic_link_labs.egg-info/top_level.txt
34
36
  src/sempy_labs/__init__.py
35
37
  src/sempy_labs/_ai.py
38
+ src/sempy_labs/_capacities.py
39
+ src/sempy_labs/_capacity_migration.py
36
40
  src/sempy_labs/_clear_cache.py
37
41
  src/sempy_labs/_connections.py
38
42
  src/sempy_labs/_dataflows.py
39
43
  src/sempy_labs/_dax.py
40
44
  src/sempy_labs/_deployment_pipelines.py
45
+ src/sempy_labs/_environments.py
41
46
  src/sempy_labs/_generate_semantic_model.py
42
47
  src/sempy_labs/_git.py
43
48
  src/sempy_labs/_helper_functions.py
@@ -48,40 +53,57 @@ src/sempy_labs/_model_bpa.py
48
53
  src/sempy_labs/_model_bpa_bulk.py
49
54
  src/sempy_labs/_model_bpa_rules.py
50
55
  src/sempy_labs/_model_dependencies.py
56
+ src/sempy_labs/_notebooks.py
51
57
  src/sempy_labs/_one_lake_integration.py
52
58
  src/sempy_labs/_query_scale_out.py
53
59
  src/sempy_labs/_refresh_semantic_model.py
60
+ src/sempy_labs/_spark.py
54
61
  src/sempy_labs/_sql.py
55
62
  src/sempy_labs/_translations.py
56
63
  src/sempy_labs/_vertipaq.py
57
64
  src/sempy_labs/_workspace_identity.py
58
- src/sempy_labs/_bpa_translation/_translations_am-ET.po
59
- src/sempy_labs/_bpa_translation/_translations_ar-AE.po
60
- src/sempy_labs/_bpa_translation/_translations_cs-CZ.po
61
- src/sempy_labs/_bpa_translation/_translations_da-DK.po
62
- src/sempy_labs/_bpa_translation/_translations_de-DE.po
63
- src/sempy_labs/_bpa_translation/_translations_el-GR.po
64
- src/sempy_labs/_bpa_translation/_translations_es-ES.po
65
- src/sempy_labs/_bpa_translation/_translations_fa-IR.po
66
- src/sempy_labs/_bpa_translation/_translations_fr-FR.po
67
- src/sempy_labs/_bpa_translation/_translations_ga-IE.po
68
- src/sempy_labs/_bpa_translation/_translations_he-IL.po
69
- src/sempy_labs/_bpa_translation/_translations_hi-IN.po
70
- src/sempy_labs/_bpa_translation/_translations_hu-HU.po
71
- src/sempy_labs/_bpa_translation/_translations_is-IS.po
72
- src/sempy_labs/_bpa_translation/_translations_it-IT.po
73
- src/sempy_labs/_bpa_translation/_translations_ja-JP.po
74
- src/sempy_labs/_bpa_translation/_translations_nl-NL.po
75
- src/sempy_labs/_bpa_translation/_translations_pl-PL.po
76
- src/sempy_labs/_bpa_translation/_translations_pt-BR.po
77
- src/sempy_labs/_bpa_translation/_translations_pt-PT.po
78
- src/sempy_labs/_bpa_translation/_translations_ru-RU.po
79
- src/sempy_labs/_bpa_translation/_translations_sv-SE.po
80
- src/sempy_labs/_bpa_translation/_translations_ta-IN.po
81
- src/sempy_labs/_bpa_translation/_translations_te-IN.po
82
- src/sempy_labs/_bpa_translation/_translations_th-TH.po
83
- src/sempy_labs/_bpa_translation/_translations_zh-CN.po
84
- src/sempy_labs/_bpa_translation/_translations_zu-ZA.po
65
+ src/sempy_labs/_workspaces.py
66
+ src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po
67
+ src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po
68
+ src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po
69
+ src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po
70
+ src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po
71
+ src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po
72
+ src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po
73
+ src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po
74
+ src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po
75
+ src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po
76
+ src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po
77
+ src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po
78
+ src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po
79
+ src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po
80
+ src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po
81
+ src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po
82
+ src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po
83
+ src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po
84
+ src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po
85
+ src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po
86
+ src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po
87
+ src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po
88
+ src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po
89
+ src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po
90
+ src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po
91
+ src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po
92
+ src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po
93
+ src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po
94
+ src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po
95
+ src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po
96
+ src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po
97
+ src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po
98
+ src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po
99
+ src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po
100
+ src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po
101
+ src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po
102
+ src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po
103
+ src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po
104
+ src/sempy_labs/admin/__init__.py
105
+ src/sempy_labs/admin/_basic_functions.py
106
+ src/sempy_labs/admin/_domains.py
85
107
  src/sempy_labs/directlake/__init__.py
86
108
  src/sempy_labs/directlake/_directlake_schema_compare.py
87
109
  src/sempy_labs/directlake/_directlake_schema_sync.py
@@ -111,8 +133,13 @@ src/sempy_labs/migration/_refresh_calc_tables.py
111
133
  src/sempy_labs/report/_BPAReportTemplate.json
112
134
  src/sempy_labs/report/__init__.py
113
135
  src/sempy_labs/report/_generate_report.py
136
+ src/sempy_labs/report/_report_bpa.py
137
+ src/sempy_labs/report/_report_bpa_rules.py
114
138
  src/sempy_labs/report/_report_functions.py
139
+ src/sempy_labs/report/_report_helper.py
140
+ src/sempy_labs/report/_report_list_functions.py
115
141
  src/sempy_labs/report/_report_rebind.py
142
+ src/sempy_labs/report/_reportwrapper.py
116
143
  src/sempy_labs/report/_bpareporttemplate/.platform
117
144
  src/sempy_labs/report/_bpareporttemplate/definition.pbir
118
145
  src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json
@@ -0,0 +1,9 @@
1
+ semantic-link-sempy>=0.8.0
2
+ anytree
3
+ powerbiclient
4
+ polib
5
+ azure.mgmt.resource
6
+ jsonpath_ng
7
+
8
+ [test]
9
+ pytest>=8.2.1