Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - murggu/fabric-cli: ⚑ Microsoft Fabric CLI
Nothing Special   »   [go: up one dir, main page]

Skip to content

murggu/fabric-cli

Β 
Β 

Microsoft Fabric CLI

PyPi version Python versions Code style: black License: MIT

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 and items
fab cd MyWorkspace.workspace     # Navigate to a workspace
fab ls -l                        # List items with details
fab get MyNotebook.notebook      # Get item properties

✨ Key Features

πŸ—‚οΈ File-System Navigation

Navigate Microsoft Fabric like your local file system with intuitive commands:

  • ls, cd, pwd - Navigate workspaces and items
  • mkdir, rm, mv, cp - Create, delete, move, and copy items
  • exists, open - Check existence and open items in the Fabric portal

πŸ”„ Data & Item Management

  • Import/Export items with import and export commands
  • 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, or 3.12
  • 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

9D31
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

  1. Check existing issues - Look for issues labeled help-wanted
  2. Read our guidelines - See CONTRIBUTING.md for detailed instructions
  3. Fork and clone - Set up your development environment
  4. 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

Feature Requests

Enterprise Support

πŸ”„ Release Notes

Latest Release - v1.1.0

  • ✨ Added support for folders in fs commands
  • ✨ JSON output format support
  • ✨ Context persistence in command-line mode
  • ✨ Autocomplete support for commands (in command-line mode)
  • πŸ†• GraphQLApi items support
  • πŸ”§ Multiple bug fixes and improvements

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

About

⚑ Microsoft Fabric CLI

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • Other 1.1%
0