[package] name = "playdate-device" version = "0.2.13" readme = "README.md" description = "Cross-platform interface Playdate device, async & blocking." keywords = ["playdate", "usb", "serial"] categories = ["hardware-support"] edition.workspace = true license.workspace = true authors.workspace = true homepage.workspace = true repository.workspace = true [dependencies] object-pool = "0.5" regex.workspace = true log.workspace = true miette = "7.2" thiserror.workspace = true nusb = "0.1" usb-ids = { version = "1.2024.2" } serialport = { version = "4.3", features = ["usbportinfo-interface"] } tokio-serial = { version = "5.4", optional = true } tracing = { version = "0.1", optional = true } # mb. read mount-points more correctly: # rustix = "0.38" serde = { workspace = true, features = ["derive"] } serde_json.workspace = true hex = "0.4" [dependencies.tokio] features = ["fs", "process", "time", "io-std"] workspace = true optional = true [dependencies.async-std] features = [ "std", "log", "gloo-timers", "futures-lite", "pin-project-lite", "unstable", "default", ] workspace = true optional = true [dependencies.futures-lite] version = "2.3" [dependencies.futures] version = "0.3" optional = true [dependencies.clap] features = ["std", "env", "derive", "help", "color"] workspace = true optional = true [target.'cfg(target_os = "macos")'.dependencies] plist = "1.6" const-hex = "1.11" [target.'cfg(target_os = "linux")'.dependencies] udev = "0.8" lfs-core = "0.11" eject = "0.1" [target.'cfg(target_os = "windows")'.dependencies.eject] version = "0.1" optional = true [target.'cfg(target_os = "windows")'.dependencies.windows] version = "0.58" features = [ "Win32_Foundation", "Win32_Storage", "Win32_Storage_FileSystem", "Win32_System", "Win32_System_IO", "Win32_System_Ioctl", "Win32_Security", ] [features] default = ["tokio", "tokio-serial"] tokio-serial = ["futures", "dep:tokio-serial", "tokio?/io-util", "tokio?/rt"] tokio = ["futures", "dep:tokio", "async-std?/tokio1"] # use tokio reactor async-std = ["futures", "dep:async-std"] # use async-std reactor [package.metadata.docs.rs] all-features = true rustdoc-args = ["--show-type-layout"] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] [badges.maintenance] status = "actively-developed"