Expand description
Rivet — CLI tool to export PostgreSQL and MySQL tables to Parquet/CSV files (local, S3, GCS) with tuning profiles, preflight diagnostics, chunked parallelism, retry logic, and SQLite-backed state tracking.
§Not a stable public API
This crate (rivet-cli on crates.io) is a CLI product, not an embeddable library.
The library target exists solely to support Rust’s integration test harness (tests/
requires a library to link against). Internal modules may change at any patch release
without notice. See docs/adr/0002-cli-product-vs-library.md for the full decision.
Stable for integration tests: config, format, pipeline, resource, state.
All other modules are pub(crate) and not reachable from external consumers.
Modules§
- config
- error
- Layer: Cross-cutting
- format
- journal
- Layer: Observability
- manifest
- Layer: Trust contract
- mcp
- MCP (Model Context Protocol) server — read-only DB introspection tools.
- pipeline
- Layer: Coordinator (planning → execution → persistence/observability)
- preflight
- redact
- Layer: Cross-cutting helper (credential redaction invariant, v0.7.2 P0.3)
- resource
- source
- state
- tuning
- Tuning module — resolution of
SourceTuningfrom YAML + adaptive helpers. - types
- Rivet’s internal type system.
Macros§
- config_
bail return Err-style bail with a stableRIVET_CONFIG_*code (exit class Generic). Drop-in foranyhow::bail!at a config-validation site — the message text is unchanged; only a typed code rides alongside it.