← Back to all products
$59
Data Contract Framework
Complete data contract implementation with YAML spec, CLI generator, schema validation, SLA monitoring, and breaking change detection.
PythonJSONMarkdownYAMLDatabricksDelta LakeCI/CD
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 17 files
data-contract-framework/
├── README.md
├── cli/
│ ├── contract_generator.py
│ └── contract_validator.py
├── guides/
│ └── implementation_guide.md
├── notebooks/
│ ├── breaking_change_detector.py
│ ├── contract_compliance_dashboard.py
│ └── sla_monitoring.py
├── registry/
│ └── contract_registry.py
├── spec/
│ ├── contract_schema.yaml
│ └── example_contracts/
│ ├── customer_events.yaml
│ ├── financial_transactions.yaml
│ └── product_catalog.yaml
└── templates/
├── contract_templates/
│ ├── api_source.yaml
│ ├── database_source.yaml
│ └── file_source.yaml
└── producer_consumer_agreement.md
📖 Documentation Preview README excerpt
Data Contract Framework
Product by [Datanest Digital](https://datanest.dev)
A production-ready framework for defining, validating, and monitoring data contracts across
your data platform. Enforce schema guarantees, SLA compliance, and breaking change detection
with a structured, version-controlled approach to data ownership.
What's Included
| Component | Description |
|---|---|
spec/ | YAML-based contract specification format with example contracts |
cli/ | Command-line tools for generating and validating contracts |
notebooks/ | Databricks notebooks for SLA monitoring, breaking change detection, and compliance dashboards |
registry/ | Contract catalog with full versioning and search support |
templates/ | Ready-to-use contract templates and producer/consumer agreement |
guides/ | Step-by-step implementation guide |
Quick Start
1. Define a Contract
contract:
name: customer_events
version: 1.0.0
owner:
team: data-engineering
contact: team-lead@company.com
schema:
fields:
- name: event_id
type: string
required: true
description: Unique event identifier
- name: event_timestamp
type: timestamp
required: true
description: UTC timestamp of the event
sla:
freshness:
max_delay_minutes: 30
completeness:
min_percentage: 99.5
2. Generate Contracts from Existing Tables
python cli/contract_generator.py \
--catalog main \
--schema analytics \
--table customer_events \
--output spec/example_contracts/
3. Validate Data Against Contracts
*... continues with setup instructions, usage examples, and more.*
📄 Code Sample .py preview
cli/contract_generator.py
"""
Data Contract Generator — CLI Tool
Datanest Digital — https://datanest.dev
Generates data contract YAML files from existing Databricks Unity Catalog tables.
Introspects table schemas, column metadata, and table properties to produce
a ready-to-customize contract definition.
Usage:
python contract_generator.py --catalog main --schema analytics --table events --output ./contracts/
python contract_generator.py --catalog main --schema analytics --all --output ./contracts/
"""
from __future__ import annotations
import argparse
import json
import re
import sys
from dataclasses import dataclass, field
from datetime import datetime, timezone
from pathlib import Path
from typing import Any, Optional
try:
import yaml
except ImportError:
print("ERROR: PyYAML is required. Install with: pip install pyyaml>=6.0")
sys.exit(1)
# ---------------------------------------------------------------------------
# Data models
# ---------------------------------------------------------------------------
@dataclass
class FieldSpec:
"""Represents a single field in a data contract schema."""
name: str
type: str
required: bool = True
description: str = ""
pii: bool = False
primary_key: bool = False
constraints: dict[str, Any] = field(default_factory=dict)
@dataclass
class ContractSpec:
# ... 387 more lines ...