Command-line tool for Microsoft Fabric
Project description
Microsoft Fabric CLI
The Microsoft Fabric CLI (fab) is a powerful, file-system-inspired command-line interface for Microsoft Fabric. Explore, automate, and script your Fabric environment directly from your terminal with familiar commands like ls, cd, mkdir, cp, and more.
🚀 Quick Start
# Install the CLI
pip install ms-fabric-cli
# Authenticate
fab auth login
# Start exploring
fab ls # List workspaces
fab get <workspace-name>.Workspace/<item-name>.<item-type> # Get item properties (e.g., ws1.Workspace/nb1.Notebook)
✨ Key Features
🗂️ File-System Navigation
Navigate Microsoft Fabric like your local file system with intuitive commands:
ls,cd,pwd- Navigate workspaces and itemsmkdir,rm,mv,cp- Create, delete, move, and copy itemsexists,open- Check existence and open items in the Fabric portal
🔄 Data & Item Management
- Import/Export items with
importandexportcommands - OneLake file operations - Upload, download, and manage files
- Table operations - Load data, optimize tables, manage schemas
- Shortcut management - Create and manage OneLake shortcuts
🤖 Automation Ready
- Scripting mode - Perfect for CI/CD pipelines and automation
- Interactive mode - Live shell experience for exploration
- Job management - Run, schedule, and monitor Fabric jobs
- API access - Direct REST API calls with authentication handled
🔐 Flexible Authentication
- Interactive login - Browser-based authentication
- Service Principal - Client secrets, certificates, and federated tokens
- Managed Identity - System and user-assigned identities
- Environment variables - Headless authentication for automation
🌐 Cross-Platform Support
- Windows, macOS, Linux - Native support across all platforms
- Multiple shells - PowerShell, Bash, Zsh, and more
- Shell completion - Autocomplete for commands and arguments (in command-line mode)
📦 Installation
Prerequisites
- Python 3.10, 3.11, 3.12, or 3.13
- A Microsoft Fabric account with access to your tenant/workspaces.
Install via pip
pip install ms-fabric-cli
Upgrade existing installation
pip install --upgrade ms-fabric-cli
Verify installation
fab --version
🔐 Authentication
Interactive Login
fab auth login
# Select: "Interactive with a web browser"
Service Principal
fab auth login -u <client_id> -p <client_secret> --tenant <tenant_id>
The CLI supports additional authentication methods including certificates, managed identity, and environment variables. See the authentication documentation) for complete details.
🎯 Usage Examples
Basic Navigation
# List all workspaces
fab ls
# Navigate to a workspace
fab cd "Sales Analytics.workspace"
# List items in current workspace
fab ls -l
# Get current location
fab pwd
Working with Items
# Create a new notebook
fab mkdir MyNotebook.notebook
# Copy an item between workspaces
fab cp notebook1.notebook /TargetWorkspace.workspace/
# Export an item definition
fab export MyReport.report -o ./backup/
# Import an item
fab import NewNotebook.notebook -i ./definitions/notebook.json
OneLake File Operations
# Navigate to lakehouse files
fab cd MyLakehouse.lakehouse/Files
# Upload a file
fab cp ./local-data.csv ./remote-data.csv
# Download files
fab cp ./remote-data.csv ~/Downloads/
# List files with details
fab ls -l
Job Management
# Run a notebook synchronously
fab job run MyNotebook.notebook
# Schedule a pipeline
fab job run-sch MyPipeline.datapipeline --type daily --interval "09:00"
# Check job status
fab job run-status MyNotebook.notebook --id <job-id>
Table Operations
# Load CSV data into a table
fab table load Tables/SalesData --file Files/sales.csv --mode append
# Optimize a table
fab table optimize Tables/SalesData --vorder --zorder ProductID,Date
# View table schema
fab table schema Tables/SalesData
API Integration
# Make authenticated API calls
fab api workspaces
# Query with JMESPath
fab api workspaces -q "value[?name=='MyWorkspace']"
# POST request with data
fab api capacities -X POST -i capacity-config.json
🔧 Configuration
Interactive vs Command-Line Mode
# Switch to interactive mode
fab config set mode interactive
fab auth login # Re-authenticate for interactive mode
# Switch back to command-line mode
fab config set mode command_line
Common Settings
# Enable debug logging
fab config set debug_enabled true
# Set default capacity
fab config set default_capacity "My Capacity"
# Configure output sorting
fab config set output_item_sort_criteria bytype
# View all settings
fab config ls
📚 Documentation
| Resource | Description |
|---|---|
| Command Reference | Complete command documentation |
| Usage Examples | Real-world scenarios and scripts |
| API Integration | Direct REST API access patterns |
| CI/CD Integration | GitHub Actions and Azure Pipelines |
| Settings | CLI Configuration |
🤝 Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or helping other users, your contributions are valuable.
Quick Start Contributing
- Check existing issues - Look for issues labeled
help-wanted - Read our guidelines - See CONTRIBUTING.md for detailed instructions
- Fork and clone - Set up your development environment
- Create a pull request - Link it to the related issue
Before contributing, please review our Contributing Guidelines and Code of Conduct.
🆘 Support & Community
Getting Help
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Questions and community support
- Documentation - Comprehensive guides and examples
- Microsoft Community - Connect with other Fabric developers
Feature Requests
- GitHub Issues - Technical feature requests
- Fabric Ideas Portal - Product-level feature suggestions
Enterprise Support
- Contact your Microsoft account manager
- Microsoft Fabric Support - Official Microsoft support
🔄 Release Notes
See the full Release Notes for detailed changelog.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🏢 Microsoft Open Source
This project is part of Microsoft's commitment to open source. We follow Microsoft's Open Source Code of Conduct.
For questions or concerns, contact opencode@microsoft.com.
Explore, Automate, and Build with Microsoft Fabric CLI
📖 Documentation • 🐛 Report Bug • 💬 Discuss • 💡 Request Feature
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ms_fabric_cli-1.5.0-py3-none-any.whl.
File metadata
- Download URL: ms_fabric_cli-1.5.0-py3-none-any.whl
- Upload date:
- Size: 330.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18b9377eb73c4477ba0cb94bb9b578b6efd7e903125f68e7fe9668116e69b3b3
|
|
| MD5 |
43ac674def60c672c0201ac2f8115054
|
|
| BLAKE2b-256 |
4e535628250b59c91e6746e4390bbf557adf29f0f2106326b852acbccb0cba69
|