Metadata-Version: 2.4
Name: contractforge-fabric
Version: 0.1.0
Summary: Microsoft Fabric adapter for ContractForge Core.
Project-URL: Homepage, https://github.com/marquesantero/contractforge-core/tree/main/adapters/fabric
Project-URL: Documentation, https://marquesantero.github.io/contractforge-core/docs/adapters/fabric
Project-URL: Repository, https://github.com/marquesantero/contractforge-core
Project-URL: Issues, https://github.com/marquesantero/contractforge-core/issues
Project-URL: Changelog, https://github.com/marquesantero/contractforge-core/blob/main/adapters/fabric/CHANGELOG.md
Author: ContractForge contributors
License: MIT
Keywords: contractforge,data-contracts,ingestion,lakehouse,microsoft-fabric,onelake
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: contractforge-core<0.2,>=0.1
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == 'dev'
Provides-Extra: runtime
Description-Content-Type: text/markdown

# contractforge-fabric

`contractforge-fabric` is the Microsoft Fabric adapter package for
ContractForge.

The first adapter slice is intentionally conservative. It plans contracts
against a Fabric Lakehouse target, renders review artifacts, publishes a
machine-readable source-support catalog and documents the runtime boundaries for
future deployment work.

It does not yet call Fabric REST APIs, submit notebooks, create Data Factory
pipelines or mutate Fabric workspaces.

## Install

```bash
pip install contractforge-core contractforge-fabric
```

## Use

```python
from contractforge_fabric import plan_fabric_contract, render_fabric_contract

contract = {
    "source": {"type": "parquet", "path": "Files/orders"},
    "target": {"catalog": "workspace", "schema": "bronze", "table": "orders"},
    "mode": "overwrite",
}

planning = plan_fabric_contract(contract)
artifacts = render_fabric_contract(contract)
```

CLI:

```bash
contractforge-fabric plan contracts/orders.ingestion.yaml
contractforge-fabric render contracts/orders.ingestion.yaml
contractforge-fabric sources
```

## Current scope

- Subtarget: `fabric_lakehouse`.
- Runtime status: render-only.
- Native concepts: Fabric Workspace, Lakehouse, Warehouse, OneLake, shortcuts,
  notebooks and Data Factory pipelines.
- Evidence store target: Fabric Lakehouse Delta tables, review-only for now.

The adapter returns `REVIEW_REQUIRED` for semantics that need a concrete Fabric
runtime design before execution can be claimed.
