semantic-link-labs 0.8.6__tar.gz → 0.8.7__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 (203) hide show
  1. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/PKG-INFO +11 -3
  2. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/README.md +10 -2
  3. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/docs/source/conf.py +1 -1
  4. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/pyproject.toml +1 -1
  5. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/semantic_link_labs.egg-info/PKG-INFO +11 -3
  6. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/semantic_link_labs.egg-info/SOURCES.txt +6 -0
  7. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/__init__.py +37 -6
  8. semantic_link_labs-0.8.7/src/sempy_labs/_authentication.py +108 -0
  9. semantic_link_labs-0.8.7/src/sempy_labs/_connections.py +561 -0
  10. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_dataflows.py +0 -1
  11. semantic_link_labs-0.8.7/src/sempy_labs/_gateways.py +439 -0
  12. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_generate_semantic_model.py +51 -30
  13. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_git.py +13 -5
  14. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_helper_functions.py +14 -3
  15. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_list_functions.py +1 -1
  16. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_model_auto_build.py +4 -2
  17. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_model_bpa.py +2 -15
  18. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_model_bpa_bulk.py +4 -2
  19. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_refresh_semantic_model.py +6 -0
  20. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/admin/__init__.py +19 -9
  21. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/admin/_basic_functions.py +475 -548
  22. semantic_link_labs-0.8.7/src/sempy_labs/admin/_external_data_share.py +97 -0
  23. semantic_link_labs-0.8.7/src/sempy_labs/admin/_git.py +69 -0
  24. semantic_link_labs-0.8.7/src/sempy_labs/admin/_items.py +264 -0
  25. semantic_link_labs-0.8.7/src/sempy_labs/admin/_scanner.py +104 -0
  26. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_dl_helper.py +6 -2
  27. semantic_link_labs-0.8.7/src/sempy_labs/directlake/_get_shared_expression.py +31 -0
  28. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +3 -2
  29. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +4 -2
  30. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_generate_report.py +10 -4
  31. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_report_bpa.py +1 -0
  32. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_report_helper.py +58 -0
  33. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_report_list_functions.py +2 -0
  34. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_reportwrapper.py +358 -175
  35. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/tom/_model.py +1 -0
  36. semantic_link_labs-0.8.6/src/sempy_labs/_connections.py +0 -382
  37. semantic_link_labs-0.8.6/src/sempy_labs/directlake/_get_shared_expression.py +0 -61
  38. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  39. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  40. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
  41. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.github/workflows/build.yaml +0 -0
  42. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.github/workflows/codeql.yaml +0 -0
  43. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.gitignore +0 -0
  44. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.readthedocs.yaml +0 -0
  45. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/.vscode/settings.json +0 -0
  46. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/CODE_OF_CONDUCT.md +0 -0
  47. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/LICENSE +0 -0
  48. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/SECURITY.md +0 -0
  49. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/SUPPORT.md +0 -0
  50. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/docs/Makefile +0 -0
  51. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/docs/make.bat +0 -0
  52. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/docs/requirements.txt +0 -0
  53. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/docs/source/index.rst +0 -0
  54. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/docs/source/modules.rst +0 -0
  55. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/environment.yml +0 -0
  56. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
  57. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Capacity Migration.ipynb +0 -0
  58. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Migration to Direct Lake.ipynb +0 -0
  59. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Model Optimization.ipynb +0 -0
  60. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Query Scale Out.ipynb +0 -0
  61. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Report Analysis.ipynb +0 -0
  62. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/SQL.ipynb +0 -0
  63. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Semantic Model Refresh.ipynb +0 -0
  64. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/notebooks/Tabular Object Model.ipynb +0 -0
  65. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/setup.cfg +0 -0
  66. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
  67. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/semantic_link_labs.egg-info/requires.txt +0 -0
  68. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
  69. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_ai.py +0 -0
  70. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +0 -0
  71. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +0 -0
  72. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +0 -0
  73. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +0 -0
  74. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +0 -0
  75. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +0 -0
  76. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +0 -0
  77. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +0 -0
  78. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +0 -0
  79. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +0 -0
  80. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +0 -0
  81. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +0 -0
  82. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +0 -0
  83. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +0 -0
  84. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +0 -0
  85. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +0 -0
  86. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +0 -0
  87. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +0 -0
  88. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +0 -0
  89. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +0 -0
  90. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +0 -0
  91. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +0 -0
  92. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +0 -0
  93. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +0 -0
  94. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +0 -0
  95. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +0 -0
  96. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +0 -0
  97. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +0 -0
  98. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +0 -0
  99. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +0 -0
  100. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +0 -0
  101. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +0 -0
  102. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +0 -0
  103. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +0 -0
  104. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +0 -0
  105. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +0 -0
  106. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +0 -0
  107. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +0 -0
  108. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_capacities.py +0 -0
  109. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_capacity_migration.py +0 -0
  110. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_clear_cache.py +0 -0
  111. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_data_pipelines.py +0 -0
  112. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_dax.py +0 -0
  113. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_deployment_pipelines.py +0 -0
  114. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_documentation.py +0 -0
  115. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_environments.py +0 -0
  116. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_eventhouses.py +0 -0
  117. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_eventstreams.py +0 -0
  118. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_external_data_shares.py +0 -0
  119. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_icons.py +0 -0
  120. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_kql_databases.py +0 -0
  121. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_kql_querysets.py +0 -0
  122. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_managed_private_endpoints.py +0 -0
  123. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_mirrored_databases.py +0 -0
  124. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_mirrored_warehouses.py +0 -0
  125. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_ml_experiments.py +0 -0
  126. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_ml_models.py +0 -0
  127. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_model_bpa_rules.py +0 -0
  128. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_model_dependencies.py +0 -0
  129. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_notebooks.py +0 -0
  130. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_one_lake_integration.py +0 -0
  131. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_query_scale_out.py +0 -0
  132. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_spark.py +0 -0
  133. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_sql.py +0 -0
  134. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_translations.py +0 -0
  135. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_vertipaq.py +0 -0
  136. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_warehouses.py +0 -0
  137. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_workloads.py +0 -0
  138. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_workspace_identity.py +0 -0
  139. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/_workspaces.py +0 -0
  140. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/admin/_domains.py +0 -0
  141. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/__init__.py +0 -0
  142. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_directlake_schema_compare.py +0 -0
  143. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_directlake_schema_sync.py +0 -0
  144. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_generate_shared_expression.py +0 -0
  145. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
  146. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_guardrails.py +0 -0
  147. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
  148. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
  149. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +0 -0
  150. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/directlake/_warm_cache.py +0 -0
  151. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/lakehouse/__init__.py +0 -0
  152. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
  153. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +0 -0
  154. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/lakehouse/_lakehouse.py +0 -0
  155. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/lakehouse/_shortcuts.py +0 -0
  156. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/__init__.py +0 -0
  157. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
  158. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +0 -0
  159. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
  160. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
  161. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_migration_validation.py +0 -0
  162. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
  163. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
  164. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/__init__.py +0 -0
  165. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
  166. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
  167. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
  168. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
  169. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
  170. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
  171. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
  172. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
  173. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
  174. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
  175. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
  176. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
  177. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
  178. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
  179. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
  180. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
  181. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
  182. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
  183. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
  184. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
  185. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
  186. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
  187. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
  188. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
  189. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
  190. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
  191. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
  192. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
  193. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
  194. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_download_report.py +0 -0
  195. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_paginated.py +0 -0
  196. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
  197. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_report_functions.py +0 -0
  198. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/report/_report_rebind.py +0 -0
  199. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/src/sempy_labs/tom/__init__.py +0 -0
  200. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/tests/__init__.py +0 -0
  201. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/tests/test_friendly_case.py +0 -0
  202. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/tests/test_shortcuts.py +0 -0
  203. {semantic_link_labs-0.8.6 → semantic_link_labs-0.8.7}/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.6
