buttplug 0.11.3

Buttplug Intimate Hardware Control Library
Documentation
[package]

name = "buttplug"

version = "0.11.3"

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-rs.git"

readme = "../README.md"

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

edition = "2018"

exclude = ["examples/**"]



[features]

# Basic features

#default=["thread-pool-runtime", "client", "server", "serialize-json", "btleplug-manager", "websockets", "xinput-manager", "serial-manager", "lovense-dongle-manager"]

default=["async-std-runtime", "client", "server", "serialize-json", "btleplug-manager", "websockets", "xinput-manager", "serial-manager", "lovense-dongle-manager"]

client=[]

server=[]

serialize-json=[]

# Connectors

websockets=["serialize-json", "async-tungstenite", "async-tls", "webpki", "rustls"]

# Device Communication Managers

xinput-manager=["server"]

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

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

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

# Runtime managers

thread-pool-runtime=[]

async-std-runtime=["async-std/default"]

tokio-runtime=[]

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

dummy-runtime=[]

# Compiler config

unstable=[]



[dependencies]

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

buttplug_derive = "0.5.0"

futures = { version = "0.3.8", features = ["thread-pool"] }

futures-util = "0.3.8"

async-trait = "0.1.42"

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

serde_json = "1.0.60"

serde_repr = "0.1.6"

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

url = "2.2.0"

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

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

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

strum_macros = "0.20.1"

strum = "0.20.0"

once_cell = "1.5.2"

paste = "1.0.4"

# Can't use async-channel here because it's Sender isn't Sink. We'll just use futures-channel.

broadcaster = { version = "1.0.0", features = ["default-channels"] }

# Broadcaster uses an older channel implementation, we can have it use a newer one.

futures-channel = "0.3.8"

lazy_static = "1.4.0"

byteorder = "1.3.4"

valico = "3.5.0"

thiserror = "1.0.22"

async-tungstenite = { version = "0.10.0", features = ["async-std-runtime", "async-tls"], optional = true }

# Needs to stay in line with async-tungstenite's version

async-tls = { version = "0.10.0", optional = true }

rustls = { version = "0.18.1", features = ["dangerous_configuration"], optional = true }

webpki = { version = "0.21.4", optional = true }

futures-timer = "3.0.2"

async-channel = "1.5.1"

async-lock = "2.3.0"

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

cfg-if = "1.0.0"

tracing = "0.1.22"

tracing-futures = "0.2.4"

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

dashmap = "4.0.0-rc6"

displaydoc = "0.1.7"

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

hidapi = { version = "1.2.5", optional = true }

wasm-bindgen = { version = "0.2.69", optional = true }

tokio = { version = "0.3.6", features = ["sync"] }



[target.'cfg(windows)'.dependencies]

rusty-xinput = "1.2.0"



[dependencies.async-std]

version = "1.8.0"

default-features = false

features = ["std"]

optional = true



[dev-dependencies]

async-std = "1.8.0"

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



[lib]

name = "buttplug"

path = "src/lib.rs"

test = true

doctest = true

doc = true



# Only build docs on one platform (linux)

[package.metadata.docs.rs]

targets = []

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

features = ["default", "unstable"]