dora-cli 1.0.1

`dora` goal is to be a low latency, composable, and distributed data flow.
Documentation
[package]
name = "dora-cli"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
documentation.workspace = true
readme.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[[bin]]
name = "dora"
path = "src/main.rs"

[features]
default = ["tracing", "metrics", "redb-backend"]
tracing = ["dep:dora-tracing"]
metrics = ["dora-runtime-shared-lib/metrics", "dora-coordinator/metrics"]
# Marks a build that is hosted by the `dora-rs-cli` wheel rather than the
# standalone binary, which changes how `dora self uninstall` and executable
# path resolution behave. Internal wheel plumbing, not a supported knob.
python = []
# Pass-through for the daemon's opt-in tensor-pool transport. The CLI hosts the
# in-process daemon (`dora run`, `dora up`), so without this the feature is
# unreachable through the `dora` binary. NOT covered by dora's 1.0
# compatibility guarantees — see libraries/extensions/tensor-pool/README.md.
tensor-pool = ["dora-daemon/tensor-pool"]
redb-backend = ["dora-coordinator/redb-backend", "dep:fs2", "dep:libc"]

[dependencies]
arrow = { workspace = true, features = ["ipc"] }
arrow-schema = { workspace = true }
clap = { version = "4.6.1", features = ["derive", "string", "env"] }
clap_complete = "4.6.7"
eyre = { workspace = true }
fs2 = { workspace = true, optional = true }
libc = { version = "0.2", optional = true }
dora-core = { workspace = true, features = ["zenoh"] }
dora-hub-client = { workspace = true }
dora-message = { workspace = true }
dora-node-api-c = { workspace = true }
dora-download = { workspace = true }
serde = { workspace = true }
serde_yaml = { workspace = true }
toml = "1.1"
webbrowser = "1.2.1"
serde_json = { workspace = true }
sha2 = "0.11"
termcolor = "1.4.1"
uuid = { workspace = true }
inquire = { workspace = true }
tokio-tungstenite = "0.29"
notify = "8.2.0"
ctrlc = "3.5.2"
tracing = { workspace = true }
dora-tracing = { workspace = true, optional = true }
dora-daemon = { workspace = true }
dora-coordinator = { workspace = true }
dora-runtime-shared-lib = { workspace = true }
tokio = { workspace = true, features = ["full"] }
futures = { workspace = true }
duration-str = "0.21"
tabwriter = "1.4.1"
log = { version = "0.4.33", features = ["serde"] }
colored = { workspace = true }
crossterm = "0.29.0"
ratatui = "0.30.2"
itertools = "0.15"
sysinfo = "0.39"

env_logger = "0.11.11"
# self_update 0.44 made the HTTP backend an explicit feature; without
# `reqwest` (or `ureq`) it fails to compile under default-features = false.
self_update = { version = "0.44.0", features = [
    "reqwest",
    "rustls",
    "archive-zip",
    "archive-tar",
    "compression-flate2",
], default-features = false }
self-replace = "1.5.0"
dunce = "1.0.5"
git2 = { workspace = true }
zenoh = { workspace = true }
arrow-json.workspace = true
chrono = "0.4.45"
dora-recording = { workspace = true }
which = "8"
tempfile = { workspace = true }

[lib]
name = "dora_cli"
path = "src/lib.rs"
# rlib only -- the `dora_cli` extension module is built from apis/python/cli.
# Re-adding `cdylib` here would build a second, empty `dora_cli` .so per build.

[package.metadata.dist]
# Enable dora-cli binary to be distributed
dist = true

[dev-dependencies]