Packages¶
Home > Packages
Documentation Status
The documentation in this guide needs to be reviewed and updated.
Welcome to the Packages documentation! This section provides comprehensive information about available packages and how to use them in your Microsoft Fabric projects.
What are Packages?¶
Packages are reusable workload extensions that provide specialized functionality for common data processing scenarios in Microsoft Fabric. Each package includes:
- Pre-built templates - Ready-to-use notebook templates and configurations
- Processing logic - Optimized code for specific data workflows
- Configuration schemas - Standardized configuration formats
- Sample data and examples - Complete working examples to get started quickly
- Documentation - Comprehensive guides and API references
How Packages Work¶
Package Architecture¶
graph TD
A[Package Template] --> B[Configuration]
B --> C[Compilation]
C --> D[Generated Notebooks]
D --> E[Fabric Deployment]
E --> F[Execution] Package Lifecycle¶
- Template Definition - Packages are defined using Jinja2 templates with configurable parameters
- Configuration - Users provide environment-specific configuration via JSON or CLI parameters
- Compilation - The CLI compiles templates into executable Fabric notebooks
- Deployment - Generated notebooks are deployed to your Fabric workspace
- Execution - Notebooks run in Fabric with full logging and error handling
CLI Commands¶
All packages follow consistent CLI patterns:
# Compile a package (generates notebooks)
ingen_fab package <package-name> compile [OPTIONS]
# Run a package (executes the workflow)
ingen_fab package <package-name> run [OPTIONS]
# List available configurations
ingen_fab package <package-name> list [OPTIONS]
Available Packages¶
Data Ingestion¶
Flat File Ingestion¶
Automated ingestion of various file formats (CSV, JSON, Parquet, Avro, XML) into Delta tables with configuration-driven metadata management.
Use Cases: - Batch file processing from data lakes - Automated data pipeline ingestion - Multi-format data standardization - Data validation and quality checks
Supported Targets: Lakehouse, Warehouse
Data Generation¶
Synthetic Data Generation¶
Generate realistic synthetic datasets for testing, development, and prototyping with configurable patterns and relationships.
Use Cases: - Test data generation for development - Performance testing with realistic data volumes - Data masking and privacy-safe datasets - Prototype development without production data
Supported Patterns: Retail, Finance, Healthcare, Custom
Data Export¶
Extract Generation¶
Orchestrated data extract generation from Fabric warehouses and lakehouses with configurable scheduling and multiple output formats.
Use Cases: - Data warehouse to data lake exports - Scheduled data extracts for external systems - Multi-format data distribution - Data archival and backup workflows
Supported Formats: CSV, Parquet, JSON, Delta
Data Synchronization¶
Synapse Sync¶
Bidirectional data synchronization between Microsoft Fabric and Azure Synapse Analytics workspaces.
Use Cases: - Migrating from Synapse to Fabric - Hybrid Synapse-Fabric architectures - Data replication and backup - Cross-platform analytics workflows
Sync Modes: Full, Incremental, Bidirectional
Package Development¶
Creating Custom Packages¶
Want to build your own package? Learn about the package development process:
- Package Architecture - Understanding the package system
- Template Development - Creating Jinja2 templates
- Python Libraries - Using shared utilities
- Testing Packages - Local and platform testing
Package Standards¶
All packages follow these standards:
- Consistent CLI interface - Same command patterns across all packages
- Comprehensive logging - Detailed execution logs and error handling
- Environment isolation - Configuration-driven behavior without code changes
- Testing support - Local testing capabilities before Fabric deployment
- Documentation - Complete usage guides and examples
Getting Started¶
Quick Start Workflow¶
- Choose a package from the list above based on your use case
- Review the documentation for configuration options and examples
- Compile the package with your configuration:
- Deploy to Fabric using the standard deployment workflow:
- Execute the notebooks in your Fabric workspace
Best Practices¶
- Start with samples - Use
--include-samplesto get working examples - Test locally first - Use local testing before Fabric deployment
- Version your configurations - Keep package configurations in source control
- Monitor execution - Review notebook logs for performance and errors
- Customize gradually - Start with defaults, then customize for your needs
Support and Resources¶
- CLI Reference - Complete command documentation
- Examples - Real-world usage scenarios
- Troubleshooting - Common issues and solutions
- Developer Guide - Package development guide
Need help with a specific package? Click on the package name above to access detailed documentation, configuration examples, and usage guides.