cyme 2.2.9

List system USB buses and devices. A modern cross-platform lsusb
Documentation
[[bench]]
harness = false
name = "get"
path = "benches/get.rs"

[[bench]]
harness = false
name = "profile"
path = "benches/profile.rs"

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

[dependencies.cansi]
optional = true
version = "=2.2.1"

[dependencies.chrono]
features = ["serde"]
version = "0.4.39"

[dependencies.clap]
features = ["derive", "wrap_help"]
version = "4.0.22"

[dependencies.clap_complete]
optional = true
version = "4.0.6"

[dependencies.clap_mangen]
optional = true
version = "0.2.5"

[dependencies.colored]
version = "3.0.0"

[dependencies.crossterm]
optional = true
version = "0.28.1"

[dependencies.dirs]
version = "6.0.0"

[dependencies.fastrand]
version = "2.1.1"

[dependencies.futures-lite]
optional = true
version = "2.6.0"

[dependencies.heck]
version = "0.4.0"

[dependencies.itertools]
version = "0.10.5"

[dependencies.log]
version = "0.4.17"

[dependencies.nusb]
optional = true
version = "0.2.0"

[dependencies.pci-ids]
version = "0.2.5"

[dependencies.regex]
optional = true
version = "1.10.5"

[dependencies.rusb]
optional = true
version = "0.9.4"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0.87"

[dependencies.serde_with]
version = "2.0.1"

[dependencies.simple_logger]
features = ["stderr"]
optional = false
version = "4.0.0"

[dependencies.strum]
version = "0.26"

[dependencies.strum_macros]
version = "0.26"

[dependencies.terminal_size]
version = "0.2.5"

[dependencies.unicode-width]
version = "0.2.0"

[dependencies.usb-ids]
version = "1"

[dependencies.uuid]
features = ["serde"]
version = "1.9.1"

[dev-dependencies.assert-json-diff]
version = "2.0.2"

[dev-dependencies.criterion]
version = "0.5.1"

[dev-dependencies.diff]
version = "0.1"

[[example]]
name = "extra_data"
path = "examples/extra_data.rs"

[[example]]
name = "filter_devices"
path = "examples/filter_devices.rs"

[[example]]
name = "print_devices"
path = "examples/print_devices.rs"

[[example]]
name = "walk_sp_data"
path = "examples/walk_sp_data.rs"

[features]
bin = []
cli_generate = ["dep:clap_complete", "dep:clap_mangen"]
default = ["native", "regex_icon", "watch", "bin"]
ffi = ["libusb", "udevlib"]
libusb = ["dep:rusb"]
native = ["nusb", "udev"]
regex_icon = ["dep:regex"]
udev = ["dep:udevrs"]
udev_hwdb = ["udevlib?/hwdb"]
udevlib = ["dep:udevlib"]
usb_test = []
watch = ["crossterm", "futures-lite", "nusb", "cansi"]

[lib]
name = "cyme"
path = "src/lib.rs"

[package]
authors = ["John Whittington <john@jbrengineering.co.uk>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-utilities"]
description = "List system USB buses and devices. A modern cross-platform lsusb"
edition = "2021"
exclude = [".github", "scripts"]
keywords = ["usb", "lsusb", "system_profiler", "macos", "libusb"]
license = "GPL-3.0-or-later"
name = "cyme"
readme = "README.md"
repository = "https://github.com/tuna-f1sh/cyme"
rust-version = "1.82"
version = "2.2.9"

[package.metadata.cross.target.aarch64-linux-android]
image = "ghcr.io/cross-rs/aarch64-linux-android:main"

[package.metadata.cross.target.aarch64-unknown-linux-gnu]
pre-build = ["dpkg --add-architecture arm64 && apt-get update && apt-get install --assume-yes libusb-1.0-0-dev:arm64 libudev-dev:arm64"]

[package.metadata.cross.target.arm-unknown-linux-gnueabihf]
pre-build = ["dpkg --add-architecture armhf && apt-get update && apt-get install --assume-yes libusb-1.0-0-dev:armhf libudev-dev:armhf"]

[package.metadata.cross.target.i686-unknown-linux-gnu]
pre-build = ["dpkg --add-architecture i386 && apt-get update && apt-get install --assume-yes libusb-1.0-0-dev:i386 libudev-dev:i386"]

[package.metadata.cross.target.x86_64-unknown-linux-gnu]
pre-build = ["apt-get update && apt-get install --assume-yes libusb-1.0-0-dev libudev-dev"]

[package.metadata.deb]
assets = [["target/release/cyme", "usr/bin/", "755"], ["README.md", "usr/share/doc/cyme/README", "644"], ["doc/cyme.1", "/usr/share/man/man1/cyme.1", "644"]]
changelog = "CHANGELOG.md"
copyright = "2024, John Whittington <john@jbrengineering.co.uk>"
extended-description = "Profiles system USB buses and the devices on those buses, including full device descriptors. Compatible with lsusb arguments and output whilst adding new features."
section = "utility"

[profile.release]
codegen-units = 1
lto = true
panic = "abort"
strip = true

[target.'cfg(target_os="linux")'.dependencies.glob]
version = "0.3.3"

[target.'cfg(target_os="linux")'.dependencies.udevlib]
optional = true
package = "udev"
version = "^0.8.0"

[target.'cfg(target_os="linux")'.dependencies.udevrs]
optional = true
version = "^0.4.0"

[target.'cfg(target_os="macos")'.dependencies.core-foundation]
version = "0.10.1"

[target.'cfg(target_os="macos")'.dependencies.core-foundation-sys]
version = "0.8.4"

[target.'cfg(target_os="macos")'.dependencies.io-kit-sys]
version = "0.4.0"

[[test]]
name = "integration_test"
path = "tests/integration_test.rs"

[[test]]
name = "integration_test_lsusb_display"
path = "tests/integration_test_lsusb_display.rs"