Skip to main content

Crate odcs

Crate odcs 

Source
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.