3
+ Version: 0.8.7
4
4
  Summary: Semantic Link Labs for Microsoft Fabric
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -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.6&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
30
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.8.7&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
 
@@ -60,6 +60,10 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La
60
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
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
62
  * [Visualize a refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb)
63
+ * [Update the connection of a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.update_direct_lake_model_connection)
64
+ * [Dynamically generate a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.generate_direct_lake_semantic_model)
65
+ * [Check why a Direct Lake semantic model would fallback to DirectQuery](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.check_fallback_reason)
66
+ * [View a measure dependency tree](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.measure_dependency_tree)
63
67
  * Reports
64
68
  * [Report Best Practice Analyzer (BPA)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.run_report_bpa)
65
69
  * [View report metadata](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Report%20Analysis.ipynb)
@@ -71,10 +75,13 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La
71
75
  * Capacities
72
76
  * [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
77
  * [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)
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.
78
+ * [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
79
  * Lakehouses
76
80
  * [Optimize lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.optimize_lakehouse_tables)
77
81
  * [Vacuum lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.vacuum_lakehouse_tables)
82
+ * [Create](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.create_shortcut_onelake), [delete](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.delete_shortcut), and [view shortcuts](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_shortcuts)
83
+ * Notebooks
84
+ * [Import a notebook from the web](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.import_notebook_from_web)
78
85
  * APIs
79
86
  * 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
80
87
 
@@ -134,6 +141,7 @@ An even better way to ensure the semantic-link-labs library is available in your
134
141
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
135
142
 
136
143
  ## Version History
144
+ * [0.8.7](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.7) (November 27, 2024)
137
145
  * [0.8.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.6) (November 14, 2024)
138
146
  * [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
139
147
  * [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 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.6&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
4
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.8.7&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
 
@@ -34,6 +34,10 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La
34
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
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
36
  * [Visualize a refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb)
37
+ * [Update the connection of a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.update_direct_lake_model_connection)
38
+ * [Dynamically generate a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.generate_direct_lake_semantic_model)
39
+ * [Check why a Direct Lake semantic model would fallback to DirectQuery](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.check_fallback_reason)
40
+ * [View a measure dependency tree](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.measure_dependency_tree)
37
41
  * Reports
38
42
  * [Report Best Practice Analyzer (BPA)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.run_report_bpa)
39
43
  * [View report metadata](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Report%20Analysis.ipynb)
@@ -45,10 +49,13 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La
45
49
  * Capacities
46
50
  * [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
51
  * [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)
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.
52
+ * [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
53
  * Lakehouses
50
54
  * [Optimize lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.optimize_lakehouse_tables)
51
55
  * [Vacuum lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.vacuum_lakehouse_tables)
56
+ * [Create](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.create_shortcut_onelake), [delete](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.delete_shortcut), and [view shortcuts](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_shortcuts)
57
+ * Notebooks
58
+ * [Import a notebook from the web](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.import_notebook_from_web)
52
59
  * APIs
53
60
  * 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
54
61
 
@@ -108,6 +115,7 @@ An even better way to ensure the semantic-link-labs library is available in your
108
115
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
109
116
 
110
117
  ## Version History
118
+ * [0.8.7](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.7) (November 27, 2024)
111
119
  * [0.8.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.6) (November 14, 2024)
112
120
  * [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
113
121
  * [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 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.6'
16
+ release = '0.8.7'
17
17
 
18
18
  # -- General configuration ---------------------------------------------------
19
19
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -7,7 +7,7 @@ name="semantic-link-labs"
7
7
  authors = [
8
8
  { name = "Microsoft Corporation" },
9
9
  ]
10
- version="0.8.6"
10
+ version="0.8.7"
11
11
  description="Semantic Link Labs for Microsoft Fabric"
12
12
  readme="README.md"
13
13
  requires-python=">=3.10,<3.12"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: semantic-link-labs
3
- Version: 0.8.6
3
+ Version: 0.8.7
4
4
  Summary: Semantic Link Labs for Microsoft Fabric
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -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.6&style=flat)](https://readthedocs.org/projects/semantic-link-labs/)
30
+ [![Read The Docs](https://readthedocs.org/projects/semantic-link-labs/badge/?version=0.8.7&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
 
@@ -60,6 +60,10 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La
60
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
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
62
  * [Visualize a refresh](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Refresh.ipynb)
63
+ * [Update the connection of a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.update_direct_lake_model_connection)
64
+ * [Dynamically generate a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.generate_direct_lake_semantic_model)
65
+ * [Check why a Direct Lake semantic model would fallback to DirectQuery](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.check_fallback_reason)
66
+ * [View a measure dependency tree](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.measure_dependency_tree)
63
67
  * Reports
64
68
  * [Report Best Practice Analyzer (BPA)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.run_report_bpa)
65
69
  * [View report metadata](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Report%20Analysis.ipynb)
@@ -71,10 +75,13 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La
71
75
  * Capacities
72
76
  * [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
77
  * [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)
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.
78
+ * [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
79
  * Lakehouses
76
80
  * [Optimize lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.optimize_lakehouse_tables)
77
81
  * [Vacuum lakehouse tables](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.vacuum_lakehouse_tables)
82
+ * [Create](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.create_shortcut_onelake), [delete](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.lakehouse.html#sempy_labs.lakehouse.delete_shortcut), and [view shortcuts](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_shortcuts)
83
+ * Notebooks
84
+ * [Import a notebook from the web](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.import_notebook_from_web)
78
85
  * APIs
79
86
  * 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
80
87
 
@@ -134,6 +141,7 @@ An even better way to ensure the semantic-link-labs library is available in your
134
141
  2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
135
142
 
136
143
  ## Version History
144
+ * [0.8.7](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.7) (November 27, 2024)
137
145
  * [0.8.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.6) (November 14, 2024)
138
146
  * [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
139
147
  * [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 2024)
@@ -35,6 +35,7 @@ src/semantic_link_labs.egg-info/requires.txt
35
35
  src/semantic_link_labs.egg-info/top_level.txt
36
36
  src/sempy_labs/__init__.py
37
37
  src/sempy_labs/_ai.py
38
+ src/sempy_labs/_authentication.py
38
39
  src/sempy_labs/_capacities.py
39
40
  src/sempy_labs/_capacity_migration.py
40
41
  src/sempy_labs/_clear_cache.py
@@ -48,6 +49,7 @@ src/sempy_labs/_environments.py
48
49
  src/sempy_labs/_eventhouses.py
49
50
  src/sempy_labs/_eventstreams.py
50
51
  src/sempy_labs/_external_data_shares.py
52
+ src/sempy_labs/_gateways.py
51
53
  src/sempy_labs/_generate_semantic_model.py
52
54
  src/sempy_labs/_git.py
53
55
  src/sempy_labs/_helper_functions.py
@@ -118,6 +120,10 @@ src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po
118
120
  src/sempy_labs/admin/__init__.py
119
121
  src/sempy_labs/admin/_basic_functions.py
120
122
  src/sempy_labs/admin/_domains.py
123
+ src/sempy_labs/admin/_external_data_share.py
124
+ src/sempy_labs/admin/_git.py
125
+ src/sempy_labs/admin/_items.py
126
+ src/sempy_labs/admin/_scanner.py
121
127
  src/sempy_labs/directlake/__init__.py
122
128
  src/sempy_labs/directlake/_directlake_schema_compare.py
123
129
  src/sempy_labs/directlake/_directlake_schema_sync.py
@@ -1,3 +1,18 @@
1
+ from sempy_labs._gateways import (
2
+ list_gateway_members,
3
+ list_gateway_role_assigments,
4
+ list_gateways,
5
+ delete_gateway,
6
+ delete_gateway_member,
7
+ delete_gateway_role_assignment,
8
+ create_vnet_gateway,
9
+ update_vnet_gateway,
10
+ update_on_premises_gateway,
11
+ )
12
+
13
+ from sempy_labs._authentication import (
14
+ ServicePrincipalTokenProvider,
15
+ )
1
16
  from sempy_labs._mirrored_databases import (
2
17
  get_mirrored_database_definition,
3
18
  get_mirroring_status,
@@ -156,9 +171,12 @@ from sempy_labs._dataflows import (
156
171
  from sempy_labs._connections import (
157
172
  list_connections,
158
173
  list_item_connections,
159
- # create_connection_cloud,
160
- # create_connection_vnet,
161
- # create_connection_on_prem
174
+ list_connection_role_assignments,
175
+ delete_connection,
176
+ delete_connection_role_assignment,
177
+ create_vnet_connection,
178
+ create_on_prem_connection,
179
+ create_cloud_connection,
162
180
  )
163
181
  from sempy_labs._dax import (
164
182
  evaluate_dax_impersonation,
@@ -267,9 +285,6 @@ __all__ = [
267
285
  "create_azure_storage_account",
268
286
  "delete_custom_pool",
269
287
  "clear_cache",
270
- # create_connection_cloud,
271
- # create_connection_vnet,
272
- # create_connection_on_prem,
273
288
  "evaluate_dax_impersonation",
274
289
  "create_blank_semantic_model",
275
290
  "create_semantic_model_from_bim",
@@ -425,4 +440,20 @@ __all__ = [
425
440
  "update_mirrored_database_definition",
426
441
  "get_tables_mirroring_status",
427
442
  "list_upstream_dataflows",
443
+ "ServicePrincipalTokenProvider",
444
+ "list_connection_role_assignments",
445
+ "delete_connection",
446
+ "delete_connection_role_assignment",
447
+ "create_vnet_connection",
448
+ "create_on_prem_connection",
449
+ "create_cloud_connection",
450
+ "list_gateway_members",
451
+ "list_gateway_role_assigments",
452
+ "list_gateways",
453
+ "delete_gateway",
454
+ "delete_gateway_member",
455
+ "delete_gateway_role_assignment",
456
+ "create_vnet_gateway",
457
+ "update_vnet_gateway",
458
+ "update_on_premises_gateway",
428
459
  ]
@@ -0,0 +1,108 @@
1
+ from typing import Literal
2
+ from sempy.fabric._token_provider import TokenProvider
3
+ from azure.identity import ClientSecretCredential
4
+
5
+
6
+ class ServicePrincipalTokenProvider(TokenProvider):
7
+ """
8
+ Implementation of the sempy.fabric.TokenProvider to be used with Service Principal.
9
+
10
+ For more information on Service Principal see: `Application and service principal objects in Microsoft Entra ID <https://learn.microsoft.com/en-us/entra/identity-platform/app-objects-and-service-principals?tabs=browser#service-principal-object>`_
11
+ """
12
+
13
+ def __init__(self, credential: ClientSecretCredential):
14
+
15
+ self.credential = credential
16
+
17
+ @classmethod
18
+ def from_aad_application_key_authentication(
19
+ cls, tenant_id: str, client_id: str, client_secret: str
20
+ ):
21
+ """
22
+ Generates the ServicePrincipalTokenProvider, providing the Service Principal information.
23
+
24
+ ***USE THIS ONE ONLY FOR TEST PURPOSE. FOR PRODUCTION WE RECOMMEND CALLING ServicePrincipalTokenProvider.from_azure_key_vault()***
25
+
26
+ Parameters
27
+ ----------
28
+ tenant_id : str
29
+ The Fabric Tenant ID.
30
+ client_id : str
31
+ The Service Principal Application Client ID.
32
+ client_secret : str
33
+ The Service Principal Client Secret.
34
+
35
+ Returns
36
+ -------
37
+ sempy.fabric.TokenProvider
38
+ Token provider to be used with FabricRestClient or PowerBIRestClient.
39
+ """
40
+ credential = ClientSecretCredential(
41
+ tenant_id=tenant_id, client_id=client_id, client_secret=client_secret
42
+ )
43
+
44
+ return cls(credential)
45
+
46
+ @classmethod
47
+ def from_azure_key_vault(
48
+ cls,
49
+ key_vault_uri: str,
50
+ key_vault_tenant_id: str,
51
+ key_vault_client_id: str,
52
+ key_vault_client_secret: str,
53
+ ):
54
+ """
55
+ Generates the ServicePrincipalTokenProvider, providing the Azure Key Vault details.
56
+
57
+ For more information on Azure Key Vault, `click here <https://learn.microsoft.com/en-us/azure/key-vault/general/overview>`_.
58
+
59
+ Parameters
60
+ ----------
61
+ key_vault_uri : str
62
+ Azure Key Vault URI.
63
+ key_vault_tenant_id : str
64
+ Name of the secret in the Key Vault with the Fabric Tenant ID.
65
+ key_vault_client_id : str
66
+ Name of the secret in the Key Vault with the Service Principal Client ID.
67
+ key_vault_client_secret : str
68
+ Name of the secret in the Key Vault with the Service Principal Client Secret.
69
+
70
+ Returns
71
+ -------
72
+ sempy.fabric.TokenProvider
73
+ Token provider to be used with FabricRestClient or PowerBIRestClient.
74
+ """
75
+
76
+ import notebookutils
77
+
78
+ tenant_id = notebookutils.credentials.getSecret(
79
+ key_vault_uri, key_vault_tenant_id
80
+ )
81
+ client_id = notebookutils.credentials.getSecret(
82
+ key_vault_uri, key_vault_client_id
83
+ )
84
+ client_secret = notebookutils.credentials.getSecret(
85
+ key_vault_uri, key_vault_client_secret
86
+ )
87
+
88
+ credential = ClientSecretCredential(
89
+ tenant_id=tenant_id, client_id=client_id, client_secret=client_secret
90
+ )
91
+
92
+ return cls(credential)
93
+
94
+ def __call__(self, audience: Literal["pbi", "storage"] = "pbi") -> str:
95
+ """
96
+ Parameters
97
+ ----------
98
+ audience : Literal["pbi", "storage"] = "pbi") -> str
99
+ Literal if it's for PBI/Fabric API call or OneLake/Storage Account call.
100
+ """
101
+ if audience == "pbi":
102
+ return self.credential.get_token(
103
+ "https://analysis.windows.net/powerbi/api/.default"
104
+ ).token
105
+ elif audience == "storage":
106
+ return self.credential.get_token("https://storage.azure.com/.default").token
107
+ else:
108
+ raise NotImplementedError