[package]
name = "rivet-cli"
version = "0.2.0-beta.2"
edition = "2024"
rust-version = "1.94"
license = "MIT"
repository = "https://github.com/panchenkoai/rivet"
description = "CLI tool to export PostgreSQL and MySQL to Parquet/CSV (local, S3, GCS) with tuning, preflight checks, and SQLite-backed state."
readme = "README.md"
default-run = "rivet"
[[bin]]
name = "rivet"
path = "src/main.rs"
exclude = ["dev/", "USER_TEST_PLAN.md", "tests/", ".github/"]
[dependencies]
anyhow = "1"
arrow = { version = "58", features = ["chrono-tz"] }
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4", features = ["derive"] }
csv = "1"
env_logger = "0.11"
libc = "0.2"
log = "0.4"
mysql = "28"
opendal = { version = "0.55", features = ["blocking", "services-fs", "services-s3", "services-gcs"] }
parquet = { version = "58", features = ["arrow", "zstd", "lz4", "flate2"] }
clap_complete = "4"
postgres = "0.19"
rand = "0.10"
postgres-types = { version = "0.2", features = ["with-chrono-0_4"] }
rusqlite = { version = "0.39", features = ["bundled"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml_ng = "0.10"
tempfile = "3"
tikv-jemallocator = { version = "0.6", optional = true }
tokio = { version = "1.50.0", features = ["rt-multi-thread"] }
reqwest = { version = "0.13.2", features = ["blocking", "json"] }
xxhash-rust = { version = "0.8.15", features = ["xxh3"] }
[target.'cfg(target_os = "macos")'.dependencies]
mach2 = "0.4"
[dev-dependencies]
bytes = "1"
[features]
default = ["jemalloc"]
jemalloc = ["tikv-jemallocator"]
[profile.release]
strip = true
lto = true
codegen-units = 1
opt-level = "z"