[package]
name = "rivet-cli"
version = "0.8.1"
edition = "2024"
rust-version = "1.94"
license = "MIT"
repository = "https://github.com/panchenkoai/rivet"
description = "Rivet: PostgreSQL/MySQL → Parquet/CSV (local, S3, GCS). Crate name rivet-cli; binary rivet."
readme = "README.md"
default-run = "rivet"
exclude = ["dev/", "USER_TEST_PLAN.md", "tests/", ".github/", "docs/gifs/"]
[lib]
name = "rivet"
path = "src/lib.rs"
[[bin]]
name = "rivet"
path = "src/main.rs"
[[bin]]
name = "rivet-mcp"
path = "src/bin/rivet-mcp.rs"
[[bin]]
name = "seed"
path = "src/bin/seed/main.rs"
[dependencies]
anyhow = "1"
base64 = "0.22"
md-5 = "0.10"
arrow = { version = "58", features = ["canonical_extension_types"] }
arrow-schema = { version = "58", features = ["canonical_extension_types"] }
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4", features = ["derive", "env"] }
csv = "1"
env_logger = "0.11"
libc = "0.2"
log = "0.4"
mysql = { version = "28", default-features = false, features = ["minimal", "native-tls"] }
opendal = { version = "0.55", features = ["blocking", "services-fs", "services-s3", "services-gcs", "services-azblob"] }
parquet = { version = "58", features = ["arrow", "zstd", "lz4", "flate2", "arrow_canonical_extension_types"] }
clap_complete = "4"
postgres = {
version = "0.19",
features = ["with-chrono-0_4", "with-serde_json-1", "with-uuid-0_8"],
}
postgres-native-tls = "0.5"
native-tls = { version = "0.2", features = ["vendored"] }
rand = "0.10"
postgres-types = {
version = "0.2",
features = ["with-chrono-0_4", "with-serde_json-1", "with-uuid-0_8"],
}
bigdecimal = "0.4"
byteorder = "1"
uuid = "0.8"
rusqlite = { version = "0.39", features = ["bundled"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml_ng = "0.10"
schemars = { version = "1", features = ["preserve_order"] }
tempfile = "3"
tikv-jemallocator = { version = "0.7", optional = true }
tokio = { version = "1.50.0", features = ["rt-multi-thread"] }
reqsign = "0.16"
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "rustls-tls"] }
xxhash-rust = { version = "0.8.15", features = ["xxh3"] }
indicatif = "0.18"
console = "0.16"
atoi = "2"
simdutf8 = "0.1"
zeroize = "1"
[target.'cfg(target_os = "macos")'.dependencies]
mach2 = "0.6"
[dev-dependencies]
bytes = "1"
csv = "1"
serde_json = "1"
serde_yaml_ng = "0.10"
criterion = { version = "0.8", features = ["html_reports"] }
proptest = "1"
[[bench]]
name = "hot_paths"
harness = false
[[bench]]
name = "resource_aware"
harness = false
[features]
default = ["jemalloc"]
jemalloc = ["tikv-jemallocator"]
[profile.release]
strip = true
lto = "fat"
codegen-units = 1
opt-level = "s"
[profile.release-min]
inherits = "release"
opt-level = "z"
panic = "abort"
debug = false
overflow-checks = false