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 reference runtime execution:
DTCS Document → Parser → Canonical Object Model → Validator → Diagnostics
├→ Analyzer → Analysis reports
├→ Registry (identifier resolution)
├→ Planner → Transformation Plan
├→ Optimizer → Optimized Plan
├→ Capability match → Compile → ExecutionPlan
└→ Runtime → Output datasets§Example
use dtcs::{parse, validate, DocumentFormat};
let yaml = br#"
dtcsVersion: "3.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 analysis::check_contract;pub use analysis::check_expression;pub use analysis::from_structured_node;pub use analysis::to_structured_node;pub use analysis::AnalysisFinding;pub use analysis::AnalysisReport;pub use capability::discover as discover_capabilities;pub use capability::match_plan;pub use capability::match_plan_with_registry;pub use capability::reference_portable_manifest;pub use capability::reference_profile;pub use capability::validate as validate_capabilities;pub use capability::validate_capability_accuracy;pub use capability::CapabilityMatchReport;pub use capability::EngineCapabilityDeclaration;pub use capability::EntryCapability;pub use capability::PortableCapabilityManifest;pub use capability::REFERENCE_CERTIFIED_FEATURES;pub use capability::REFERENCE_EXPERIMENTAL_FEATURES;pub use capability::REFERENCE_UNSUPPORTED_CLAIMS;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 compile::compile;pub use compile::compile_after_match;pub use compile::compile_with_capability;pub use compile::validate as validate_execution_plan;pub use compile::CompileResult;pub use compile::ExecutionPlan;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::types_assignable;pub use model::CompatibilityDeclaration;pub use model::ContractGuarantees;pub use model::ExtensionCompatibility;pub use model::FieldConstraints;pub use model::InformationFlow;pub use model::LogicalType;pub use model::NullBehavior;pub use model::RegistryCategory;pub use model::RegistryDocument;pub use model::RegistryEntry;pub use model::RegistryEntryStatus;pub use model::RegistryPublicationStatus;pub use model::RegistryRef;pub use model::Rule;pub use model::RuleOutcome;pub use model::RulePhase;pub use model::RuleScope;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 plan::equivalent;pub use plan::equivalent as plan_equivalent;pub use plan::export_portable_plan;pub use plan::lower as lower_plan;pub use plan::optimize;pub use plan::optimize as optimize_plan;pub use plan::validate as validate_plan;pub use plan::OptimizeOptions;pub use plan::OptimizeResult;pub use plan::PlanResult;pub use plan::PortablePlan;pub use plan::RegistryVersions;pub use plan::TransformationPlan;pub use plan::COMPLEX_TYPES_PROFILE;pub use plan::COMPLEX_VALUES_PROFILE;pub use plan::CONVERSION_PROFILE;pub use plan::KERNEL_PROFILE;pub use plan::LEGACY_TRANSFORM_PLAN_IDENTITY;pub use plan::NONDETERMINISTIC_PROFILE;pub use plan::RELATIONAL_EXTENDED_PROFILE;pub use plan::RELATIONAL_PROFILE;pub use plan::RESHAPE_PROFILE;pub use plan::STATISTICS_PROFILE;pub use plan::STRING_ADVANCED_PROFILE;pub use plan::TEMPORAL_IANA_PROFILE;pub use plan::TRANSFORM_PLAN_IDENTITY;pub use plan::WINDOW_PROFILE;pub use registry::default_registry;pub use registry::is_known_action;pub use registry::is_known_function;pub use registry::is_known_operator;pub use registry::is_known_profile;pub use registry::is_known_rule;pub use registry::load as load_registry;pub use registry::load_merged;pub use registry::resolve as resolve_registry;pub use registry::resolve_default;pub use runtime::execute;pub use runtime::Dataset;pub use runtime::ExecuteResult;pub use runtime::Row;pub use runtime::RuntimeInputs;pub use runtime::RuntimeOutputs;pub use runtime::RuntimeValue;pub use validation::validate;pub use validation::validate_with_registry;pub use validation::ValidationPhase;pub use conformance::declare as conformance_declare;pub use conformance::declare_profile as conformance_declare_profile;pub use conformance::default_fixtures_dir as conformance_fixtures_dir;pub use conformance::embedded_profiles as conformance_profiles;pub use conformance::manifest as conformance_manifest;pub use conformance::run_all as conformance_run_all;pub use conformance::run_for_profiles as conformance_run;pub use conformance::ConformanceProfile;pub use conformance::ConformanceReport;pub use conformance::ImplementationCapabilityDeclaration;pub use conformance::ImplementationClass;
Modules§
- analysis
- Static semantic analysis (SPEC Chapters 7–8).
- capability
- Engine capability model and matching (SPEC Chapter 14).
- cli
- Command-line interface.
- compatibility
- Compatibility evaluation (SPEC Chapter 11–12).
- compile
- Compilation of transformation plans to execution plans (SPEC Chapter 15).
- conformance
- Conformance profiles, declarations, and offline test suite (SPEC Chapter 23).
- 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 lowering and validation (SPEC Chapter 13).
- registry
- Identifier registry resolution (SPEC Chapters 21–22).
- runtime
- Runtime execution (SPEC Chapter 16).
- 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.
- parse_
validate_ and_ compile - Parse, validate, lower, compile, and optimize a DTCS document.
- parse_
validate_ and_ compile_ with_ registry - Parse, validate, lower, and compile using an optional vendor registry.
- parse_
validate_ and_ optimize - Parse, validate, lower, and optimize a DTCS document.
- parse_
validate_ and_ optimize_ with_ registry - Parse, validate, lower, and optimize a DTCS document using an optional vendor registry.
- parse_
validate_ and_ plan - Parse, validate, and lower a DTCS document to a transformation plan.
- parse_
validate_ and_ plan_ with_ registry - Parse, validate, and lower a DTCS document using an optional vendor registry.
- parse_
validate_ and_ run - Parse, validate, lower, compile, and execute a DTCS document.
- parse_
validate_ and_ run_ with_ registry - Parse through compile and execute with an optional vendor registry.