1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//! # Pipa
//!
//! Public API surface for the Pipa data quality engine.
//!
//! This crate is primarily used via the CLI, but the same functionality
//! is available programmatically through the modules below.
//!
//! Internals (engine, connectors, movement, validators, etc.) are kept private
//! so they can evolve without breaking consumers.
// --- Internal modules (not re-exported directly) ---
// These are the building blocks of the engine. They remain private
// so their APIs can change without breaking downstream users.
// -----------------------------
// Public API surface
// -----------------------------
//
// Each public submodule below re-exports a curated set of types and
// functions from the internal engine. This creates a stable, branded
// API for consumers (CLI or programmatic) while insulating them from
// internal refactors.
/// Contract management: list, validate, show, and run contracts.
///
/// Exposes contract-related types and functions from `engine::contracts`.
/// Also re-exports the `Executor` type from logging for contract execution context.
/// Profile management: list and test profiles.
///
/// Provides access to profile definitions and testing utilities.
/// Profiles are typically used to parameterize contract runs.
/// Run data validation against contracts.
///
/// Thin wrapper that exposes the core validation runner directly.
/// Useful for programmatic invocation without going through CLI.
/// Log management: verify log integrity.
///
/// Surfaces log verification and integrity checking.
/// Includes cryptographic verification of log chains.
/// System health checks.
///
/// Provides system-level diagnostics (e.g., environment, connectors).
/// Useful for pre-flight checks before running validations.
/// Initialize project scaffolding.
///
/// Exposes project initialization helpers (e.g., creating config files,
/// setting up directories). Typically used by `pipa init`.