Fabric CLI Utility Scripts
Python scripts extending fab CLI with common operations. All scripts use the same path syntax as fab commands.
Path Syntax
All scripts use Fabric path format: Workspace.Workspace/Item.ItemType
# Examples
"Sales.Workspace/Model.SemanticModel"
"Production.Workspace/LH.Lakehouse"
"Dev.Workspace/Report.Report"
Scripts
create_direct_lake_model.py
Create a Direct Lake semantic model from lakehouse tables. This is the recommended approach for querying lakehouse data via DAX.
python3 create_direct_lake_model.py "src.Workspace/LH.Lakehouse" "dest.Workspace/Model.SemanticModel" -t schema.table
python3 create_direct_lake_model.py "Sales.Workspace/SalesLH.Lakehouse" "Sales.Workspace/Sales Model.SemanticModel" -t gold.orders
Arguments:
source- Source lakehouse: Workspace.Workspace/Lakehouse.Lakehousedest- Destination model: Workspace.Workspace/Model.SemanticModel-t, --table- Table in schema.table format (required)
execute_dax.py
Execute DAX queries against semantic models.
python3 execute_dax.py "ws.Workspace/Model.SemanticModel" -q "EVALUATE VALUES('Date'[Year])"
python3 execute_dax.py "Sales.Workspace/Sales Model.SemanticModel" -q "EVALUATE TOPN(10, 'Orders')" --format csv
python3 execute_dax.py "ws.Workspace/Model.SemanticModel" -q "EVALUATE ROW(\"Total\", SUM('Sales'[Amount]))" -o results.json
Options:
-q, --query- DAX query (required)-o, --output- Output file--format- Output format: table (default), csv, json--include-nulls- Include null values
export_semantic_model_as_pbip.py
Export semantic model as PBIP (Power BI Project) format.
python3 export_semantic_model_as_pbip.py "ws.Workspace/Model.SemanticModel" -o ./output
python3 export_semantic_model_as_pbip.py "Sales.Workspace/Sales Model.SemanticModel" -o /tmp/exports
Creates complete PBIP structure with TMDL definition and blank report.
download_workspace.py
Download complete workspace with all items and lakehouse files.
python3 download_workspace.py "Sales.Workspace"
python3 download_workspace.py "Production.Workspace" ./backup
python3 download_workspace.py "Dev.Workspace" --no-lakehouse-files
Options:
output_dir- Output directory (default: ./workspace_downloads/)--no-lakehouse-files- Skip lakehouse file downloads
Requirements
- Python 3.10+
fabCLI installed and authenticated- For lakehouse file downloads:
azure-storage-file-datalake,azure-identity