[package]
edition = "2024"
rust-version = "1.85"
name = "shuflr-cli"
version = "0.1.1"
authors = ["Michael Bommarito <michael.bommarito@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Command-line interface for shuflr (produces the `shuflr` binary)"
homepage = "https://github.com/mjbommar/shuflr"
documentation = "https://docs.rs/shuflr-cli"
readme = "README.md"
keywords = [
"jsonl",
"shuffle",
"streaming",
"training-data",
"cli",
]
categories = [
"command-line-utilities",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/mjbommar/shuflr"
[features]
bzip2 = ["shuflr/bzip2"]
default = [
"zstd",
"gzip",
]
full = [
"serve",
"grpc",
"prom",
"otlp",
"uring",
"zstd",
"gzip",
"bzip2",
"xz",
"parquet",
]
grpc = [
"shuflr/grpc",
"dep:tokio",
]
gzip = ["shuflr/gzip"]
otlp = ["shuflr/otlp"]
parquet = ["shuflr/parquet"]
prom = ["shuflr/prom"]
serve = [
"shuflr/serve",
"dep:tokio",
]
uring = ["shuflr/uring"]
xz = ["shuflr/xz"]
zstd = ["shuflr/zstd"]
[[bin]]
name = "shuflr"
path = "src/main.rs"
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "serve_http"
path = "tests/serve_http.rs"
[[test]]
name = "serve_tls"
path = "tests/serve_tls.rs"
[[test]]
name = "serve_wire"
path = "tests/serve_wire.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
"wrap_help",
"color",
]
[dependencies.clap_complete]
version = "4"
[dependencies.clap_mangen]
version = "0.2"
[dependencies.indicatif]
version = "0.17"
[dependencies.memchr]
version = "2"
[dependencies.shuflr]
version = "0.1"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"signal",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.flate2]
version = "1"
[dev-dependencies.memchr]
version = "2"
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.rand]
version = "0.8"
features = [
"std",
"std_rng",
]
default-features = false
[dev-dependencies.rand_chacha]
version = "0.3"
[dev-dependencies.rcgen]
version = "0.13"
[dev-dependencies.rustls]
version = "0.23"
features = [
"std",
"tls12",
"ring",
]
default-features = false
[dev-dependencies.shuflr-wire]
version = "0.1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"io-util",
"macros",
]
[dev-dependencies.ureq]
version = "2"
features = [
"json",
"tls",
]
default-features = false
[dev-dependencies.zstd]
version = "0.13"
[lints.clippy]
dbg_macro = "warn"
expect_used = "warn"
manual_let_else = "warn"
needless_collect = "warn"
print_stderr = "allow"
print_stdout = "warn"
redundant_clone = "warn"
unwrap_used = "warn"
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
unused_must_use = "deny"