semantic-link-labs 0.12.3__tar.gz → 0.12.4__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.12.3 → semantic_link_labs-0.12.4}/PKG-INFO +4 -3
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/README.md +2 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/docs/source/conf.py +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/environment.yml +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/pyproject.toml +2 -2
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/PKG-INFO +4 -3
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/SOURCES.txt +7 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/requires.txt +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/__init__.py +10 -8
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_a_lib_info.py +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_authentication.py +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_capacities.py +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_git.py +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_helper_functions.py +27 -4
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_list_functions.py +55 -5
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_managed_private_endpoints.py +1 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_notebooks.py +4 -2
- semantic_link_labs-0.12.4/src/sempy_labs/_sql_audit_settings.py +208 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_sql_endpoints.py +18 -3
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_utils.py +2 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/__init__.py +6 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_items.py +3 -3
- semantic_link_labs-0.12.4/src/sempy_labs/admin/_labels.py +211 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_warm_cache.py +3 -1
- semantic_link_labs-0.12.4/src/sempy_labs/eventstream/__init__.py +37 -0
- semantic_link_labs-0.12.4/src/sempy_labs/eventstream/_items.py +263 -0
- semantic_link_labs-0.12.4/src/sempy_labs/eventstream/_topology.py +652 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/graph/__init__.py +8 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/graph/_groups.py +60 -53
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/graph/_sensitivity_labels.py +39 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/graph/_teams.py +19 -18
- semantic_link_labs-0.12.4/src/sempy_labs/graph/_user_licenses.py +96 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/graph/_users.py +23 -16
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +33 -1
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_lakehouse.py +6 -2
- semantic_link_labs-0.12.4/src/sempy_labs/lakehouse/_partitioning.py +165 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_reportwrapper.py +15 -5
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/tom/_model.py +81 -4
- semantic_link_labs-0.12.3/src/sempy_labs/_eventstreams.py +0 -123
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.github/workflows/build.yaml +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.github/workflows/codeql.yaml +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.gitignore +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.readthedocs.yaml +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/.vscode/settings.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/CODE_OF_CONDUCT.md +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/LICENSE +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/SECURITY.md +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/SUPPORT.md +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/docs/Makefile +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/docs/make.bat +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/docs/requirements.txt +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/docs/source/index.rst +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/docs/source/modules.rst +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Capacity Migration.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Delta Analyzer.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Migration to Direct Lake.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Model Optimization.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Query Scale Out.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Report Analysis.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/SQL.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Semantic Model Management.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Semantic Model Refresh.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Service Principal.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/notebooks/Tabular Object Model.ipynb +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/setup.cfg +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_ai.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_capacity_migration.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_clear_cache.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_connections.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_dashboards.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_data_access_security.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_data_pipelines.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_dataflows.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_dax.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_daxformatter.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_delta_analyzer.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_delta_analyzer_history.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_deployment_pipelines.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_dictionary_diffs.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_documentation.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_environments.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_eventhouses.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_external_data_shares.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_gateways.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_generate_semantic_model.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_get_connection_string.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_graphQL.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_icons.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_job_scheduler.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_kql_databases.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_kql_querysets.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_kusto.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_labels.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_mirrored_databases.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_mirrored_warehouses.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_ml_experiments.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_model_auto_build.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_model_bpa.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_model_bpa_bulk.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_model_bpa_rules.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_model_dependencies.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_mounted_data_factories.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_one_lake_integration.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_query_scale_out.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_refresh_semantic_model.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_semantic_models.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_spark.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_sql.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_sqldatabase.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_tags.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_translations.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_user_delegation_key.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_vertipaq.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_vpax.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_warehouses.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_workloads.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_workspace_identity.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_workspaces.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_activities.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_apps.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_artifacts.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_basic_functions.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_capacities.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_dataflows.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_datasets.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_domains.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_external_data_share.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_git.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_reports.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_scanner.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_shared.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_sharing_links.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_tags.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_tenant.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_tenant_keys.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_users.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/admin/_workspaces.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_directlake_schema_compare.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_directlake_schema_sync.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_dl_helper.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_generate_shared_expression.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_guardrails.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/dotnet_lib/dotnet.runtime.config.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_blobs.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_helper.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_livy_sessions.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_materialized_lake_views.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/lakehouse/_shortcuts.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_create_pqt_file.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_direct_lake_to_import.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_migration_validation.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/mirrored_azure_databricks_catalog/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/mirrored_azure_databricks_catalog/_discover.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/mirrored_azure_databricks_catalog/_refresh_catalog_metadata.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/ml_model/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/ml_model/_functions.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_download_report.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_export_report.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_generate_report.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_paginated.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_report_bpa.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_report_functions.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_report_helper.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_report_list_functions.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_report_rebind.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/report/_save_report.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/theme/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/theme/_org_themes.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/tom/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/variable_library/__init__.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/variable_library/_functions.py +0 -0
- {semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/tests/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.4
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -15,7 +15,7 @@ Classifier: Framework :: Jupyter
|
|
|
15
15
|
Requires-Python: <3.12,>=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: semantic-link-sempy>=0.12.
|
|
18
|
+
Requires-Dist: semantic-link-sempy>=0.12.1
|
|
19
19
|
Requires-Dist: anytree
|
|
20
20
|
Requires-Dist: polib
|
|
21
21
|
Requires-Dist: jsonpath_ng
|
|
@@ -26,7 +26,7 @@ Dynamic: license-file
|
|
|
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
|
|
|
@@ -154,6 +154,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
154
154
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
155
155
|
|
|
156
156
|
## Version History
|
|
157
|
+
* [0.12.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.4) (October 16, 2025)
|
|
157
158
|
* [0.12.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.3) (September 17, 2025)
|
|
158
159
|
* [0.12.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.2) (September 12, 2025)
|
|
159
160
|
* [0.12.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.1) (September 4, 2025)
|
|
@@ -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
|
|
|
@@ -129,6 +129,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
129
129
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
130
130
|
|
|
131
131
|
## Version History
|
|
132
|
+
* [0.12.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.4) (October 16, 2025)
|
|
132
133
|
* [0.12.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.3) (September 17, 2025)
|
|
133
134
|
* [0.12.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.2) (September 12, 2025)
|
|
134
135
|
* [0.12.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.1) (September 4, 2025)
|
|
@@ -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.12.
|
|
16
|
+
release = '0.12.4'
|
|
17
17
|
|
|
18
18
|
# -- General configuration ---------------------------------------------------
|
|
19
19
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
@@ -7,7 +7,7 @@ name="semantic-link-labs"
|
|
|
7
7
|
authors = [
|
|
8
8
|
{ name = "Microsoft Corporation" },
|
|
9
9
|
]
|
|
10
|
-
version="0.12.
|
|
10
|
+
version="0.12.4"
|
|
11
11
|
description="Semantic Link Labs for Microsoft Fabric"
|
|
12
12
|
readme="README.md"
|
|
13
13
|
requires-python=">=3.10,<3.12"
|
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
|
23
23
|
license= { text = "MIT License" }
|
|
24
24
|
|
|
25
25
|
dependencies = [
|
|
26
|
-
"semantic-link-sempy>=0.12.
|
|
26
|
+
"semantic-link-sempy>=0.12.1",
|
|
27
27
|
"anytree",
|
|
28
28
|
"polib",
|
|
29
29
|
"jsonpath_ng",
|
{semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.4
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -15,7 +15,7 @@ Classifier: Framework :: Jupyter
|
|
|
15
15
|
Requires-Python: <3.12,>=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: semantic-link-sempy>=0.12.
|
|
18
|
+
Requires-Dist: semantic-link-sempy>=0.12.1
|
|
19
19
|
Requires-Dist: anytree
|
|
20
20
|
Requires-Dist: polib
|
|
21
21
|
Requires-Dist: jsonpath_ng
|
|
@@ -26,7 +26,7 @@ Dynamic: license-file
|
|
|
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
|
|
|
@@ -154,6 +154,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
154
154
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
155
155
|
|
|
156
156
|
## Version History
|
|
157
|
+
* [0.12.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.4) (October 16, 2025)
|
|
157
158
|
* [0.12.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.3) (September 17, 2025)
|
|
158
159
|
* [0.12.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.2) (September 12, 2025)
|
|
159
160
|
* [0.12.1](https://github.com/microsoft/semantic-link-labs/releases/tag/0.12.1) (September 4, 2025)
|
{semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/semantic_link_labs.egg-info/SOURCES.txt
RENAMED
|
@@ -57,7 +57,6 @@ src/sempy_labs/_dictionary_diffs.py
|
|
|
57
57
|
src/sempy_labs/_documentation.py
|
|
58
58
|
src/sempy_labs/_environments.py
|
|
59
59
|
src/sempy_labs/_eventhouses.py
|
|
60
|
-
src/sempy_labs/_eventstreams.py
|
|
61
60
|
src/sempy_labs/_external_data_shares.py
|
|
62
61
|
src/sempy_labs/_gateways.py
|
|
63
62
|
src/sempy_labs/_generate_semantic_model.py
|
|
@@ -89,6 +88,7 @@ src/sempy_labs/_refresh_semantic_model.py
|
|
|
89
88
|
src/sempy_labs/_semantic_models.py
|
|
90
89
|
src/sempy_labs/_spark.py
|
|
91
90
|
src/sempy_labs/_sql.py
|
|
91
|
+
src/sempy_labs/_sql_audit_settings.py
|
|
92
92
|
src/sempy_labs/_sql_endpoints.py
|
|
93
93
|
src/sempy_labs/_sqldatabase.py
|
|
94
94
|
src/sempy_labs/_tags.py
|
|
@@ -151,6 +151,7 @@ src/sempy_labs/admin/_domains.py
|
|
|
151
151
|
src/sempy_labs/admin/_external_data_share.py
|
|
152
152
|
src/sempy_labs/admin/_git.py
|
|
153
153
|
src/sempy_labs/admin/_items.py
|
|
154
|
+
src/sempy_labs/admin/_labels.py
|
|
154
155
|
src/sempy_labs/admin/_reports.py
|
|
155
156
|
src/sempy_labs/admin/_scanner.py
|
|
156
157
|
src/sempy_labs/admin/_shared.py
|
|
@@ -174,10 +175,14 @@ src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py
|
|
|
174
175
|
src/sempy_labs/directlake/_update_directlake_partition_entity.py
|
|
175
176
|
src/sempy_labs/directlake/_warm_cache.py
|
|
176
177
|
src/sempy_labs/dotnet_lib/dotnet.runtime.config.json
|
|
178
|
+
src/sempy_labs/eventstream/__init__.py
|
|
179
|
+
src/sempy_labs/eventstream/_items.py
|
|
180
|
+
src/sempy_labs/eventstream/_topology.py
|
|
177
181
|
src/sempy_labs/graph/__init__.py
|
|
178
182
|
src/sempy_labs/graph/_groups.py
|
|
179
183
|
src/sempy_labs/graph/_sensitivity_labels.py
|
|
180
184
|
src/sempy_labs/graph/_teams.py
|
|
185
|
+
src/sempy_labs/graph/_user_licenses.py
|
|
181
186
|
src/sempy_labs/graph/_users.py
|
|
182
187
|
src/sempy_labs/lakehouse/__init__.py
|
|
183
188
|
src/sempy_labs/lakehouse/_blobs.py
|
|
@@ -187,6 +192,7 @@ src/sempy_labs/lakehouse/_helper.py
|
|
|
187
192
|
src/sempy_labs/lakehouse/_lakehouse.py
|
|
188
193
|
src/sempy_labs/lakehouse/_livy_sessions.py
|
|
189
194
|
src/sempy_labs/lakehouse/_materialized_lake_views.py
|
|
195
|
+
src/sempy_labs/lakehouse/_partitioning.py
|
|
190
196
|
src/sempy_labs/lakehouse/_shortcuts.py
|
|
191
197
|
src/sempy_labs/migration/__init__.py
|
|
192
198
|
src/sempy_labs/migration/_create_pqt_file.py
|
|
@@ -115,11 +115,6 @@ from ._eventhouses import (
|
|
|
115
115
|
delete_eventhouse,
|
|
116
116
|
get_eventhouse_definition,
|
|
117
117
|
)
|
|
118
|
-
from ._eventstreams import (
|
|
119
|
-
list_eventstreams,
|
|
120
|
-
create_eventstream,
|
|
121
|
-
delete_eventstream,
|
|
122
|
-
)
|
|
123
118
|
from ._kql_querysets import (
|
|
124
119
|
list_kql_querysets,
|
|
125
120
|
create_kql_queryset,
|
|
@@ -284,6 +279,7 @@ from ._list_functions import (
|
|
|
284
279
|
list_server_properties,
|
|
285
280
|
list_semantic_model_errors,
|
|
286
281
|
list_synonyms,
|
|
282
|
+
list_user_defined_functions,
|
|
287
283
|
)
|
|
288
284
|
from ._helper_functions import (
|
|
289
285
|
get_item_definition,
|
|
@@ -355,6 +351,11 @@ from ._data_access_security import (
|
|
|
355
351
|
from ._get_connection_string import (
|
|
356
352
|
get_connection_string,
|
|
357
353
|
)
|
|
354
|
+
from ._sql_audit_settings import (
|
|
355
|
+
get_sql_audit_settings,
|
|
356
|
+
update_sql_audit_settings,
|
|
357
|
+
set_audit_actions_and_group,
|
|
358
|
+
)
|
|
358
359
|
|
|
359
360
|
__all__ = [
|
|
360
361
|
"resolve_warehouse_id",
|
|
@@ -486,9 +487,6 @@ __all__ = [
|
|
|
486
487
|
"list_data_pipelines",
|
|
487
488
|
"create_data_pipeline",
|
|
488
489
|
"delete_data_pipeline",
|
|
489
|
-
"list_eventstreams",
|
|
490
|
-
"create_eventstream",
|
|
491
|
-
"delete_eventstream",
|
|
492
490
|
"list_kql_querysets",
|
|
493
491
|
"create_kql_queryset",
|
|
494
492
|
"delete_kql_queryset",
|
|
@@ -611,4 +609,8 @@ __all__ = [
|
|
|
611
609
|
"list_data_access_roles",
|
|
612
610
|
"bind_semantic_model_connection",
|
|
613
611
|
"unbind_semantic_model_connection",
|
|
612
|
+
"list_user_defined_functions",
|
|
613
|
+
"get_sql_audit_settings",
|
|
614
|
+
"update_sql_audit_settings",
|
|
615
|
+
"set_audit_actions_and_group",
|
|
614
616
|
]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
lib_name = "semanticlinklabs"
|
|
2
|
-
lib_version = "0.12.
|
|
2
|
+
lib_version = "0.12.4"
|
|
@@ -130,7 +130,7 @@ class ServicePrincipalTokenProvider(TokenCredential):
|
|
|
130
130
|
if audience not in self._shorthand_scopes:
|
|
131
131
|
raise NotImplementedError
|
|
132
132
|
|
|
133
|
-
return self.get_token(audience).token
|
|
133
|
+
return self.get_token(audience, region=region).token
|
|
134
134
|
|
|
135
135
|
def get_token(self, *scopes, **kwargs) -> AccessToken:
|
|
136
136
|
"""
|
|
@@ -876,7 +876,7 @@ def create_storage_account(
|
|
|
876
876
|
"""
|
|
877
877
|
Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.
|
|
878
878
|
|
|
879
|
-
This is a wrapper function for the following API: `Storage Accounts - Create <https://learn.microsoft.com/rest/api/storagerp/storage-accounts/create
|
|
879
|
+
This is a wrapper function for the following API: `Storage Accounts - Create <https://learn.microsoft.com/rest/api/storagerp/storage-accounts/create>`_.
|
|
880
880
|
|
|
881
881
|
Service Principal Authentication is required (see `here <https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Service%20Principal.ipynb>`_ for examples).
|
|
882
882
|
|
|
@@ -157,7 +157,7 @@ def get_git_status(workspace: Optional[str | UUID] = None) -> pd.DataFrame:
|
|
|
157
157
|
"""
|
|
158
158
|
Obtains the Git status of items in the workspace, that can be committed to Git.
|
|
159
159
|
|
|
160
|
-
This is a wrapper function for the following API: `Git - Get Status <https://learn.microsoft.com/rest/api/fabric/core/git/get-status
|
|
160
|
+
This is a wrapper function for the following API: `Git - Get Status <https://learn.microsoft.com/rest/api/fabric/core/git/get-status>`_.
|
|
161
161
|
|
|
162
162
|
Parameters
|
|
163
163
|
----------
|
|
@@ -282,8 +282,7 @@ def create_item(
|
|
|
282
282
|
"""
|
|
283
283
|
|
|
284
284
|
(workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace)
|
|
285
|
-
|
|
286
|
-
item_type_url = utils.item_types.get(type)[1]
|
|
285
|
+
item_type_url = utils.items.get(type)
|
|
287
286
|
|
|
288
287
|
payload = {
|
|
289
288
|
"displayName": name,
|
|
@@ -306,7 +305,7 @@ def create_item(
|
|
|
306
305
|
client="fabric_sp",
|
|
307
306
|
)
|
|
308
307
|
print(
|
|
309
|
-
f"{icons.green_dot} The '{name}' {
|
|
308
|
+
f"{icons.green_dot} The '{name}' {type} has been successfully created within the '{workspace_name}' workspace."
|
|
310
309
|
)
|
|
311
310
|
|
|
312
311
|
|
|
@@ -1619,6 +1618,27 @@ def pagination(client, response):
|
|
|
1619
1618
|
return responses
|
|
1620
1619
|
|
|
1621
1620
|
|
|
1621
|
+
def graph_pagination(response, headers):
|
|
1622
|
+
|
|
1623
|
+
responses = []
|
|
1624
|
+
response_json = response.json()
|
|
1625
|
+
responses.append(response_json)
|
|
1626
|
+
|
|
1627
|
+
# Check for pagination
|
|
1628
|
+
odata_next_link = response_json.get("@odata.nextLink")
|
|
1629
|
+
|
|
1630
|
+
# Loop to handle pagination
|
|
1631
|
+
while odata_next_link is not None:
|
|
1632
|
+
response = requests.get(odata_next_link, headers=headers)
|
|
1633
|
+
response_json = response.json()
|
|
1634
|
+
responses.append(response_json)
|
|
1635
|
+
|
|
1636
|
+
# Update the odata next link for the next iteration
|
|
1637
|
+
odata_next_link = response_json.get("@odata.nextLink")
|
|
1638
|
+
|
|
1639
|
+
return responses
|
|
1640
|
+
|
|
1641
|
+
|
|
1622
1642
|
def resolve_deployment_pipeline_id(deployment_pipeline: str | UUID) -> UUID:
|
|
1623
1643
|
"""
|
|
1624
1644
|
Obtains the Id for a given deployment pipeline.
|
|
@@ -2254,7 +2274,10 @@ def _base_api(
|
|
|
2254
2274
|
if response.status_code not in status_codes:
|
|
2255
2275
|
raise FabricHTTPException(response)
|
|
2256
2276
|
if uses_pagination:
|
|
2257
|
-
|
|
2277
|
+
if client == "graph":
|
|
2278
|
+
responses = graph_pagination(response, headers)
|
|
2279
|
+
else:
|
|
2280
|
+
responses = pagination(c, response)
|
|
2258
2281
|
return responses
|
|
2259
2282
|
else:
|
|
2260
2283
|
return response
|
|
@@ -756,6 +756,53 @@ def update_item(
|
|
|
756
756
|
)
|
|
757
757
|
|
|
758
758
|
|
|
759
|
+
@log
|
|
760
|
+
def list_user_defined_functions(
|
|
761
|
+
dataset: str | UUID, workspace: Optional[str | UUID] = None
|
|
762
|
+
) -> pd.DataFrame:
|
|
763
|
+
"""
|
|
764
|
+
Shows a list of the user-defined functions within a semantic model.
|
|
765
|
+
|
|
766
|
+
Parameters
|
|
767
|
+
----------
|
|
768
|
+
dataset: str | uuid.UUID
|
|
769
|
+
Name or UUID of the semantic model.
|
|
770
|
+
workspace : str | uuid.UUID, default=None
|
|
771
|
+
The Fabric workspace name or ID.
|
|
772
|
+
Defaults to None which resolves to the workspace of the attached lakehouse
|
|
773
|
+
or if no lakehouse attached, resolves to the workspace of the notebook.
|
|
774
|
+
|
|
775
|
+
Returns
|
|
776
|
+
-------
|
|
777
|
+
pandas.DataFrame
|
|
778
|
+
A pandas dataframe showing a list of the user-defined functions within a semantic model.
|
|
779
|
+
"""
|
|
780
|
+
|
|
781
|
+
from sempy_labs.tom import connect_semantic_model
|
|
782
|
+
|
|
783
|
+
columns = {
|
|
784
|
+
"Function Name": "string",
|
|
785
|
+
"Expression": "string",
|
|
786
|
+
"Lineage Tag": "string",
|
|
787
|
+
}
|
|
788
|
+
df = _create_dataframe(columns=columns)
|
|
789
|
+
rows = []
|
|
790
|
+
with connect_semantic_model(dataset=dataset, workspace=workspace) as tom:
|
|
791
|
+
for f in tom.model.Functions:
|
|
792
|
+
rows.append(
|
|
793
|
+
{
|
|
794
|
+
"Function Name": f.Name,
|
|
795
|
+
"Expression": f.Expression,
|
|
796
|
+
"Lineage Tag": f.LineageTag,
|
|
797
|
+
}
|
|
798
|
+
)
|
|
799
|
+
|
|
800
|
+
if rows:
|
|
801
|
+
df = pd.DataFrame(rows)
|
|
802
|
+
|
|
803
|
+
return df
|
|
804
|
+
|
|
805
|
+
|
|
759
806
|
@log
|
|
760
807
|
def list_relationships(
|
|
761
808
|
dataset: str | UUID, workspace: Optional[str | UUID] = None, extended: bool = False
|
|
@@ -1484,15 +1531,14 @@ def list_semantic_model_errors(
|
|
|
1484
1531
|
|
|
1485
1532
|
from sempy_labs.tom import connect_semantic_model
|
|
1486
1533
|
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
dataset, workspace=workspace_id
|
|
1534
|
+
df = pd.DataFrame(
|
|
1535
|
+
columns=["Object Type", "Table Name", "Object Name", "Error Message"]
|
|
1490
1536
|
)
|
|
1491
1537
|
|
|
1492
1538
|
error_rows = []
|
|
1493
1539
|
|
|
1494
1540
|
with connect_semantic_model(
|
|
1495
|
-
dataset=
|
|
1541
|
+
dataset=dataset, workspace=workspace, readonly=True
|
|
1496
1542
|
) as tom:
|
|
1497
1543
|
# Define mappings of TOM objects to object types and attributes
|
|
1498
1544
|
error_checks = [
|
|
@@ -1546,6 +1592,7 @@ def list_semantic_model_errors(
|
|
|
1546
1592
|
else ""
|
|
1547
1593
|
),
|
|
1548
1594
|
),
|
|
1595
|
+
("Function", tom.all_functions, lambda o: o.ErrorMessage),
|
|
1549
1596
|
]
|
|
1550
1597
|
|
|
1551
1598
|
# Iterate over all error checks
|
|
@@ -1562,7 +1609,10 @@ def list_semantic_model_errors(
|
|
|
1562
1609
|
}
|
|
1563
1610
|
)
|
|
1564
1611
|
|
|
1565
|
-
|
|
1612
|
+
if error_rows:
|
|
1613
|
+
df = pd.DataFrame(error_rows)
|
|
1614
|
+
|
|
1615
|
+
return df
|
|
1566
1616
|
|
|
1567
1617
|
|
|
1568
1618
|
@log
|
{semantic_link_labs-0.12.3 → semantic_link_labs-0.12.4}/src/sempy_labs/_managed_private_endpoints.py
RENAMED
|
@@ -24,7 +24,7 @@ def create_managed_private_endpoint(
|
|
|
24
24
|
"""
|
|
25
25
|
Creates a managed private endpoint.
|
|
26
26
|
|
|
27
|
-
This is a wrapper function for the following API: `Managed Private Endpoints - Create Workspace Managed Private Endpoint <https://learn.microsoft.com/rest/api/fabric/core/managed-private-endpoints/create-workspace-managed-private-endpoint
|
|
27
|
+
This is a wrapper function for the following API: `Managed Private Endpoints - Create Workspace Managed Private Endpoint <https://learn.microsoft.com/rest/api/fabric/core/managed-private-endpoints/create-workspace-managed-private-endpoint>`_.
|
|
28
28
|
|
|
29
29
|
Service Principal Authentication is supported (see `here <https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Service%20Principal.ipynb>`_ for examples).
|
|
30
30
|
|
|
@@ -163,7 +163,7 @@ def import_notebook_from_web(
|
|
|
163
163
|
if len(dfI_filt) == 0:
|
|
164
164
|
create_notebook(
|
|
165
165
|
name=notebook_name,
|
|
166
|
-
notebook_content=response.content,
|
|
166
|
+
notebook_content=response.content.decode("utf-8"),
|
|
167
167
|
workspace=workspace_id,
|
|
168
168
|
description=description,
|
|
169
169
|
format="ipynb",
|
|
@@ -216,7 +216,9 @@ def create_notebook(
|
|
|
216
216
|
Defaults to None which places the notebook in the root of the workspace.
|
|
217
217
|
"""
|
|
218
218
|
|
|
219
|
-
notebook_payload = base64.b64encode(notebook_content
|
|
219
|
+
notebook_payload = base64.b64encode(notebook_content.encode("utf-8")).decode(
|
|
220
|
+
"utf-8"
|
|
221
|
+
)
|
|
220
222
|
|
|
221
223
|
definition_payload = {
|
|
222
224
|
"parts": [
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
from sempy_labs._helper_functions import (
|
|
2
|
+
resolve_item_id,
|
|
3
|
+
resolve_workspace_name_and_id,
|
|
4
|
+
_base_api,
|
|
5
|
+
_create_dataframe,
|
|
6
|
+
_update_dataframe_datatypes,
|
|
7
|
+
resolve_workspace_id,
|
|
8
|
+
resolve_item_name_and_id,
|
|
9
|
+
)
|
|
10
|
+
import pandas as pd
|
|
11
|
+
from typing import Optional, List, Literal
|
|
12
|
+
import sempy_labs._icons as icons
|
|
13
|
+
from uuid import UUID
|
|
14
|
+
from sempy._utils._log import log
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def _get_base_url(item, type, workspace):
|
|
18
|
+
|
|
19
|
+
workspace_id = resolve_workspace_id(workspace)
|
|
20
|
+
item_id = resolve_item_id(item=item, type=type, workspace=workspace)
|
|
21
|
+
|
|
22
|
+
type_dict = {
|
|
23
|
+
"Warehouse": "warehouses",
|
|
24
|
+
"SQLEndpoint": "sqlEndpoints",
|
|
25
|
+
}
|
|
26
|
+
type_for_url = type_dict.get(type)
|
|
27
|
+
|
|
28
|
+
if type in ["SQLEndpoint", "Warehouse"]:
|
|
29
|
+
url = f"/v1/workspaces/{workspace_id}/{type_for_url}/{item_id}"
|
|
30
|
+
else:
|
|
31
|
+
raise ValueError(
|
|
32
|
+
f"{icons.red_dot} The type must be 'Warehouse' or 'SQLEndpoint'."
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
return url
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@log
|
|
39
|
+
def get_sql_audit_settings(
|
|
40
|
+
item: str | UUID,
|
|
41
|
+
type: Literal["Warehouse", "SQLEndpoint"],
|
|
42
|
+
workspace: Optional[str | UUID] = None,
|
|
43
|
+
) -> pd.DataFrame:
|
|
44
|
+
"""
|
|
45
|
+
Shows the SQL audit settings of a Fabric item.
|
|
46
|
+
|
|
47
|
+
This is a wrapper function for the following API: `SQL Audit Settings - Get SQL Audit Settings <https://learn.microsoft.com/rest/api/fabric/warehouse/sql-audit-settings/get-sql-audit-settings>`_.
|
|
48
|
+
|
|
49
|
+
Service Principal Authentication is supported (see `here <https://learn.microsoft.com/rest/api/fabric/warehouse/sql-audit-settings/get-sql-audit-settings#service-principal-authentication>`_).
|
|
50
|
+
|
|
51
|
+
Parameters
|
|
52
|
+
----------
|
|
53
|
+
item : str | uuid.UUID
|
|
54
|
+
The name or ID of the item (Warehouse or SQLEndpoint).
|
|
55
|
+
type : Literal['Warehouse', 'SQLEndpoint']
|
|
56
|
+
The type of the item. Must be 'Warehouse' or 'SQLEndpoint'.
|
|
57
|
+
workspace : str | uuid.UUID, default=None
|
|
58
|
+
The Fabric workspace name or ID.
|
|
59
|
+
Defaults to None which resolves to the workspace of the attached lakehouse
|
|
60
|
+
or if no lakehouse attached, resolves to the workspace of the notebook.
|
|
61
|
+
|
|
62
|
+
Returns
|
|
63
|
+
-------
|
|
64
|
+
pandas.DataFrame
|
|
65
|
+
A pandas dataframe containing the SQL audit settings of the specified warehouse.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
columns = {
|
|
69
|
+
"State": "string",
|
|
70
|
+
"Retention Days": "int",
|
|
71
|
+
"Audit Actions And Group": "list",
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
df = _create_dataframe(columns=columns)
|
|
75
|
+
|
|
76
|
+
url = _get_base_url(item=item, type=type, workspace=workspace)
|
|
77
|
+
response = _base_api(
|
|
78
|
+
request=f"{url}/settings/sqlAudit",
|
|
79
|
+
client="fabric_sp",
|
|
80
|
+
).json()
|
|
81
|
+
|
|
82
|
+
rows = []
|
|
83
|
+
rows.append(
|
|
84
|
+
{
|
|
85
|
+
"State": response.get("state"),
|
|
86
|
+
"Retention Days": response.get("retentionDays"),
|
|
87
|
+
"Audit Actions And Group": response.get("auditActionsAndGroups"),
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
if rows:
|
|
92
|
+
df = pd.DataFrame(rows, columns=list(columns.keys()))
|
|
93
|
+
_update_dataframe_datatypes(dataframe=df, column_map=columns)
|
|
94
|
+
|
|
95
|
+
return df
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@log
|
|
99
|
+
def update_sql_audit_settings(
|
|
100
|
+
item: str | UUID,
|
|
101
|
+
type: Literal["Warehouse", "SQLEndpoint"],
|
|
102
|
+
workspace: Optional[str | UUID] = None,
|
|
103
|
+
retention_days: Optional[int] = None,
|
|
104
|
+
state: Optional[str] = None,
|
|
105
|
+
):
|
|
106
|
+
"""
|
|
107
|
+
Update settings associated with the item.
|
|
108
|
+
|
|
109
|
+
This is a wrapper function for the following API: SQL Audit Settings - Update SQL Audit Settings <https://learn.microsoft.com/rest/api/fabric/warehouse/sql-audit-settings/update-sql-audit-settings>`_.
|
|
110
|
+
|
|
111
|
+
Service Principal Authentication is supported (see `here <https://learn.microsoft.com/rest/api/fabric/warehouse/sql-audit-settings/get-sql-audit-settings#service-principal-authentication>`_).
|
|
112
|
+
|
|
113
|
+
Parameters
|
|
114
|
+
----------
|
|
115
|
+
item : str | uuid.UUID
|
|
116
|
+
The name or ID of the item (Warehouse or SQLEndpoint).
|
|
117
|
+
type : Literal['Warehouse', 'SQLEndpoint']
|
|
118
|
+
The type of the item. Must be 'Warehouse' or 'SQLEndpoint'.
|
|
119
|
+
workspace : str | uuid.UUID, default=None
|
|
120
|
+
The Fabric workspace name or ID.
|
|
121
|
+
Defaults to None which resolves to the workspace of the attached lakehouse
|
|
122
|
+
or if no lakehouse attached, resolves to the workspace of the notebook.
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
(workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace)
|
|
126
|
+
|
|
127
|
+
payload = {}
|
|
128
|
+
if retention_days is not None:
|
|
129
|
+
if not isinstance(retention_days, int) or retention_days < 0:
|
|
130
|
+
raise ValueError(
|
|
131
|
+
f"{icons.red_dot} retention_days must be a non-negative integer."
|
|
132
|
+
)
|
|
133
|
+
payload["retentionDays"] = retention_days
|
|
134
|
+
if state is not None:
|
|
135
|
+
state = state.capitalize()
|
|
136
|
+
if state not in ["Enabled", "Disabled"]:
|
|
137
|
+
raise ValueError(
|
|
138
|
+
f"{icons.red_dot} state must be either 'Enabled' or 'Disabled'."
|
|
139
|
+
)
|
|
140
|
+
payload["state"] = state
|
|
141
|
+
|
|
142
|
+
if not payload:
|
|
143
|
+
print(
|
|
144
|
+
f"{icons.info} No updates were made as neither retention_days nor state were provided."
|
|
145
|
+
)
|
|
146
|
+
return
|
|
147
|
+
|
|
148
|
+
url = _get_base_url(item=item, type=type, workspace=workspace)
|
|
149
|
+
_base_api(
|
|
150
|
+
request=f"{url}/settings/sqlAudit",
|
|
151
|
+
client="fabric_sp",
|
|
152
|
+
method="patch",
|
|
153
|
+
payload=payload,
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
print(
|
|
157
|
+
f"{icons.green_dot} The SQL audit settings for the '{item}' {type.lower()} within the '{workspace_name}' workspace have been updated accordingly."
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
@log
|
|
162
|
+
def set_audit_actions_and_group(
|
|
163
|
+
item: str | UUID,
|
|
164
|
+
type: Literal["Warehouse", "SQLEndpoint"],
|
|
165
|
+
sql_audit_groups: List[str],
|
|
166
|
+
workspace: Optional[str | UUID] = None,
|
|
167
|
+
):
|
|
168
|
+
"""
|
|
169
|
+
Update the audit actions and groups for this item.
|
|
170
|
+
|
|
171
|
+
This is a wrapper function for the following API: SQL Audit Settings - Set Audit Actions And Groups <https://learn.microsoft.com/rest/api/fabric/warehouse/sql-audit-settings/set-audit-actions-and-groups>`_.
|
|
172
|
+
|
|
173
|
+
Service Principal Authentication is supported (see `here <https://learn.microsoft.com/rest/api/fabric/warehouse/sql-audit-settings/get-sql-audit-settings#service-principal-authentication>`_).
|
|
174
|
+
|
|
175
|
+
Parameters
|
|
176
|
+
----------
|
|
177
|
+
item : str | uuid.UUID
|
|
178
|
+
The name or ID of the item (Warehouse or SQLEndpoint).
|
|
179
|
+
type : Literal['Warehouse', 'SQLEndpoint']
|
|
180
|
+
The type of the item. Must be 'Warehouse' or 'SQLEndpoint'.
|
|
181
|
+
workspace : str | uuid.UUID, default=None
|
|
182
|
+
The Fabric workspace name or ID.
|
|
183
|
+
Defaults to None which resolves to the workspace of the attached lakehouse
|
|
184
|
+
or if no lakehouse attached, resolves to the workspace of the notebook.
|
|
185
|
+
"""
|
|
186
|
+
|
|
187
|
+
(workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace)
|
|
188
|
+
|
|
189
|
+
if (
|
|
190
|
+
not sql_audit_groups
|
|
191
|
+
or not isinstance(sql_audit_groups, list)
|
|
192
|
+
or not all(isinstance(item, str) for item in sql_audit_groups)
|
|
193
|
+
):
|
|
194
|
+
raise ValueError(
|
|
195
|
+
f"{icons.red_dot} sql_audit_groups must be a non-empty list of strings."
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
url = _get_base_url(item=item, type=type, workspace=workspace)
|
|
199
|
+
_base_api(
|
|
200
|
+
request=f"{url}/settings/sqlAudit/setAuditActionsAndGroups",
|
|
201
|
+
client="fabric_sp",
|
|
202
|
+
method="post",
|
|
203
|
+
payload=sql_audit_groups,
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
print(
|
|
207
|
+
f"{icons.green_dot} The SQL audit actions and groups for the '{item}' {type.lower()} within the '{workspace_name}' workspace have been updated accordingly."
|
|
208
|
+
)
|