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