[package]
name = "mtp-rs"
version = "0.22.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Pure-Rust MTP (Media Transfer Protocol) library for modern Android devices"
keywords = ["mtp", "android", "usb", "media", "transfer"]
categories = ["hardware-support", "filesystem"]
readme = "README.md"
documentation = "https://docs.rs/mtp-rs"
exclude = [
    "proptest-regressions/",
]

[package.metadata.docs.rs]
all-features = true

[dependencies]
# USB transport (Phase 3+)
nusb = "0.2"

# Async runtime agnostic
futures = "0.3"
futures-timer = "3.0"
async-trait = "0.1"

# Byte handling
bytes = "1.5"

# Filesystem watching for virtual device
notify = { version = "8", optional = true }

# For thiserror derive
thiserror = "2"

# Enum conversion derives
num_enum = "0.7"

[dev-dependencies]
tokio = { version = "1.35", features = ["rt-multi-thread", "macros", "time", "fs", "io-util"] }
proptest = "1"
serial_test = "3.1"
parking_lot = "0.12"  # Used by MockTransport
tempfile = "3"

[features]
default = []
virtual-device = ["notify"]
