semantic-link-labs 0.8.11__tar.gz → 0.9.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.
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.github/workflows/build.yaml +6 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/PKG-INFO +5 -5
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/README.md +2 -1
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/docs/requirements.txt +0 -1
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/docs/source/conf.py +1 -1
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/environment.yml +1 -1
- semantic_link_labs-0.9.0/notebooks/Capacity Migration.ipynb +340 -0
- semantic_link_labs-0.9.0/notebooks/Semantic Model Management.ipynb +144 -0
- semantic_link_labs-0.9.0/notebooks/Service Principal.ipynb +218 -0
- semantic_link_labs-0.9.0/notebooks/Tabular Object Model.ipynb +786 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/pyproject.toml +3 -4
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/semantic_link_labs.egg-info/PKG-INFO +5 -5
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/semantic_link_labs.egg-info/SOURCES.txt +2 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/semantic_link_labs.egg-info/requires.txt +1 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/__init__.py +29 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_authentication.py +80 -4
- semantic_link_labs-0.9.0/src/sempy_labs/_capacities.py +1260 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_capacity_migration.py +7 -37
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_clear_cache.py +8 -8
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_deployment_pipelines.py +1 -1
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_gateways.py +2 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_generate_semantic_model.py +8 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_helper_functions.py +119 -79
- semantic_link_labs-0.9.0/src/sempy_labs/_job_scheduler.py +227 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_list_functions.py +40 -31
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_model_bpa.py +207 -204
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_model_bpa_bulk.py +2 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_model_bpa_rules.py +3 -3
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_notebooks.py +2 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_query_scale_out.py +8 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_sql.py +11 -7
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_vertipaq.py +4 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_warehouses.py +6 -6
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/_basic_functions.py +156 -103
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/_domains.py +7 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/_git.py +4 -1
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/_items.py +7 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/_scanner.py +7 -4
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_directlake_schema_compare.py +7 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_directlake_schema_sync.py +6 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_dl_helper.py +51 -31
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +20 -27
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +5 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +17 -22
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +20 -32
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/lakehouse/_lakehouse.py +2 -19
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_generate_report.py +45 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_report_bpa.py +2 -2
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/tom/_model.py +97 -16
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/tests/test_tom.py +2 -0
- semantic_link_labs-0.8.11/notebooks/Capacity Migration.ipynb +0 -1
- semantic_link_labs-0.8.11/notebooks/Tabular Object Model.ipynb +0 -1
- semantic_link_labs-0.8.11/src/sempy_labs/_capacities.py +0 -690
- semantic_link_labs-0.8.11/src/sempy_labs/_job_scheduler.py +0 -92
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.github/workflows/codeql.yaml +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.gitignore +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.readthedocs.yaml +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/.vscode/settings.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/CODE_OF_CONDUCT.md +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/LICENSE +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/SECURITY.md +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/SUPPORT.md +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/docs/Makefile +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/docs/make.bat +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/docs/source/index.rst +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/docs/source/modules.rst +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/Migration to Direct Lake.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/Model Optimization.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/Query Scale Out.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/Report Analysis.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/SQL.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/notebooks/Semantic Model Refresh.ipynb +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/setup.cfg +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_ai.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_connections.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_data_pipelines.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_dataflows.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_dax.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_documentation.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_environments.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_eventhouses.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_eventstreams.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_external_data_shares.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_git.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_icons.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_kql_databases.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_kql_querysets.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_managed_private_endpoints.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_mirrored_databases.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_mirrored_warehouses.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_ml_experiments.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_ml_models.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_model_auto_build.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_model_dependencies.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_one_lake_integration.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_refresh_semantic_model.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_spark.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_translations.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_workloads.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_workspace_identity.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/_workspaces.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/admin/_external_data_share.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_generate_shared_expression.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_guardrails.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/directlake/_warm_cache.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/lakehouse/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/lakehouse/_shortcuts.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_migration_validation.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_download_report.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_paginated.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_report_functions.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_report_helper.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_report_list_functions.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_report_rebind.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/report/_reportwrapper.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/src/sempy_labs/tom/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/tests/__init__.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/tests/test_friendly_case.py +0 -0
- {semantic_link_labs-0.8.11 → semantic_link_labs-0.9.0}/tests/test_shortcuts.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -15,11 +15,10 @@ Classifier: Framework :: Jupyter
|
|
|
15
15
|
Requires-Python: <3.12,>=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: semantic-link-sempy>=0.8.
|
|
18
|
+
Requires-Dist: semantic-link-sempy>=0.8.5
|
|
19
19
|
Requires-Dist: anytree
|
|
20
20
|
Requires-Dist: powerbiclient
|
|
21
21
|
Requires-Dist: polib
|
|
22
|
-
Requires-Dist: azure.mgmt.resource
|
|
23
22
|
Requires-Dist: jsonpath_ng
|
|
24
23
|
Provides-Extra: test
|
|
25
24
|
Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
@@ -27,7 +26,7 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
|
27
26
|
# Semantic Link Labs
|
|
28
27
|
|
|
29
28
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
30
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
31
30
|
[](https://github.com/psf/black)
|
|
32
31
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
33
32
|
|
|
@@ -142,6 +141,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
142
141
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
143
142
|
|
|
144
143
|
## Version History
|
|
144
|
+
* [0.9.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.0) (January 22, 2024)
|
|
145
145
|
* [0.8.11](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.11) (December 19, 2024)
|
|
146
146
|
* [0.8.10](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.10) (December 16, 2024)
|
|
147
147
|
* [0.8.9](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.9) (December 4, 2024)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Semantic Link Labs
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
4
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
5
5
|
[](https://github.com/psf/black)
|
|
6
6
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
7
7
|
|
|
@@ -116,6 +116,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
116
116
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
117
117
|
|
|
118
118
|
## Version History
|
|
119
|
+
* [0.9.0](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.0) (January 22, 2024)
|
|
119
120
|
* [0.8.11](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.11) (December 19, 2024)
|
|
120
121
|
* [0.8.10](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.10) (December 16, 2024)
|
|
121
122
|
* [0.8.9](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.9) (December 4, 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.
|
|
16
|
+
release = '0.9.0'
|
|
17
17
|
|
|
18
18
|
# -- General configuration ---------------------------------------------------
|
|
19
19
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "5c27dfd1-4fe0-4a97-92e6-ddf78889aa93",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"nteract": {
|
|
8
|
+
"transient": {
|
|
9
|
+
"deleting": false
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"source": [
|
|
14
|
+
"### Install the latest .whl package\n",
|
|
15
|
+
"\n",
|
|
16
|
+
"Check [here](https://pypi.org/project/semantic-link-labs/) to see the latest version."
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"cell_type": "code",
|
|
21
|
+
"execution_count": null,
|
|
22
|
+
"id": "d5cae9db-cef9-48a8-a351-9c5fcc99645c",
|
|
23
|
+
"metadata": {
|
|
24
|
+
"jupyter": {
|
|
25
|
+
"outputs_hidden": true,
|
|
26
|
+
"source_hidden": false
|
|
27
|
+
},
|
|
28
|
+
"nteract": {
|
|
29
|
+
"transient": {
|
|
30
|
+
"deleting": false
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"outputs": [],
|
|
35
|
+
"source": [
|
|
36
|
+
"%pip install semantic-link-labs"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"cell_type": "markdown",
|
|
41
|
+
"id": "2856d26d",
|
|
42
|
+
"metadata": {},
|
|
43
|
+
"source": [
|
|
44
|
+
"### Requirements\n",
|
|
45
|
+
"* Must have an Azure Subscription\n",
|
|
46
|
+
"* Must [register an App](https://ms.portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade)\n",
|
|
47
|
+
" * Permissions: Will need the Contributor role at the scope where the resources will be created, which is often the subscription level\n",
|
|
48
|
+
"* Azure Key Vault\n",
|
|
49
|
+
" * [Set up](https://learn.microsoft.com/azure/key-vault/secrets/quick-create-portal) within the Azure Subscription\n",
|
|
50
|
+
" * Save secrets for the Tenant ID, Client ID (Application ID), Client Secret\n",
|
|
51
|
+
" * Permissions: Ensure the user who will be executing the notebooks has “Key Vault Secrets User”\n",
|
|
52
|
+
"* Fabric Permissions\n",
|
|
53
|
+
" * User should be a tenant admin. This ensures they have the necessary authority to execute and manage the notebooks without encountering permission issues.\n",
|
|
54
|
+
"\n",
|
|
55
|
+
"### Result\n",
|
|
56
|
+
"* F skus are created for each (specified) capacity\n",
|
|
57
|
+
" * Within the same region as the P SKU\n",
|
|
58
|
+
" * Equivalent SKU size as the P SKU\n",
|
|
59
|
+
" * Same admins as listed on the P SKU\n",
|
|
60
|
+
" * All workspaces are migrated to the corresponding new capacity\n",
|
|
61
|
+
"* 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\"."
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"cell_type": "markdown",
|
|
66
|
+
"id": "b195eae8",
|
|
67
|
+
"metadata": {},
|
|
68
|
+
"source": [
|
|
69
|
+
"### Import the library and set the initial parameters"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"cell_type": "code",
|
|
74
|
+
"execution_count": null,
|
|
75
|
+
"id": "1344e286",
|
|
76
|
+
"metadata": {},
|
|
77
|
+
"outputs": [],
|
|
78
|
+
"source": [
|
|
79
|
+
"import sempy_labs as labs\n",
|
|
80
|
+
"import sempy_labs.admin as admin\n",
|
|
81
|
+
"\n",
|
|
82
|
+
"azure_subscription_id = '' # Enter your Azure subscription ID\n",
|
|
83
|
+
"resource_group = '' # Enter the name of the resource group (to be used to create the new F skus)\n",
|
|
84
|
+
"\n",
|
|
85
|
+
"key_vault_uri = '', # Enter your key vault URI\n",
|
|
86
|
+
"key_vault_tenant_id = '', # Enter the key vault secret storig your Tenant ID\n",
|
|
87
|
+
"key_vault_client_id = '', # Enter the key vault secret storig your Client ID (Applciation ID)\n",
|
|
88
|
+
"key_vault_client_secret = '' # Enter the key vault secret storig your Client Secret"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"cell_type": "markdown",
|
|
93
|
+
"id": "5a3fe6e8-b8aa-4447-812b-7931831e07fe",
|
|
94
|
+
"metadata": {
|
|
95
|
+
"nteract": {
|
|
96
|
+
"transient": {
|
|
97
|
+
"deleting": false
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"source": [
|
|
102
|
+
"### Migrate a single P SKU -> F SKU\n",
|
|
103
|
+
"Set the 'capacities' parameter to the single P SKU."
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"cell_type": "code",
|
|
108
|
+
"execution_count": null,
|
|
109
|
+
"id": "3655dd88",
|
|
110
|
+
"metadata": {},
|
|
111
|
+
"outputs": [],
|
|
112
|
+
"source": [
|
|
113
|
+
"with labs.service_principal_authentication(\n",
|
|
114
|
+
" key_vault_uri=key_vault_uri, \n",
|
|
115
|
+
" key_vault_tenant_id=key_vault_tenant_id,\n",
|
|
116
|
+
" key_vault_client_id=key_vault_client_id,\n",
|
|
117
|
+
" key_vault_client_secret=key_vault_client_secret):\n",
|
|
118
|
+
"\n",
|
|
119
|
+
" labs.migrate_capacities(\n",
|
|
120
|
+
" azure_subscription_id = azure_subscription_id,\n",
|
|
121
|
+
" resource_group = resource_group,\n",
|
|
122
|
+
" capacities = 'CapacityA',\n",
|
|
123
|
+
" p_sku_only = True,\n",
|
|
124
|
+
" )"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"cell_type": "markdown",
|
|
129
|
+
"id": "175a59b8",
|
|
130
|
+
"metadata": {},
|
|
131
|
+
"source": [
|
|
132
|
+
"### Migrate a list of P SKUs to F SKUs\n",
|
|
133
|
+
"Set the 'capacities' parameter to a list of P SKUs."
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"cell_type": "code",
|
|
138
|
+
"execution_count": null,
|
|
139
|
+
"id": "3a7a80ec",
|
|
140
|
+
"metadata": {},
|
|
141
|
+
"outputs": [],
|
|
142
|
+
"source": [
|
|
143
|
+
"with labs.service_principal_authentication(\n",
|
|
144
|
+
" key_vault_uri=key_vault_uri, \n",
|
|
145
|
+
" key_vault_tenant_id=key_vault_tenant_id,\n",
|
|
146
|
+
" key_vault_client_id=key_vault_client_id,\n",
|
|
147
|
+
" key_vault_client_secret=key_vault_client_secret):\n",
|
|
148
|
+
"\n",
|
|
149
|
+
" labs.migrate_capacities(\n",
|
|
150
|
+
" azure_subscription_id = azure_subscription_id,\n",
|
|
151
|
+
" resource_group = resource_group,\n",
|
|
152
|
+
" capacities = ['CapacityA', 'CapacityB', 'CapacityC'],\n",
|
|
153
|
+
" p_sku_only = True,\n",
|
|
154
|
+
" )"
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"cell_type": "markdown",
|
|
159
|
+
"id": "30438799",
|
|
160
|
+
"metadata": {},
|
|
161
|
+
"source": [
|
|
162
|
+
"### Migrate all P SKUs to F SKUs\n",
|
|
163
|
+
"Set the 'capacities' parameter to None."
|
|
164
|
+
]
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"cell_type": "code",
|
|
168
|
+
"execution_count": null,
|
|
169
|
+
"id": "315c2dc7",
|
|
170
|
+
"metadata": {},
|
|
171
|
+
"outputs": [],
|
|
172
|
+
"source": [
|
|
173
|
+
"with labs.service_principal_authentication(\n",
|
|
174
|
+
" key_vault_uri=key_vault_uri, \n",
|
|
175
|
+
" key_vault_tenant_id=key_vault_tenant_id,\n",
|
|
176
|
+
" key_vault_client_id=key_vault_client_id,\n",
|
|
177
|
+
" key_vault_client_secret=key_vault_client_secret):\n",
|
|
178
|
+
"\n",
|
|
179
|
+
" labs.migrate_capacities(\n",
|
|
180
|
+
" azure_subscription_id = azure_subscription_id,\n",
|
|
181
|
+
" resource_group = resource_group,\n",
|
|
182
|
+
" capacities = None,\n",
|
|
183
|
+
" p_sku_only = True,\n",
|
|
184
|
+
" )"
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"cell_type": "markdown",
|
|
189
|
+
"id": "1d8e73b2",
|
|
190
|
+
"metadata": {},
|
|
191
|
+
"source": [
|
|
192
|
+
"### Migrate a list of P SKUs to F SKUs; associate each capacity with a specific resource group\n",
|
|
193
|
+
"This process ensures that each F SKU is created within the resource group specified in the resource_group_mapping dictionary."
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"cell_type": "code",
|
|
198
|
+
"execution_count": null,
|
|
199
|
+
"id": "2854bf8a",
|
|
200
|
+
"metadata": {},
|
|
201
|
+
"outputs": [],
|
|
202
|
+
"source": [
|
|
203
|
+
"resource_group_mapping = {\n",
|
|
204
|
+
" \"CapacityA\": \"ResourceGroupA\",\n",
|
|
205
|
+
" \"CapacityB\": \"ResourceGroupA\",\n",
|
|
206
|
+
" \"CapacityC\": \"ResourceGroupB\",\n",
|
|
207
|
+
"}\n",
|
|
208
|
+
"\n",
|
|
209
|
+
"with labs.service_principal_authentication(\n",
|
|
210
|
+
" key_vault_uri=key_vault_uri, \n",
|
|
211
|
+
" key_vault_tenant_id=key_vault_tenant_id,\n",
|
|
212
|
+
" key_vault_client_id=key_vault_client_id,\n",
|
|
213
|
+
" key_vault_client_secret=key_vault_client_secret):\n",
|
|
214
|
+
"\n",
|
|
215
|
+
" labs.migrate_capacities(\n",
|
|
216
|
+
" azure_subscription_id = azure_subscription_id,\n",
|
|
217
|
+
" resource_group = resource_group_mapping,\n",
|
|
218
|
+
" capacities = ['CapacityA', 'CapacityB', 'CapacityC'],\n",
|
|
219
|
+
" p_sku_only = True,\n",
|
|
220
|
+
" )"
|
|
221
|
+
]
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"cell_type": "markdown",
|
|
225
|
+
"id": "c3f497c8",
|
|
226
|
+
"metadata": {},
|
|
227
|
+
"source": [
|
|
228
|
+
"### Migrate a single source capacity to a target capacity (target capacity already created)"
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"cell_type": "code",
|
|
233
|
+
"execution_count": null,
|
|
234
|
+
"id": "a4f0b5a2",
|
|
235
|
+
"metadata": {},
|
|
236
|
+
"outputs": [],
|
|
237
|
+
"source": [
|
|
238
|
+
"source_capacity = '' # Enter the Source capacity name\n",
|
|
239
|
+
"target_capacity = '' # Enter the Target capacity name (already exists) \n",
|
|
240
|
+
"\n",
|
|
241
|
+
"admin.assign_workspaces_to_capacity(\n",
|
|
242
|
+
" source_capacity=source_capacity,\n",
|
|
243
|
+
" target_capacity=target_capacity,\n",
|
|
244
|
+
" workspace=None,\n",
|
|
245
|
+
")"
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"cell_type": "markdown",
|
|
250
|
+
"id": "e0db744b",
|
|
251
|
+
"metadata": {},
|
|
252
|
+
"source": [
|
|
253
|
+
"### Migrate a list of source capacities to target capacities (target capacity already created)"
|
|
254
|
+
]
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"cell_type": "code",
|
|
258
|
+
"execution_count": null,
|
|
259
|
+
"id": "0e04d519",
|
|
260
|
+
"metadata": {},
|
|
261
|
+
"outputs": [],
|
|
262
|
+
"source": [
|
|
263
|
+
"capacity_mapping = {\n",
|
|
264
|
+
" \"capacitya\": \"capacityanew\", # Format is \"Source SKU\": \"Target SKU\"\n",
|
|
265
|
+
" \"capacityb\": \"capacitybnew\",\n",
|
|
266
|
+
" \"capacityc\": \"capacitycnew\",\n",
|
|
267
|
+
"}\n",
|
|
268
|
+
"\n",
|
|
269
|
+
"capacities = list(capacity_mapping.keys())\n",
|
|
270
|
+
"\n",
|
|
271
|
+
"for capacity in capacities:\n",
|
|
272
|
+
" admin.assign_workspaces_to_capacity(\n",
|
|
273
|
+
" source_capacity=capacity,\n",
|
|
274
|
+
" target_capacity=capacity_mapping.get(capacity),\n",
|
|
275
|
+
" workspace=None,\n",
|
|
276
|
+
" )"
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"cell_type": "markdown",
|
|
281
|
+
"id": "67787c3a",
|
|
282
|
+
"metadata": {},
|
|
283
|
+
"source": [
|
|
284
|
+
"### Migrate a Fabric Trial Capacity (FT1) to a Fabric Capacity (F SKU)"
|
|
285
|
+
]
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"cell_type": "code",
|
|
289
|
+
"execution_count": null,
|
|
290
|
+
"id": "4efb55b2",
|
|
291
|
+
"metadata": {},
|
|
292
|
+
"outputs": [],
|
|
293
|
+
"source": [
|
|
294
|
+
"with labs.service_principal_authentication(\n",
|
|
295
|
+
" key_vault_uri=key_vault_uri, \n",
|
|
296
|
+
" key_vault_tenant_id=key_vault_tenant_id,\n",
|
|
297
|
+
" key_vault_client_id=key_vault_client_id,\n",
|
|
298
|
+
" key_vault_client_secret=key_vault_client_secret):\n",
|
|
299
|
+
"\n",
|
|
300
|
+
" labs.migrate_fabric_trial_capacity(\n",
|
|
301
|
+
" azure_subscription_id = azure_subscription_id,\n",
|
|
302
|
+
" resource_group = resource_group,\n",
|
|
303
|
+
" source_capacity = '', # The name of the Trial capacity.\n",
|
|
304
|
+
" target_capacity = '', # The name of Fabric capacity (if it does not exist it will be created).\n",
|
|
305
|
+
" target_capacity_sku = \"F64\", # Defaults to F64 but can specify the required SKU.\n",
|
|
306
|
+
" target_capacity_admin_members = None, # Setting this to None will use the same admin members as the Trial capacity.\n",
|
|
307
|
+
" )"
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
],
|
|
311
|
+
"metadata": {
|
|
312
|
+
"kernel_info": {
|
|
313
|
+
"name": "synapse_pyspark"
|
|
314
|
+
},
|
|
315
|
+
"kernelspec": {
|
|
316
|
+
"display_name": "Synapse PySpark",
|
|
317
|
+
"language": "Python",
|
|
318
|
+
"name": "synapse_pyspark"
|
|
319
|
+
},
|
|
320
|
+
"language_info": {
|
|
321
|
+
"name": "python"
|
|
322
|
+
},
|
|
323
|
+
"microsoft": {
|
|
324
|
+
"language": "python"
|
|
325
|
+
},
|
|
326
|
+
"nteract": {
|
|
327
|
+
"version": "nteract-front-end@1.0.0"
|
|
328
|
+
},
|
|
329
|
+
"spark_compute": {
|
|
330
|
+
"compute_id": "/trident/default"
|
|
331
|
+
},
|
|
332
|
+
"synapse_widget": {
|
|
333
|
+
"state": {},
|
|
334
|
+
"version": "0.1"
|
|
335
|
+
},
|
|
336
|
+
"widgets": {}
|
|
337
|
+
},
|
|
338
|
+
"nbformat": 4,
|
|
339
|
+
"nbformat_minor": 5
|
|
340
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "5c27dfd1-4fe0-4a97-92e6-ddf78889aa93",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"nteract": {
|
|
8
|
+
"transient": {
|
|
9
|
+
"deleting": false
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"source": [
|
|
14
|
+
"### Install the latest .whl package\n",
|
|
15
|
+
"\n",
|
|
16
|
+
"Check [here](https://pypi.org/project/semantic-link-labs/) to see the latest version."
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"cell_type": "code",
|
|
21
|
+
"execution_count": null,
|
|
22
|
+
"id": "d5cae9db-cef9-48a8-a351-9c5fcc99645c",
|
|
23
|
+
"metadata": {
|
|
24
|
+
"jupyter": {
|
|
25
|
+
"outputs_hidden": true,
|
|
26
|
+
"source_hidden": false
|
|
27
|
+
},
|
|
28
|
+
"nteract": {
|
|
29
|
+
"transient": {
|
|
30
|
+
"deleting": false
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"outputs": [],
|
|
35
|
+
"source": [
|
|
36
|
+
"%pip install semantic-link-labs"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"cell_type": "markdown",
|
|
41
|
+
"id": "b195eae8",
|
|
42
|
+
"metadata": {},
|
|
43
|
+
"source": [
|
|
44
|
+
"### Import the library and necessary packages"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"cell_type": "code",
|
|
49
|
+
"execution_count": null,
|
|
50
|
+
"id": "1344e286",
|
|
51
|
+
"metadata": {},
|
|
52
|
+
"outputs": [],
|
|
53
|
+
"source": [
|
|
54
|
+
"import sempy_labs as labs\n",
|
|
55
|
+
"source_dataset = '' # Name of the semantic model to backup\n",
|
|
56
|
+
"target_dataset = '' # Name of the semantic model to restore\n",
|
|
57
|
+
"source_workspace = '' # Name of the workspace in which the semantic model resides\n",
|
|
58
|
+
"target_workspace = '' # Destination workspace of the semantic model\n",
|
|
59
|
+
"source_file_path = '' # Name/path of the backup file to create\n",
|
|
60
|
+
"target_file_path = '' # Name/path of the backup file to be copied to the target workspace\n",
|
|
61
|
+
"storage_account = '' # Name of the ADLS Gen2 storage account associated with both source & target workspaces"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"cell_type": "markdown",
|
|
66
|
+
"id": "d4f5356a",
|
|
67
|
+
"metadata": {},
|
|
68
|
+
"source": [
|
|
69
|
+
"#### Prerequisites\n",
|
|
70
|
+
"* [Create an ADLS Gen2 storage account (in the Azure Portal)](https://learn.microsoft.com/azure/storage/common/storage-account-create?tabs=azure-portal)\n",
|
|
71
|
+
"* Assign the ADLS Gen2 storage account to both source and target workspaces\n",
|
|
72
|
+
" * Navigate to your workspace.\n",
|
|
73
|
+
" * Select 'Workspace settings'.\n",
|
|
74
|
+
" * Select 'Azure connections'.\n",
|
|
75
|
+
" * Within 'Azure Data Lake Gen2 Storage' click 'Configure'.\n",
|
|
76
|
+
" * Enter your Subscription, Resource Group and Storage Account.\n",
|
|
77
|
+
" * Click 'Save'.\n"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"cell_type": "markdown",
|
|
82
|
+
"id": "55e5ca67",
|
|
83
|
+
"metadata": {},
|
|
84
|
+
"source": [
|
|
85
|
+
"### Backup, copy and restore a semantic model to a new workspace"
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"cell_type": "code",
|
|
90
|
+
"execution_count": null,
|
|
91
|
+
"id": "5a985c1f",
|
|
92
|
+
"metadata": {},
|
|
93
|
+
"outputs": [],
|
|
94
|
+
"source": [
|
|
95
|
+
"labs.backup_semantic_model(\n",
|
|
96
|
+
" dataset=source_dataset,\n",
|
|
97
|
+
" file_path=source_file_path,\n",
|
|
98
|
+
" workspace=source_workspace,\n",
|
|
99
|
+
")\n",
|
|
100
|
+
"labs.copy_semantic_model_backup_file(\n",
|
|
101
|
+
" source_workspace=source_workspace,\n",
|
|
102
|
+
" target_workspace=target_workspace,\n",
|
|
103
|
+
" source_file_name=source_file_path,\n",
|
|
104
|
+
" target_file_name=target_file_path,\n",
|
|
105
|
+
" storage_account=storage_account,\n",
|
|
106
|
+
")\n",
|
|
107
|
+
"labs.restore_semantic_model(\n",
|
|
108
|
+
" dataset=target_dataset,\n",
|
|
109
|
+
" file_path=target_file_path,\n",
|
|
110
|
+
" workspace=target_workspace,\n",
|
|
111
|
+
")"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"metadata": {
|
|
116
|
+
"kernel_info": {
|
|
117
|
+
"name": "synapse_pyspark"
|
|
118
|
+
},
|
|
119
|
+
"kernelspec": {
|
|
120
|
+
"display_name": "Synapse PySpark",
|
|
121
|
+
"language": "Python",
|
|
122
|
+
"name": "synapse_pyspark"
|
|
123
|
+
},
|
|
124
|
+
"language_info": {
|
|
125
|
+
"name": "python"
|
|
126
|
+
},
|
|
127
|
+
"microsoft": {
|
|
128
|
+
"language": "python"
|
|
129
|
+
},
|
|
130
|
+
"nteract": {
|
|
131
|
+
"version": "nteract-front-end@1.0.0"
|
|
132
|
+
},
|
|
133
|
+
"spark_compute": {
|
|
134
|
+
"compute_id": "/trident/default"
|
|
135
|
+
},
|
|
136
|
+
"synapse_widget": {
|
|
137
|
+
"state": {},
|
|
138
|
+
"version": "0.1"
|
|
139
|
+
},
|
|
140
|
+
"widgets": {}
|
|
141
|
+
},
|
|
142
|
+
"nbformat": 4,
|
|
143
|
+
"nbformat_minor": 5
|
|
144
|
+
}
|