Changelog¶
Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Added¶
- Workspace restoration via
workspace.restore()andworkspaces.restore()for recovering deleted workspaces - Workspace state detection - filters out workspaces in "Deleted" state from search results
- Enhanced error messages with actionable guidance when encountering deleted workspaces
Changed¶
workspace.delete()now documented as soft delete with retention period informationworkspaces.add()now raises informative error when workspace exists in "Deleted" state- Workspace lookup operations now verify workspace is accessible (not deleted)
Documentation¶
- Updated workspace documentation with deletion/restoration workflow
- Added workspace state reference table
- Added automation best practices for handling deleted workspaces
- Fixed import inconsistencies across all code examples
1.0.0 - 2026-03-26¶
Initial release. A Python SDK for Microsoft Fabric focusing on OneLake security and workspace automation.
API Design¶
- Fabric-first namespace:
import fabiasgives direct access to Fabric APIs—no redundant nesting - Integrations subpackage: External services (
adf,keyvault) available viafrom fabias.integrations import ... - Notifications subpackage: Alerting (
teams,cards) available viafrom fabias.notifications import ... - Private implementation: Internal modules prefixed with
_to keep public API clean
Microsoft Fabric¶
Workspace Management¶
- List, create, and delete workspaces with capacity assignment
- Role assignments (Admin, Member, Contributor, Viewer) via
workspace.roleAssignments - Folder organization with path resolution via
workspace.folders - Variable libraries for parameterized deployments
Workspace Items¶
- Pipeline: Run pipelines with parameters, track job completion
- Lakehouse: Access lakehouses, manage OneLake data access roles (ABAC)
- Notebook: Access notebook content, metadata, and definitions
- Environment: Manage environments and publish library changes
- VariableLibrary: Manage workspace variables
Git Integration¶
- Check sync status with
Git.status() - Pull changes from Git repository
- Push workspace changes to Git with commit messages
- Configure Git connection settings
Connections¶
- Create and manage data connections (Cloud, VNet, On-Premises Gateway)
- Role assignments (User, UserWithReshare, Owner)
- Privacy level and encryption configuration
Administration¶
- Capacity: List capacities, assign workspaces, manage capacity settings
- Tenant: Access tenant-level admin settings and activity events
- Spark Settings: Configure workspace Spark pools, environments, and high-concurrency settings
OneLake Security (ABAC)¶
- Role: Define data access roles with path-based permissions
- Rule: Configure path access with optional row/column-level security
- RowLevelSecurity: Define table-level row filters
- ColumnLevelSecurity: Define column visibility rules
- EntraMember: Grant access to Entra ID users, groups, or service principals
- FabricItem: Grant access based on item permissions
- Path normalization: User-friendly shortcuts (
*,tables,dbo.*,/Files/raw/)
Integrations¶
Azure Data Factory (fabias.integrations.adf)¶
- Pipeline execution with parameter support
- Job tracking with status monitoring
- Lazy property loading with caching
Azure Key Vault (fabias.integrations.keyvault)¶
- Secret management (get, set, list)
- Automatic auth in Fabric notebooks via notebookutils
- Module-level API:
keyvault.get("secret-name")
Notifications¶
Microsoft Teams (fabias.notifications.teams)¶
- Channel messaging via Graph API
- Incoming webhook support
Adaptive Cards (fabias.notifications.cards)¶
Adaptive: Card builder with fluent API- Elements: TextBlock, Image, ColumnSet, Column, Container, Table
- Actions: Submit, OpenUrl, ShowCard
Authentication¶
- ServicePrincipalAuth: OAuth2 client credentials flow
- FabricAuth: Automatic auth via notebookutils inside Fabric notebooks
- RefreshTokenAuth: OAuth2 refresh token flow
- AutoAuth: Environment-aware auth selection (Fabric runtime → env vars → fail)
- runtime.isFabric: Detect Fabric notebook environment
Technical¶
- Full type annotations with
py.typedmarker (PEP 561) - Lazy loading throughout for efficient resource access
- Automatic pagination handling for list operations
- Structured exceptions:
FabiasError,AuthenticationError,ApiError,NotFoundError - Long-running operation tracking with time reporting
Developer Experience¶
- Module-level API: Clean
import fabias.fabric as fabricpattern - Consistent patterns: Same API patterns across all modules
- Comprehensive docstrings: Google-style docstrings with examples
- Unit tests: 70+ tests with mocked HTTP responses
- Integration tests: Real API tests with pytest markers
Notes¶
v1.0.0 represents a stable, production-ready release. The API is considered stable and follows semantic versioning - breaking changes will only occur in major version updates.
v0.1.0 was the initial public release with foundational features and API patterns.