[package]
name = "aranet-cli"
version = "0.1.10"
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Command-line interface for Aranet environmental sensors"
readme = "README.md"
keywords = ["aranet", "ble", "bluetooth", "sensors", "cli"]
categories = ["command-line-utilities", "hardware-support"]
include = ["src/**/*", "Cargo.toml", "README.md", "assets/**/*"]
[[bin]]
name = "aranet"
path = "src/main.rs"
[features]
default = ["cli", "tui"]
cli = ["dep:clap", "dep:clap_complete", "dep:dialoguer", "dep:indicatif", "dep:tabled"]
tui = ["dep:ratatui", "dep:crossterm"]
gui = ["dep:egui", "dep:eframe", "dep:egui_plot", "dep:image", "dep:tray-icon", "dep:notify-rust", "dep:objc2", "dep:objc2-app-kit", "dep:objc2-foundation"]
[dependencies]
aranet-core = { version = "0.1.9", path = "../aranet-core" }
aranet-service = { version = "0.1.9", path = "../aranet-service" }
aranet-store = { version = "0.1.9", path = "../aranet-store" }
aranet-types = { version = "0.1.9", path = "../aranet-types" }
anyhow.workspace = true
serde.workspace = true
serde_json.workspace = true
time.workspace = true
tokio.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
dirs = "6.0.0"
toml.workspace = true
futures.workspace = true
owo-colors = "4"
terminal_size = "0.4"
human-panic = "2.0.6"
chrono = "0.4.43"
axum = "0.8"
tower-http = { version = "0.6", features = ["cors", "trace"] }
clap = { workspace = true, features = ["env"], optional = true }
clap_complete = { version = "4", optional = true }
dialoguer = { version = "0.12.0", optional = true }
indicatif = { version = "0.18.3", optional = true }
tabled = { version = "0.20.0", optional = true, features = ["ansi"] }
ratatui = { workspace = true, optional = true }
crossterm = { workspace = true, optional = true }
egui = { workspace = true, optional = true }
eframe = { workspace = true, optional = true }
egui_plot = { version = "0.34.0", optional = true }
image = { version = "0.25", optional = true, default-features = false, features = ["png"] }
tray-icon = { version = "0.19", optional = true }
notify-rust = { version = "4", optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = { version = "0.5", optional = true }
objc2-app-kit = { version = "0.2", optional = true, features = ["NSApplication", "NSRunningApplication", "NSImage"] }
objc2-foundation = { version = "0.2", optional = true, features = ["NSData"] }
[dev-dependencies]
tempfile = "3"
btleplug = { workspace = true }
uuid = { workspace = true }
[package.metadata.dist]
dist = true
[package.metadata.deb]
name = "aranet"
maintainer = "Cameron Rye <cameronrye@users.noreply.github.com>"
copyright = "2024-2026, Cameron Rye"
extended-description = """
Aranet is a command-line interface for Aranet environmental sensors.
It supports Aranet4 (CO2), Aranet2 (temperature/humidity), AranetRn+ (radon),
and Aranet Radiation sensors via Bluetooth Low Energy (BLE).
Features:
- Scan for nearby Aranet devices
- Read current sensor measurements
- Download and export historical data
- Configure device settings
- Continuous monitoring with watch mode
- Interactive terminal dashboard (TUI)
- Local SQLite cache for offline access
"""
section = "utils"
priority = "optional"
assets = [
["target/release/aranet", "usr/bin/", "755"],
]
depends = "$auto, libc6, libdbus-1-3"
suggests = "bluetooth"