Expand description
Reference implementation of the Data Transformation Contract Standard (DTCS).
SPEC.md at the repository root is the authoritative normative
specification. This crate implements the pipeline through contract analysis:
DTCS Document → Parser → Canonical Object Model → Validator → Diagnostics
└→ Analyzer → Analysis reports§Example
use dtcs::{parse, validate, DocumentFormat};
let yaml = br#"
dtcsVersion: "1.0.0"
id: "example"
name: "Example"
version: "0.2.0"
inputs:
- id: "in"
schema:
fields:
- name: "value"
type: "string"
nullable: false
outputs:
- id: "out"
schema:
fields:
- name: "value"
type: "string"
nullable: false
lineage:
mappings:
- output: "out"
inputs: ["in"]
"#;
let result = parse(yaml, DocumentFormat::Yaml);
let contract = result.contract.expect("parse succeeded");
let report = validate(&contract);
assert!(report.is_valid());Re-exports§
pub use compatibility::analyze as analyze_compatibility;pub use compatibility::analyze_evolution;pub use compatibility::ChangeCategory;pub use compatibility::ComparisonScope;pub use compatibility::CompatibilityLevel;pub use compatibility::CompatibilityReport;pub use compatibility::EvolutionReport;pub use diagnostics::codes;pub use diagnostics::inspect_contract;pub use diagnostics::Diagnostic;pub use diagnostics::DiagnosticCategory;pub use diagnostics::DiagnosticReport;pub use diagnostics::DiagnosticStage;pub use diagnostics::Severity;pub use diagnostics::ValidationReport;pub use lineage::analyze as analyze_lineage;pub use lineage::LineageAnalysisReport;pub use lineage::LineageGovernance;pub use model::parse_logical_type;pub use model::type_compatible;pub use model::LogicalType;pub use model::TransformationContract;pub use model::TypeCompatibility;pub use model::TypeParseError;pub use parser::parse;pub use parser::parse_file;pub use parser::parse_json;pub use parser::parse_yaml;pub use parser::DocumentFormat;pub use parser::ParseResult;pub use validation::validate;pub use validation::ValidationPhase;
Modules§
- cli
- Command-line interface.
- compatibility
- Compatibility evaluation (SPEC Chapter 11–12).
- diagnostics
- DTCS diagnostics.
- lineage
- Lineage analysis (SPEC Chapter 10 §11).
- metadata
- Metadata validation (SPEC Chapter 5).
- model
- Canonical Object Model types derived from
SPEC.md. - parser
- DTCS document parsers.
- plan
- Transformation plan (future milestone).
- validation
- Validation pipeline.
- versioning
- Version identifier validation (SPEC Chapter 25).
Constants§
- SPEC_
VERSION - DTCS specification version this crate targets.
Functions§
- parse_
and_ validate - Parse and validate a DTCS document in one step.