Skip to main content

Crate dpcs

Crate dpcs 

Source
Expand description

§dpcs

Reference implementation of the Data Pipeline Contract Standard (DPCS).

Processing pipeline:

DPCS Document -> Parser -> COM -> Validator -> Plan -> Capabilities -> Binding
Compatibility / Registry / Conformance are first-class analysis surfaces.

SPEC.md is the authoritative source of truth. When implementation details are ambiguous, this crate prefers the smallest conservative behavior.

§Example

use dpcs::{parse_yaml_file, validate};

let contract = parse_yaml_file("pipeline.dpcs.yaml")?;
let report = validate(&contract);
assert!(report.is_valid());

Re-exports§

pub use binding::bind;
pub use binding::bind_contract;
pub use binding::bind_contract_with_resolve;
pub use binding::parse_target;
pub use binding::write_bundle;
pub use binding::BindContext;
pub use binding::BindingBundle;
pub use binding::BindingFile;
pub use binding::BindingFramework;
pub use binding::BindingResult;
pub use binding::BindingTarget;
pub use capabilities::evaluate;
pub use capabilities::evaluate_many;
pub use capabilities::evaluate_requirements;
pub use capabilities::validate_profile;
pub use capabilities::CapabilityDecl;
pub use capabilities::CapabilityProfile;
pub use capabilities::CapabilityReport;
pub use capabilities::CapabilityResult;
pub use compatibility::compare_contracts;
pub use compatibility::compare_plans;
pub use compatibility::CompatibilityCategory;
pub use compatibility::CompatibilityReport;
pub use compatibility::CompatibilityResult;
pub use conformance::apply_profile_to_contract;
pub use conformance::implemented_levels;
pub use conformance::toolkit_claim;
pub use conformance::validate_claim;
pub use conformance::validate_profile as validate_conformance_profile;
pub use conformance::ConformanceClaim;
pub use conformance::ConformanceLevel;
pub use conformance::ConformanceProfile;
pub use diagnostics::validate_diagnostic;
pub use diagnostics::Diagnostic;
pub use diagnostics::DiagnosticReport;
pub use diagnostics::DiagnosticStage;
pub use diagnostics::ImplementationMetadata;
pub use diagnostics::ProcessingResult;
pub use diagnostics::Severity;
pub use diagnostics::ValidationReport;
pub use error::Error;
pub use error::Result;
pub use model::is_valid_extension_namespace;
pub use model::is_valid_version;
pub use model::parse_version;
pub use model::step_id_from_endpoint;
pub use model::unreachable_datasets;
pub use model::unsatisfied_ports;
pub use model::validate_registry;
pub use model::versions_compatible;
pub use model::AnalysisContext;
pub use model::CompatibilityPolicy;
pub use model::ContractReference;
pub use model::CycleError;
pub use model::DatasetLineage;
pub use model::DependencyGraph;
pub use model::DuplicateEdge;
pub use model::EndpointRole;
pub use model::ExecutionEnvironment;
pub use model::ExecutionRequirements;
pub use model::ExtensionDefinition;
pub use model::ExtensionMap;
pub use model::ExtensionValue;
pub use model::ExternalDependency;
pub use model::FailureResponse;
pub use model::FailureScope;
pub use model::FailureSemantics;
pub use model::GateOutcome;
pub use model::GatePlacement;
pub use model::GovernanceMetadata;
pub use model::IdentityCatalog;
pub use model::IntegrityReference;
pub use model::InterfacePort;
pub use model::Metadata;
pub use model::ObjectId;
pub use model::ObjectKind;
pub use model::ObjectPath;
pub use model::ParsedVersion;
pub use model::PipelineContract;
pub use model::PipelineGraph;
pub use model::PipelineIdentity;
pub use model::PipelineInterface;
pub use model::PipelineLineage;
pub use model::PipelineProvenance;
pub use model::PipelineStep;
pub use model::QualityCriterion;
pub use model::QualityGate;
pub use model::RegisteredArtifact;
pub use model::Registry;
pub use model::RegistryReference;
pub use model::ResourceRequirements;
pub use model::RetrySemantics;
pub use model::SchedulingConstraints;
pub use model::SchedulingEvent;
pub use model::SchedulingIntent;
pub use model::SchedulingMode;
pub use model::SecretReference;
pub use model::SecurityMetadata;
pub use model::StepLineage;
pub use package::artifact_entry;
pub use package::pack;
pub use package::resolve_artifact;
pub use package::unpack;
pub use package::validate_package;
pub use package::write_manifest;
pub use package::PackageArtifactEntry;
pub use package::PackageLayout;
pub use package::PackageManifest;
pub use parser::parse_file;
pub use parser::parse_json;
pub use parser::parse_json_file;
pub use parser::parse_json_slice;
pub use parser::parse_yaml;
pub use parser::parse_yaml_file;
pub use parser::parse_yaml_slice;
pub use parser::to_file;
pub use parser::to_json;
pub use parser::to_json_file;
pub use parser::to_yaml;
pub use parser::to_yaml_file;
pub use plan::plan;
pub use plan::plan_with_context;
pub use plan::plan_with_context_and_resolve;
pub use plan::plan_with_resolve;
pub use plan::try_plan;
pub use plan::NestedPlanPipeline;
pub use plan::PipelinePlan;
pub use plan::PlanDependencyEdge;
pub use plan::PlanResult;
pub use report::capability_to_html;
pub use report::capability_to_markdown;
pub use report::compatibility_to_html;
pub use report::compatibility_to_markdown;
pub use report::diagnostic_to_html;
pub use report::diagnostic_to_markdown;
pub use report::graph_to_dot;
pub use report::graph_to_html;
pub use report::graph_to_markdown;
pub use report::graph_to_mermaid;
pub use report::graph_view_from_contract;
pub use report::inspect_to_html;
pub use report::inspect_to_markdown;
pub use report::inspect_view_from_contract;
pub use report::to_dot;
pub use report::to_mermaid;
pub use report::validation_to_html;
pub use report::validation_to_markdown;
pub use report::GraphEdgeView;
pub use report::GraphView;
pub use report::InspectView;
pub use report::ReportFormat;
pub use resolve::resolve_contract_references;
pub use resolve::validate_resolved;
pub use resolve::NestedPipeline;
pub use resolve::ResolutionResult;
pub use resolve::ResolveOptions;
pub use resolve::MAX_NESTING_DEPTH;
pub use validation::validate;
pub use validation::validate_cached;
pub use validation::validate_extension_definition;
pub use validation::validate_governance;
pub use validation::validate_security;
pub use validation::validate_sequential;
pub use validation::validate_with_context;
pub use validation::ValidationCache;
pub use validation::ValidationCacheStats;
pub use validation::ValidationPhase;
pub use schema::document_schemas;
pub use schema::json_schema_for;
pub use schema::openapi_document;
pub use schema::schema_to_value;
pub use schema::write_document_schemas;
pub use schema::write_openapi_documents;
pub use schema::OpenApiKind;
pub use registry_net::PublishRequest;
pub use registry_net::RegistryCache;
pub use registry_net::RegistryClient;
pub use registry_net::RegistryClientError;
pub use registry_net::serve;
pub use registry_net::serve_listener;
pub use registry_net::ServeOptions;

Modules§

binding
Orchestrator binding framework (SPEC Ch 17).
capabilities
Orchestrator capability model (SPEC Ch 16).
cli
Command-line interface for the dpcs binary.
compatibility
Compatibility analysis between DPCS artifacts (SPEC Ch 19).
conformance
Conformance claims and profiles (SPEC Ch 23).
diagnostics
Deterministic diagnostics for DPCS processing stages.
error
Error types for parsing and I/O failures.
model
Canonical Object Model (COM) for DPCS Pipeline Contracts.
package
Pipeline package format (.dpcspkg) — ROADMAP 0.10.
parser
YAML and JSON parsers for DPCS documents.
plan
Pipeline Plan generation (SPEC Ch 15).
registry_net
Network registry client and reference server (ROADMAP 0.10).
report
Presentation views and report rendering (Markdown, HTML, Mermaid, DOT).
resolve
Contract reference resolution (SPEC Ch 7).
schema
JSON Schema and OpenAPI helpers (ROADMAP 0.10).
validation
Phase-based validation for Pipeline Contracts.

Constants§

DPCS_SPEC_VERSION
Supported DPCS specification version for this release.
VERSION
Library and CLI version string.