semantic-link-labs 0.9.4__tar.gz → 0.9.6__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.9.4 → semantic_link_labs-0.9.6}/PKG-INFO +19 -2
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/README.md +18 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/docs/source/conf.py +1 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Service Principal.ipynb +1 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/pyproject.toml +1 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/PKG-INFO +19 -2
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/SOURCES.txt +7 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/__init__.py +33 -4
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_capacities.py +59 -128
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_capacity_migration.py +19 -21
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_connections.py +2 -4
- semantic_link_labs-0.9.6/src/sempy_labs/_dashboards.py +60 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_data_pipelines.py +5 -31
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_dataflows.py +2 -2
- semantic_link_labs-0.9.6/src/sempy_labs/_dax_query_view.py +55 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_delta_analyzer.py +16 -14
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_environments.py +28 -49
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_eventhouses.py +27 -53
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_eventstreams.py +16 -34
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_external_data_shares.py +4 -10
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_gateways.py +4 -4
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_generate_semantic_model.py +2 -2
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_git.py +90 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_graphQL.py +8 -21
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_helper_functions.py +440 -91
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_kql_databases.py +24 -35
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_kql_querysets.py +15 -32
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_list_functions.py +17 -192
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_managed_private_endpoints.py +9 -2
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_mirrored_databases.py +17 -49
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_ml_experiments.py +6 -31
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_ml_models.py +4 -28
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_model_bpa.py +4 -11
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_model_bpa_bulk.py +23 -27
- semantic_link_labs-0.9.6/src/sempy_labs/_mounted_data_factories.py +119 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_notebooks.py +16 -26
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_one_lake_integration.py +2 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_semantic_models.py +20 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_sql.py +13 -8
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_sqldatabase.py +61 -100
- semantic_link_labs-0.9.6/src/sempy_labs/_utils.py +42 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_vertipaq.py +25 -13
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_warehouses.py +19 -20
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_workloads.py +23 -9
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_workspace_identity.py +6 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_workspaces.py +55 -7
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/__init__.py +21 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_apps.py +1 -1
- semantic_link_labs-0.9.6/src/sempy_labs/admin/_artifacts.py +62 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_basic_functions.py +3 -54
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_capacities.py +61 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_reports.py +74 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_scanner.py +2 -2
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_shared.py +4 -2
- semantic_link_labs-0.9.6/src/sempy_labs/admin/_users.py +133 -0
- semantic_link_labs-0.9.6/src/sempy_labs/admin/_workspaces.py +148 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_directlake_schema_compare.py +2 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_directlake_schema_sync.py +65 -19
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_dl_helper.py +0 -6
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_generate_shared_expression.py +10 -11
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_guardrails.py +2 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +12 -25
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +11 -3
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/lakehouse/__init__.py +2 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/lakehouse/_lakehouse.py +6 -7
- semantic_link_labs-0.9.6/src/sempy_labs/lakehouse/_shortcuts.py +401 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_migration_validation.py +0 -4
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_download_report.py +4 -6
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_generate_report.py +15 -23
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_report_bpa.py +12 -19
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_report_functions.py +2 -1
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_report_rebind.py +8 -6
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/tom/_model.py +34 -16
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/tests/test_tom.py +2 -3
- semantic_link_labs-0.9.4/src/sempy_labs/lakehouse/_shortcuts.py +0 -260
- semantic_link_labs-0.9.4/tests/test_shortcuts.py +0 -57
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.github/workflows/build.yaml +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.github/workflows/codeql.yaml +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.gitignore +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.readthedocs.yaml +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/.vscode/settings.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/CODE_OF_CONDUCT.md +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/LICENSE +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/SECURITY.md +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/SUPPORT.md +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/docs/Makefile +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/docs/make.bat +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/docs/requirements.txt +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/docs/source/index.rst +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/docs/source/modules.rst +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/environment.yml +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Capacity Migration.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Delta Analyzer.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Migration to Direct Lake.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Model Optimization.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Query Scale Out.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Report Analysis.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/SQL.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Semantic Model Management.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Semantic Model Refresh.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/notebooks/Tabular Object Model.ipynb +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/setup.cfg +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/requires.txt +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_ai.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_authentication.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_clear_cache.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_dax.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_deployment_pipelines.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_documentation.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_icons.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_job_scheduler.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_mirrored_warehouses.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_model_auto_build.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_model_bpa_rules.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_model_dependencies.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_query_scale_out.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_refresh_semantic_model.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_spark.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/_translations.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_activities.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_datasets.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_domains.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_external_data_share.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_git.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_items.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/admin/_tenant.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/__init__.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/directlake/_warm_cache.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/graph/__init__.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/graph/_groups.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/graph/_teams.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/graph/_users.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/__init__.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_direct_lake_to_import.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/__init__.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_export_report.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_paginated.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_report_helper.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_report_list_functions.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/report/_reportwrapper.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/sempy_labs/tom/__init__.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/tests/__init__.py +0 -0
- {semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/tests/test_friendly_case.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.6
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -26,7 +26,7 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
|
26
26
|
# Semantic Link Labs
|
|
27
27
|
|
|
28
28
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
29
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
30
30
|
[](https://github.com/psf/black)
|
|
31
31
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
32
32
|
|
|
@@ -34,6 +34,9 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
|
34
34
|
[Read the documentation on ReadTheDocs!](https://semantic-link-labs.readthedocs.io/en/stable/)
|
|
35
35
|
---
|
|
36
36
|
|
|
37
|
+
[Read the Wiki!](https://github.com/microsoft/semantic-link-labs/wiki)
|
|
38
|
+
---
|
|
39
|
+
|
|
37
40
|
Semantic Link Labs is a Python library designed for use in [Microsoft Fabric notebooks](https://learn.microsoft.com/fabric/data-engineering/how-to-use-notebook). This library extends the capabilities of [Semantic Link](https://learn.microsoft.com/fabric/data-science/semantic-link-overview) offering additional functionalities to seamlessly integrate and work alongside it. The goal of Semantic Link Labs is to simplify technical processes, empowering people to focus on higher level activities and allowing tasks that are better suited for machines to be efficiently handled without human intervention.
|
|
38
41
|
|
|
39
42
|
If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
|
|
@@ -145,6 +148,8 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
145
148
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
146
149
|
|
|
147
150
|
## Version History
|
|
151
|
+
* [0.9.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.6) (March 12, 2025)
|
|
152
|
+
* [0.9.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.5) (March 7, 2025)
|
|
148
153
|
* [0.9.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.4) (February 27, 2025)
|
|
149
154
|
* [0.9.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.3) (February 13, 2025)
|
|
150
155
|
* [0.9.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.2) (February 5, 2025)
|
|
@@ -299,6 +304,18 @@ python -m build
|
|
|
299
304
|
4. Enter details into the description.
|
|
300
305
|
5. Click 'Create'.
|
|
301
306
|
|
|
307
|
+
#### Code Formatting
|
|
308
|
+
We use [black](github.com/psf/black) formatting as a code formatting standard. Make sure to run 'black' formatting on your code before submitting a pull request.
|
|
309
|
+
|
|
310
|
+
Run this code to install black
|
|
311
|
+
```cli
|
|
312
|
+
pip install black
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Run this code to format your code using black
|
|
316
|
+
```cli
|
|
317
|
+
python -m black src
|
|
318
|
+
```
|
|
302
319
|
|
|
303
320
|
## Trademarks
|
|
304
321
|
|
|
@@ -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
|
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
[Read the documentation on ReadTheDocs!](https://semantic-link-labs.readthedocs.io/en/stable/)
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
+
[Read the Wiki!](https://github.com/microsoft/semantic-link-labs/wiki)
|
|
13
|
+
---
|
|
14
|
+
|
|
12
15
|
Semantic Link Labs is a Python library designed for use in [Microsoft Fabric notebooks](https://learn.microsoft.com/fabric/data-engineering/how-to-use-notebook). This library extends the capabilities of [Semantic Link](https://learn.microsoft.com/fabric/data-science/semantic-link-overview) offering additional functionalities to seamlessly integrate and work alongside it. The goal of Semantic Link Labs is to simplify technical processes, empowering people to focus on higher level activities and allowing tasks that are better suited for machines to be efficiently handled without human intervention.
|
|
13
16
|
|
|
14
17
|
If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
|
|
@@ -120,6 +123,8 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
120
123
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
121
124
|
|
|
122
125
|
## Version History
|
|
126
|
+
* [0.9.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.6) (March 12, 2025)
|
|
127
|
+
* [0.9.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.5) (March 7, 2025)
|
|
123
128
|
* [0.9.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.4) (February 27, 2025)
|
|
124
129
|
* [0.9.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.3) (February 13, 2025)
|
|
125
130
|
* [0.9.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.2) (February 5, 2025)
|
|
@@ -274,6 +279,18 @@ python -m build
|
|
|
274
279
|
4. Enter details into the description.
|
|
275
280
|
5. Click 'Create'.
|
|
276
281
|
|
|
282
|
+
#### Code Formatting
|
|
283
|
+
We use [black](github.com/psf/black) formatting as a code formatting standard. Make sure to run 'black' formatting on your code before submitting a pull request.
|
|
284
|
+
|
|
285
|
+
Run this code to install black
|
|
286
|
+
```cli
|
|
287
|
+
pip install black
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Run this code to format your code using black
|
|
291
|
+
```cli
|
|
292
|
+
python -m black src
|
|
293
|
+
```
|
|
277
294
|
|
|
278
295
|
## Trademarks
|
|
279
296
|
|
|
@@ -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.9.
|
|
16
|
+
release = '0.9.6'
|
|
17
17
|
|
|
18
18
|
# -- General configuration ---------------------------------------------------
|
|
19
19
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
{semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.6
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -26,7 +26,7 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
|
26
26
|
# Semantic Link Labs
|
|
27
27
|
|
|
28
28
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
29
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
30
30
|
[](https://github.com/psf/black)
|
|
31
31
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
32
32
|
|
|
@@ -34,6 +34,9 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
|
34
34
|
[Read the documentation on ReadTheDocs!](https://semantic-link-labs.readthedocs.io/en/stable/)
|
|
35
35
|
---
|
|
36
36
|
|
|
37
|
+
[Read the Wiki!](https://github.com/microsoft/semantic-link-labs/wiki)
|
|
38
|
+
---
|
|
39
|
+
|
|
37
40
|
Semantic Link Labs is a Python library designed for use in [Microsoft Fabric notebooks](https://learn.microsoft.com/fabric/data-engineering/how-to-use-notebook). This library extends the capabilities of [Semantic Link](https://learn.microsoft.com/fabric/data-science/semantic-link-overview) offering additional functionalities to seamlessly integrate and work alongside it. The goal of Semantic Link Labs is to simplify technical processes, empowering people to focus on higher level activities and allowing tasks that are better suited for machines to be efficiently handled without human intervention.
|
|
38
41
|
|
|
39
42
|
If you encounter any issues, please [raise a bug](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).
|
|
@@ -145,6 +148,8 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
145
148
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
146
149
|
|
|
147
150
|
## Version History
|
|
151
|
+
* [0.9.6](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.6) (March 12, 2025)
|
|
152
|
+
* [0.9.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.5) (March 7, 2025)
|
|
148
153
|
* [0.9.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.4) (February 27, 2025)
|
|
149
154
|
* [0.9.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.3) (February 13, 2025)
|
|
150
155
|
* [0.9.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.9.2) (February 5, 2025)
|
|
@@ -299,6 +304,18 @@ python -m build
|
|
|
299
304
|
4. Enter details into the description.
|
|
300
305
|
5. Click 'Create'.
|
|
301
306
|
|
|
307
|
+
#### Code Formatting
|
|
308
|
+
We use [black](github.com/psf/black) formatting as a code formatting standard. Make sure to run 'black' formatting on your code before submitting a pull request.
|
|
309
|
+
|
|
310
|
+
Run this code to install black
|
|
311
|
+
```cli
|
|
312
|
+
pip install black
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Run this code to format your code using black
|
|
316
|
+
```cli
|
|
317
|
+
python -m black src
|
|
318
|
+
```
|
|
302
319
|
|
|
303
320
|
## Trademarks
|
|
304
321
|
|
{semantic_link_labs-0.9.4 → semantic_link_labs-0.9.6}/src/semantic_link_labs.egg-info/SOURCES.txt
RENAMED
|
@@ -43,9 +43,11 @@ src/sempy_labs/_capacities.py
|
|
|
43
43
|
src/sempy_labs/_capacity_migration.py
|
|
44
44
|
src/sempy_labs/_clear_cache.py
|
|
45
45
|
src/sempy_labs/_connections.py
|
|
46
|
+
src/sempy_labs/_dashboards.py
|
|
46
47
|
src/sempy_labs/_data_pipelines.py
|
|
47
48
|
src/sempy_labs/_dataflows.py
|
|
48
49
|
src/sempy_labs/_dax.py
|
|
50
|
+
src/sempy_labs/_dax_query_view.py
|
|
49
51
|
src/sempy_labs/_delta_analyzer.py
|
|
50
52
|
src/sempy_labs/_deployment_pipelines.py
|
|
51
53
|
src/sempy_labs/_documentation.py
|
|
@@ -73,6 +75,7 @@ src/sempy_labs/_model_bpa.py
|
|
|
73
75
|
src/sempy_labs/_model_bpa_bulk.py
|
|
74
76
|
src/sempy_labs/_model_bpa_rules.py
|
|
75
77
|
src/sempy_labs/_model_dependencies.py
|
|
78
|
+
src/sempy_labs/_mounted_data_factories.py
|
|
76
79
|
src/sempy_labs/_notebooks.py
|
|
77
80
|
src/sempy_labs/_one_lake_integration.py
|
|
78
81
|
src/sempy_labs/_query_scale_out.py
|
|
@@ -82,6 +85,7 @@ src/sempy_labs/_spark.py
|
|
|
82
85
|
src/sempy_labs/_sql.py
|
|
83
86
|
src/sempy_labs/_sqldatabase.py
|
|
84
87
|
src/sempy_labs/_translations.py
|
|
88
|
+
src/sempy_labs/_utils.py
|
|
85
89
|
src/sempy_labs/_vertipaq.py
|
|
86
90
|
src/sempy_labs/_warehouses.py
|
|
87
91
|
src/sempy_labs/_workloads.py
|
|
@@ -128,6 +132,7 @@ src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po
|
|
|
128
132
|
src/sempy_labs/admin/__init__.py
|
|
129
133
|
src/sempy_labs/admin/_activities.py
|
|
130
134
|
src/sempy_labs/admin/_apps.py
|
|
135
|
+
src/sempy_labs/admin/_artifacts.py
|
|
131
136
|
src/sempy_labs/admin/_basic_functions.py
|
|
132
137
|
src/sempy_labs/admin/_capacities.py
|
|
133
138
|
src/sempy_labs/admin/_datasets.py
|
|
@@ -139,6 +144,8 @@ src/sempy_labs/admin/_reports.py
|
|
|
139
144
|
src/sempy_labs/admin/_scanner.py
|
|
140
145
|
src/sempy_labs/admin/_shared.py
|
|
141
146
|
src/sempy_labs/admin/_tenant.py
|
|
147
|
+
src/sempy_labs/admin/_users.py
|
|
148
|
+
src/sempy_labs/admin/_workspaces.py
|
|
142
149
|
src/sempy_labs/directlake/__init__.py
|
|
143
150
|
src/sempy_labs/directlake/_directlake_schema_compare.py
|
|
144
151
|
src/sempy_labs/directlake/_directlake_schema_sync.py
|
|
@@ -216,5 +223,4 @@ src/sempy_labs/tom/__init__.py
|
|
|
216
223
|
src/sempy_labs/tom/_model.py
|
|
217
224
|
tests/__init__.py
|
|
218
225
|
tests/test_friendly_case.py
|
|
219
|
-
tests/test_shortcuts.py
|
|
220
226
|
tests/test_tom.py
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
+
from sempy_labs._dax_query_view import (
|
|
2
|
+
generate_dax_query_view_url,
|
|
3
|
+
)
|
|
4
|
+
from sempy_labs._mounted_data_factories import (
|
|
5
|
+
list_mounted_data_factories,
|
|
6
|
+
get_mounted_data_factory_definition,
|
|
7
|
+
delete_mounted_data_factory,
|
|
8
|
+
)
|
|
9
|
+
|
|
1
10
|
from sempy_labs._semantic_models import (
|
|
2
11
|
get_semantic_model_refresh_schedule,
|
|
3
12
|
enable_semantic_model_scheduled_refresh,
|
|
13
|
+
delete_semantic_model,
|
|
4
14
|
)
|
|
5
15
|
from sempy_labs._graphQL import (
|
|
6
16
|
list_graphql_apis,
|
|
@@ -99,7 +109,7 @@ from sempy_labs._kql_querysets import (
|
|
|
99
109
|
)
|
|
100
110
|
from sempy_labs._kql_databases import (
|
|
101
111
|
list_kql_databases,
|
|
102
|
-
create_kql_database,
|
|
112
|
+
# create_kql_database,
|
|
103
113
|
delete_kql_database,
|
|
104
114
|
)
|
|
105
115
|
from sempy_labs._mirrored_warehouses import list_mirrored_warehouses
|
|
@@ -142,6 +152,7 @@ from sempy_labs._capacities import (
|
|
|
142
152
|
create_or_update_resource_group,
|
|
143
153
|
list_resource_groups,
|
|
144
154
|
get_resource_group,
|
|
155
|
+
list_capacities,
|
|
145
156
|
)
|
|
146
157
|
from sempy_labs._spark import (
|
|
147
158
|
get_spark_settings,
|
|
@@ -159,6 +170,7 @@ from sempy_labs._workspaces import (
|
|
|
159
170
|
assign_workspace_to_capacity,
|
|
160
171
|
unassign_workspace_from_capacity,
|
|
161
172
|
list_workspace_role_assignments,
|
|
173
|
+
delete_workspace,
|
|
162
174
|
)
|
|
163
175
|
from sempy_labs._notebooks import (
|
|
164
176
|
get_notebook_definition,
|
|
@@ -174,6 +186,9 @@ from sempy_labs._sql import (
|
|
|
174
186
|
from sempy_labs._sqldatabase import (
|
|
175
187
|
get_sql_database_columns,
|
|
176
188
|
get_sql_database_tables,
|
|
189
|
+
create_sql_database,
|
|
190
|
+
delete_sql_database,
|
|
191
|
+
list_sql_databases,
|
|
177
192
|
)
|
|
178
193
|
from sempy_labs._workspace_identity import (
|
|
179
194
|
provision_workspace_identity,
|
|
@@ -193,6 +208,8 @@ from sempy_labs._git import (
|
|
|
193
208
|
connect_workspace_to_azure_dev_ops,
|
|
194
209
|
connect_workspace_to_github,
|
|
195
210
|
disconnect_workspace_from_git,
|
|
211
|
+
get_my_git_credentials,
|
|
212
|
+
update_my_git_credentials,
|
|
196
213
|
)
|
|
197
214
|
from sempy_labs._dataflows import (
|
|
198
215
|
list_dataflow_storage_accounts,
|
|
@@ -226,6 +243,9 @@ from sempy_labs._generate_semantic_model import (
|
|
|
226
243
|
update_semantic_model_from_bim,
|
|
227
244
|
get_semantic_model_definition,
|
|
228
245
|
)
|
|
246
|
+
from sempy_labs._dashboards import (
|
|
247
|
+
list_dashboards,
|
|
248
|
+
)
|
|
229
249
|
from sempy_labs._list_functions import (
|
|
230
250
|
list_reports_using_semantic_model,
|
|
231
251
|
list_semantic_model_object_report_usage,
|
|
@@ -233,8 +253,6 @@ from sempy_labs._list_functions import (
|
|
|
233
253
|
list_semantic_model_objects,
|
|
234
254
|
list_shortcuts,
|
|
235
255
|
get_object_level_security,
|
|
236
|
-
list_capacities,
|
|
237
|
-
list_dashboards,
|
|
238
256
|
list_datamarts,
|
|
239
257
|
list_lakehouses,
|
|
240
258
|
list_sql_endpoints,
|
|
@@ -425,7 +443,7 @@ __all__ = [
|
|
|
425
443
|
"convert_to_friendly_case",
|
|
426
444
|
"list_mirrored_warehouses",
|
|
427
445
|
"list_kql_databases",
|
|
428
|
-
"create_kql_database",
|
|
446
|
+
# "create_kql_database",
|
|
429
447
|
"delete_kql_database",
|
|
430
448
|
"create_eventhouse",
|
|
431
449
|
"list_eventhouses",
|
|
@@ -525,4 +543,15 @@ __all__ = [
|
|
|
525
543
|
"create_item_schedule_cron",
|
|
526
544
|
"create_item_schedule_daily",
|
|
527
545
|
"create_item_schedule_weekly",
|
|
546
|
+
"get_my_git_credentials",
|
|
547
|
+
"update_my_git_credentials",
|
|
548
|
+
"list_mounted_data_factories",
|
|
549
|
+
"get_mounted_data_factory_definition",
|
|
550
|
+
"delete_mounted_data_factory",
|
|
551
|
+
"generate_dax_query_view_url",
|
|
552
|
+
"delete_semantic_model",
|
|
553
|
+
"delete_workspace",
|
|
554
|
+
"create_sql_database",
|
|
555
|
+
"delete_sql_database",
|
|
556
|
+
"list_sql_databases",
|
|
528
557
|
]
|
|
@@ -242,7 +242,7 @@ def list_vcores() -> pd.DataFrame:
|
|
|
242
242
|
|
|
243
243
|
def get_capacity_resource_governance(capacity_name: str):
|
|
244
244
|
|
|
245
|
-
dfC =
|
|
245
|
+
dfC = list_capacities()
|
|
246
246
|
dfC_filt = dfC[dfC["Display Name"] == capacity_name]
|
|
247
247
|
capacity_id = dfC_filt["Id"].iloc[0].upper()
|
|
248
248
|
|
|
@@ -256,7 +256,6 @@ def suspend_fabric_capacity(
|
|
|
256
256
|
capacity_name: str,
|
|
257
257
|
azure_subscription_id: str,
|
|
258
258
|
resource_group: str,
|
|
259
|
-
**kwargs,
|
|
260
259
|
):
|
|
261
260
|
"""
|
|
262
261
|
This function suspends a Fabric capacity.
|
|
@@ -275,26 +274,9 @@ def suspend_fabric_capacity(
|
|
|
275
274
|
The name of the Azure resource group.
|
|
276
275
|
"""
|
|
277
276
|
|
|
278
|
-
token_provider = auth.token_provider.get()
|
|
279
|
-
if token_provider is None:
|
|
280
|
-
token_provider = ServicePrincipalTokenProvider.from_azure_key_vault(
|
|
281
|
-
key_vault_uri=kwargs["key_vault_uri"],
|
|
282
|
-
key_vault_tenant_id=kwargs["key_vault_tenant_id"],
|
|
283
|
-
key_vault_client_id=kwargs["key_vault_client_id"],
|
|
284
|
-
key_vault_client_secret=kwargs["key_vault_client_secret"],
|
|
285
|
-
)
|
|
286
|
-
print(
|
|
287
|
-
f"{icons.info} Please use the 'token_provider' parameter instead of the key vault parameters within this function as the key vault parameters have been deprecated."
|
|
288
|
-
)
|
|
289
|
-
|
|
290
|
-
headers = _get_headers(token_provider, audience="azure")
|
|
291
|
-
|
|
292
277
|
url = f"https://management.azure.com/subscriptions/{azure_subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Fabric/capacities/{capacity_name}/suspend?api-version={icons.azure_api_version}"
|
|
293
278
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
if response.status_code != 202:
|
|
297
|
-
raise FabricHTTPException(response)
|
|
279
|
+
_base_api(request=url, client="azure", method="post", status_codes=202)
|
|
298
280
|
|
|
299
281
|
print(f"{icons.green_dot} The '{capacity_name}' capacity has been suspended.")
|
|
300
282
|
|
|
@@ -304,7 +286,6 @@ def resume_fabric_capacity(
|
|
|
304
286
|
capacity_name: str,
|
|
305
287
|
azure_subscription_id: str,
|
|
306
288
|
resource_group: str,
|
|
307
|
-
**kwargs,
|
|
308
289
|
):
|
|
309
290
|
"""
|
|
310
291
|
This function resumes a Fabric capacity.
|
|
@@ -323,26 +304,9 @@ def resume_fabric_capacity(
|
|
|
323
304
|
The name of the Azure resource group.
|
|
324
305
|
"""
|
|
325
306
|
|
|
326
|
-
token_provider = auth.token_provider.get()
|
|
327
|
-
if token_provider is None:
|
|
328
|
-
token_provider = ServicePrincipalTokenProvider.from_azure_key_vault(
|
|
329
|
-
key_vault_uri=kwargs["key_vault_uri"],
|
|
330
|
-
key_vault_tenant_id=kwargs["key_vault_tenant_id"],
|
|
331
|
-
key_vault_client_id=kwargs["key_vault_client_id"],
|
|
332
|
-
key_vault_client_secret=kwargs["key_vault_client_secret"],
|
|
333
|
-
)
|
|
334
|
-
print(
|
|
335
|
-
f"{icons.info} Please use the 'token_provider' parameter instead of the key vault parameters within this function as the key vault parameters have been deprecated."
|
|
336
|
-
)
|
|
337
|
-
|
|
338
|
-
headers = _get_headers(token_provider, audience="azure")
|
|
339
|
-
|
|
340
307
|
url = f"https://management.azure.com/subscriptions/{azure_subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Fabric/capacities/{capacity_name}/resume?api-version={icons.azure_api_version}"
|
|
341
308
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
if response.status_code != 202:
|
|
345
|
-
raise FabricHTTPException(response)
|
|
309
|
+
_base_api(request=url, client="azure", method="post", status_codes=202)
|
|
346
310
|
|
|
347
311
|
print(f"{icons.green_dot} The '{capacity_name}' capacity has been resumed.")
|
|
348
312
|
|
|
@@ -352,7 +316,6 @@ def delete_embedded_capacity(
|
|
|
352
316
|
capacity_name: str,
|
|
353
317
|
azure_subscription_id: str,
|
|
354
318
|
resource_group: str,
|
|
355
|
-
**kwargs,
|
|
356
319
|
):
|
|
357
320
|
"""
|
|
358
321
|
This function deletes a Power BI Embedded capacity.
|
|
@@ -369,53 +332,36 @@ def delete_embedded_capacity(
|
|
|
369
332
|
The name of the Azure resource group.
|
|
370
333
|
"""
|
|
371
334
|
|
|
372
|
-
token_provider = auth.token_provider.get()
|
|
373
|
-
if token_provider is None:
|
|
374
|
-
token_provider = ServicePrincipalTokenProvider.from_azure_key_vault(
|
|
375
|
-
key_vault_uri=kwargs["key_vault_uri"],
|
|
376
|
-
key_vault_tenant_id=kwargs["key_vault_tenant_id"],
|
|
377
|
-
key_vault_client_id=kwargs["key_vault_client_id"],
|
|
378
|
-
key_vault_client_secret=kwargs["key_vault_client_secret"],
|
|
379
|
-
)
|
|
380
|
-
print(
|
|
381
|
-
f"{icons.info} Please use the 'token_provider' parameter instead of the key vault parameters within this function as the key vault parameters have been deprecated."
|
|
382
|
-
)
|
|
383
|
-
|
|
384
|
-
headers = _get_headers(token_provider, audience="azure")
|
|
385
|
-
|
|
386
335
|
url = f"https://management.azure.com/subscriptions/{azure_subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.PowerBIDedicated/capacities/{capacity_name}?api-version={icons.azure_api_version}"
|
|
387
336
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
if response.status_code not in [200, 202]:
|
|
391
|
-
raise FabricHTTPException(response)
|
|
337
|
+
_base_api(request=url, client="azure", method="delete", status_codes=[200, 202])
|
|
392
338
|
|
|
393
339
|
print(f"{icons.green_dot} The '{capacity_name}' capacity has been deleted.")
|
|
394
340
|
|
|
395
341
|
|
|
396
342
|
@log
|
|
397
|
-
def delete_premium_capacity(
|
|
343
|
+
def delete_premium_capacity(capacity: str | UUID, **kwargs):
|
|
398
344
|
"""
|
|
399
345
|
This function deletes a Power BI Premium capacity.
|
|
400
346
|
|
|
401
347
|
Parameters
|
|
402
348
|
----------
|
|
403
|
-
|
|
404
|
-
Name of the Fabric capacity.
|
|
349
|
+
capacity : str | uuid.UUID
|
|
350
|
+
Name or ID of the Fabric capacity.
|
|
405
351
|
"""
|
|
352
|
+
from sempy_labs._helper_functions import resolve_capacity_id
|
|
406
353
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
raise ValueError(
|
|
412
|
-
f"{icons.red_dot} The '{capacity_name}' capacity does not exist."
|
|
354
|
+
if "capacity_name" in kwargs:
|
|
355
|
+
capacity = kwargs["capacity_name"]
|
|
356
|
+
print(
|
|
357
|
+
f"{icons.warning} The 'capacity_name' parameter is deprecated. Please use 'capacity' instead."
|
|
413
358
|
)
|
|
414
|
-
|
|
359
|
+
|
|
360
|
+
capacity_id = resolve_capacity_id(capacity=capacity).upper()
|
|
415
361
|
|
|
416
362
|
_base_api(request=f"capacities/{capacity_id}", method="delete", status_codes=204)
|
|
417
363
|
|
|
418
|
-
print(f"{icons.green_dot} The '{
|
|
364
|
+
print(f"{icons.green_dot} The '{capacity}' capacity has been deleted.")
|
|
419
365
|
|
|
420
366
|
|
|
421
367
|
@log
|
|
@@ -423,7 +369,6 @@ def delete_fabric_capacity(
|
|
|
423
369
|
capacity_name: str,
|
|
424
370
|
azure_subscription_id: str,
|
|
425
371
|
resource_group: str,
|
|
426
|
-
**kwargs,
|
|
427
372
|
):
|
|
428
373
|
"""
|
|
429
374
|
This function deletes a Fabric capacity.
|
|
@@ -442,26 +387,9 @@ def delete_fabric_capacity(
|
|
|
442
387
|
The name of the Azure resource group.
|
|
443
388
|
"""
|
|
444
389
|
|
|
445
|
-
token_provider = auth.token_provider.get()
|
|
446
|
-
if token_provider is None:
|
|
447
|
-
token_provider = ServicePrincipalTokenProvider.from_azure_key_vault(
|
|
448
|
-
key_vault_uri=kwargs["key_vault_uri"],
|
|
449
|
-
key_vault_tenant_id=kwargs["key_vault_tenant_id"],
|
|
450
|
-
key_vault_client_id=kwargs["key_vault_client_id"],
|
|
451
|
-
key_vault_client_secret=kwargs["key_vault_client_secret"],
|
|
452
|
-
)
|
|
453
|
-
print(
|
|
454
|
-
f"{icons.info} Please use the 'token_provider' parameter instead of the key vault parameters within this function as the key vault parameters have been deprecated."
|
|
455
|
-
)
|
|
456
|
-
|
|
457
|
-
headers = _get_headers(token_provider, audience="azure")
|
|
458
|
-
|
|
459
390
|
url = f"https://management.azure.com/subscriptions/{azure_subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Fabric/capacities/{capacity_name}?api-version={icons.azure_api_version}"
|
|
460
391
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
if response.status_code != 202:
|
|
464
|
-
raise FabricHTTPException(response)
|
|
392
|
+
_base_api(request=url, client="azure", method="delete", status_codes=202)
|
|
465
393
|
|
|
466
394
|
print(f"{icons.green_dot} The '{capacity_name}' capacity has been deleted.")
|
|
467
395
|
|
|
@@ -474,7 +402,6 @@ def update_fabric_capacity(
|
|
|
474
402
|
sku: Optional[str] = None,
|
|
475
403
|
admin_members: Optional[str | List[str]] = None,
|
|
476
404
|
tags: Optional[dict] = None,
|
|
477
|
-
**kwargs,
|
|
478
405
|
):
|
|
479
406
|
"""
|
|
480
407
|
This function updates a Fabric capacity's properties.
|
|
@@ -499,25 +426,9 @@ def update_fabric_capacity(
|
|
|
499
426
|
Tag(s) to add to the capacity. Example: {'tagName': 'tagValue'}.
|
|
500
427
|
"""
|
|
501
428
|
|
|
502
|
-
token_provider = auth.token_provider.get()
|
|
503
|
-
if token_provider is None:
|
|
504
|
-
token_provider = ServicePrincipalTokenProvider.from_azure_key_vault(
|
|
505
|
-
key_vault_uri=kwargs["key_vault_uri"],
|
|
506
|
-
key_vault_tenant_id=kwargs["key_vault_tenant_id"],
|
|
507
|
-
key_vault_client_id=kwargs["key_vault_client_id"],
|
|
508
|
-
key_vault_client_secret=kwargs["key_vault_client_secret"],
|
|
509
|
-
)
|
|
510
|
-
print(
|
|
511
|
-
f"{icons.info} Please use the 'token_provider' parameter instead of the key vault parameters within this function as the key vault parameters have been deprecated."
|
|
512
|
-
)
|
|
513
|
-
|
|
514
|
-
headers = _get_headers(token_provider, audience="azure")
|
|
515
|
-
|
|
516
429
|
url = f"https://management.azure.com/subscriptions/{azure_subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Fabric/capacities/{capacity_name}?api-version={icons.azure_api_version}"
|
|
517
430
|
|
|
518
|
-
get_response =
|
|
519
|
-
if get_response.status_code != 200:
|
|
520
|
-
raise FabricHTTPException(get_response)
|
|
431
|
+
get_response = _base_api(request=url, client="azure")
|
|
521
432
|
|
|
522
433
|
get_json = get_response.json()
|
|
523
434
|
current_sku = get_json.get("sku", {}).get("name")
|
|
@@ -549,10 +460,9 @@ def update_fabric_capacity(
|
|
|
549
460
|
return
|
|
550
461
|
|
|
551
462
|
payload = _add_sll_tag(payload, tags)
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
raise FabricHTTPException(response)
|
|
463
|
+
_base_api(
|
|
464
|
+
request=url, client="azure", method="patch", payload=payload, status_codes=202
|
|
465
|
+
)
|
|
556
466
|
|
|
557
467
|
print(
|
|
558
468
|
f"{icons.green_dot} The '{capacity_name}' capacity has been updated accordingly."
|
|
@@ -588,28 +498,13 @@ def check_fabric_capacity_name_availablility(
|
|
|
588
498
|
An indication as to whether the Fabric capacity name is available or not.
|
|
589
499
|
"""
|
|
590
500
|
|
|
591
|
-
token_provider = auth.token_provider.get()
|
|
592
|
-
if token_provider is None:
|
|
593
|
-
token_provider = ServicePrincipalTokenProvider.from_azure_key_vault(
|
|
594
|
-
key_vault_uri=kwargs["key_vault_uri"],
|
|
595
|
-
key_vault_tenant_id=kwargs["key_vault_tenant_id"],
|
|
596
|
-
key_vault_client_id=kwargs["key_vault_client_id"],
|
|
597
|
-
key_vault_client_secret=kwargs["key_vault_client_secret"],
|
|
598
|
-
)
|
|
599
|
-
print(
|
|
600
|
-
f"{icons.info} Please use the 'token_provider' parameter instead of the key vault parameters within this function as the key vault parameters have been deprecated."
|
|
601
|
-
)
|
|
602
|
-
|
|
603
|
-
headers = _get_headers(token_provider, audience="azure")
|
|
604
|
-
|
|
605
501
|
payload = {"name": capacity_name, "type": "Microsoft.Fabric/capacities"}
|
|
606
502
|
|
|
607
503
|
url = f"https://management.azure.com/subscriptions/{azure_subscription_id}/providers/Microsoft.Fabric/locations/{region}/checkNameAvailability?api-version={icons.azure_api_version}"
|
|
608
504
|
|
|
609
|
-
response =
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
raise FabricHTTPException(response)
|
|
505
|
+
response = _base_api(
|
|
506
|
+
request=url, client="azure", method="post", payload=payload, status_codes=202
|
|
507
|
+
)
|
|
613
508
|
|
|
614
509
|
return bool(response.json().get("nameAvailable"))
|
|
615
510
|
|
|
@@ -1236,3 +1131,39 @@ def get_resource_group(azure_subscription_id: str, resource_group: str) -> pd.Da
|
|
|
1236
1131
|
}
|
|
1237
1132
|
|
|
1238
1133
|
return pd.DataFrame(new_data, index=[0])
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
def list_capacities() -> pd.DataFrame:
|
|
1137
|
+
"""
|
|
1138
|
+
Shows the capacities and their properties.
|
|
1139
|
+
|
|
1140
|
+
Returns
|
|
1141
|
+
-------
|
|
1142
|
+
pandas.DataFrame
|
|
1143
|
+
A pandas dataframe showing the capacities and their properties
|
|
1144
|
+
"""
|
|
1145
|
+
|
|
1146
|
+
columns = {
|
|
1147
|
+
"Id": "string",
|
|
1148
|
+
"Display Name": "string",
|
|
1149
|
+
"Sku": "string",
|
|
1150
|
+
"Region": "string",
|
|
1151
|
+
"State": "string",
|
|
1152
|
+
"Admins": "string",
|
|
1153
|
+
}
|
|
1154
|
+
df = _create_dataframe(columns=columns)
|
|
1155
|
+
|
|
1156
|
+
response = _base_api(request="/v1.0/myorg/capacities", client="fabric_sp")
|
|
1157
|
+
|
|
1158
|
+
for i in response.json().get("value", []):
|
|
1159
|
+
new_data = {
|
|
1160
|
+
"Id": i.get("id").lower(),
|
|
1161
|
+
"Display Name": i.get("displayName"),
|
|
1162
|
+
"Sku": i.get("sku"),
|
|
1163
|
+
"Region": i.get("region"),
|
|
1164
|
+
"State": i.get("state"),
|
|
1165
|
+
"Admins": [i.get("admins", [])],
|
|
1166
|
+
}
|
|
1167
|
+
df = pd.concat([df, pd.DataFrame(new_data, index=[0])], ignore_index=True)
|
|
1168
|
+
|
|
1169
|
+
return df
|