buttplug 7.1.6

Buttplug Intimate Hardware Control Library
Documentation
[package]

name = "buttplug"

version = "7.1.6"

authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"]

description = "Buttplug Intimate Hardware Control Library"

license = "BSD-3-Clause"

homepage = "http://buttplug.io"

repository = "https://github.com/buttplugio/buttplug.git"

readme = "./README.md"

keywords = ["usb", "serial", "hardware", "bluetooth", "teledildonics"]

edition = "2021"

exclude = ["examples/**"]



[lib]

name = "buttplug"

path = "src/lib.rs"

test = true

doctest = true

doc = true

crate-type = ["cdylib", "rlib"]



# Only build docs on one platform (linux)

[package.metadata.docs.rs]

targets = []

# Features to pass to Cargo (default: [])

features = ["default", "unstable"]



[features]

# Basic features

default=["tokio-runtime", "jsonschema/resolve-file", "client", "server", "serialize-json", "websockets", "btleplug-manager", "xinput-manager", "serial-manager", "hid-manager", "lovense-dongle-manager", "lovense-connect-service-manager", "websocket-server-manager"]

client=[]

server=[]

serialize-json=[]

# Connectors

websockets=["serialize-json", "async-tungstenite", "tokio-native-tls"]

# Device Communication Managers

xinput-manager=["server"]

btleplug-manager=["server", "btleplug"]

serial-manager=["server", "serialport"]

hid-manager=["server", "hidapi"]

lovense-dongle-manager=["server", "serialport", "hidapi"]

lovense-connect-service-manager=["server","reqwest"]

websocket-server-manager=["server", "websockets"]

# Runtime managers

tokio-runtime=["async-tungstenite/tokio-runtime", "async-tungstenite/tokio-native-tls"]

wasm-bindgen-runtime=["wasm-bindgen", "wasm-bindgen-futures"]

wasm = ["server", "wasm-bindgen-runtime", "serialize-json", "wasm-bindgen", "uuid/wasm-bindgen", "wasmtimer"]

dummy-runtime=[]

# Compiler config

unstable=[]



[dependencies]

buttplug_derive = "0.8.0"

# buttplug_derive = { path = "../buttplug_derive" }

futures = "0.3.28"

futures-util = "0.3.28"

async-trait = "0.1.73"

serde = { version = "1.0.188", features = ["derive"] }

serde_json = "1.0.107"

serde_repr = "0.1.16"

uuid = { version = "1.4.1", features = ["serde"] }

url = "2.4.1"

btleplug = { version = "0.11.1", optional = true }

# btleplug = { path = "../../btleplug", optional = true}

# btleplug = { git = 'https://github.com/deviceplug/btleplug', branch = 'master', optional = true }

strum_macros = "0.25.2"

strum = "0.25.0"

once_cell = "1.18.0"

paste = "1.0.14"

lazy_static = "1.4.0"

byteorder = "1.4.3"

thiserror = "1.0.48"

async-tungstenite = { version = "0.23.0", optional = true }

tokio-native-tls = { version = "0.3.1", optional = true }

wasm-bindgen-futures = { version = "0.4.37", optional = true }

cfg-if = "1.0.0"

tracing = "0.1.37"

tracing-futures = "0.2.5"

tracing-subscriber = { version = "0.3.17", features = ["json"] }

dashmap = "5.5.3"

displaydoc = "0.2.4"

wasm-bindgen = { version = "0.2.87", features = ["serde-serialize"], optional = true }

tokio = { version = "1.32.0", features = ["sync", "macros", "io-util"] }

async-stream = "0.3.5"

prost = "0.12.1"

tokio-util = "0.7.8"

reqwest = { version = "0.11.20", default-features = false, optional = true, features = ["rustls-tls"] }

serde-aux = "4.2.0"

getset = "0.1.2"

os_info = "3.7.0"

jsonschema = { version = "0.17.1", default-features = false }

derivative = "2.2.0"

tokio-stream = "0.1.14"

wasmtimer = { version = "0.2.0", optional = true }



[dev-dependencies]

serde_yaml = "0.9.25"

test-case = "3.1.0"

tokio = { version = "1.32.0", features = ["io-std", "rt"] }

tracing-log = { version = "0.1.3", features = ["env_logger"] }



[build-dependencies]

prost-build = "0.12.1"



[target.'cfg(target_os = "windows")'.dependencies]

rusty-xinput = "1.2.0"

windows = { version = "0.51.1", features = ["Devices_Bluetooth", "Foundation"] }

serialport = { version = "4.2.2", optional = true }

# Linux hidraw is needed here in order to work with the lovense dongle. libusb breaks it on linux.

# Other platforms are not affected by the feature changes.

hidapi = { version = "2.4.1", default-features = false, features = ["linux-static-hidraw", "illumos-static-libusb"], optional = true }



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

serialport = { version = "4.2.2", optional = true }

# Linux hidraw is needed here in order to work with the lovense dongle. libusb breaks it on linux.

# Other platforms are not affected by the feature changes.

hidapi = { version = "2.4.1", default-features = false, features = ["linux-static-hidraw", "illumos-static-libusb"], optional = true }



[target.'cfg(target_os = "macos")'.dependencies]

serialport = { version = "4.2.2", optional = true }

# Linux hidraw is needed here in order to work with the lovense dongle. libusb breaks it on linux.

# Other platforms are not affected by the feature changes.

hidapi = { version = "2.4.1", default-features = false, features = ["linux-static-hidraw", "illumos-static-libusb"], optional = true }



[dependencies.web-sys]

version = "0.3.64"

# path = "../../wasm-bindgen/crates/web-sys"

#git = "https://github.com/rustwasm/wasm-bindgen"

optional = true

features = [

  "Navigator",

  "Bluetooth",

  "BluetoothDevice",

  "BluetoothLeScanFilterInit",

  "BluetoothRemoteGattCharacteristic",

  "BluetoothRemoteGattServer",

  "BluetoothRemoteGattService",

  "BinaryType",

  "Blob",

  "console",

  "ErrorEvent",

  "Event",

  "FileReader",

  "MessageEvent",

  "ProgressEvent",

  "RequestDeviceOptions",

  "WebSocket",

  "Window"

]