Expand description
Reference implementation of the Open Data Contract Standard (ODCS).
SPEC.md at the repository root defines the upstream specification
policy. This crate implements the foundational pipeline:
ODCS Document → Parser → Canonical Object Model → Validator → Diagnostics§Example
use odcs::{parse, validate, DocumentFormat};
let yaml = br#"
version: "1.0.0"
apiVersion: "v3.1.0"
kind: "DataContract"
id: "example"
status: "draft"
"#;
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 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::ValidationPhase;pub use diagnostics::ValidationReport;pub use model::DataContract;pub use parser::parse;pub use parser::parse_file;pub use parser::parse_json;pub use parser::parse_strict;pub use parser::parse_yaml;pub use parser::DocumentFormat;pub use parser::ParseResult;pub use parser::MAX_PARSE_BYTES;pub use validation::validate;pub use validation::validate_strict;pub use validation::validate_with_options;pub use validation::ValidationOptions;
Modules§
- cli
- Command-line interface.
- compatibility
- Compatibility checking (stub). Full compatibility analysis is planned for a future milestone.
- diagnostics
- ODCS diagnostics.
- model
- Canonical Object Model types derived from the upstream ODCS specification.
- parser
- ODCS document parsers.
- registry
- Registry model (stub). Full registry support is planned for a future milestone.
- schema
- Pinned upstream ODCS JSON Schema assets.
- validation
- ODCS validation pipeline.
Constants§
- UPSTREAM_
SPEC_ VERSION - Upstream ODCS specification version this crate targets.
Functions§
- parse_
and_ validate - Parse and validate an ODCS document in one step.