buttplug 0.8.2

Buttplug Intimate Hardware Control Library
Documentation
[package]

name = "buttplug"

version = "0.8.2"

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=[]

dummy-runtime=[]

# Compiler config

unstable=[]



[dependencies]

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

buttplug_derive = "0.4.0"

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

futures-util = "0.3.5"

async-trait = "0.1.40"

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

serde_json = "1.0.57"

serde_repr = "0.1.6"

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

url = "2.1.1"

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

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

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

strum_macros = "0.19.2"

strum = "0.19.2"

once_cell = "1.4.1"

paste = "1.0.0"

# 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.5"

lazy_static = "1.4.0"

byteorder = "1.3.4"

valico = "3.4.0"

thiserror = "1.0.20"

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

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

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

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

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

futures-timer = "3.0.2"

async-channel = "1.4.2"

async-mutex = "1.3.0"

cfg-if = "0.1.10"

tracing = "0.1.19"

tracing-futures = "0.2.4"

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

dashmap = "4.0.0-rc6"

displaydoc = "0.1.7"

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

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



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

rusty-xinput = "1.2.0"



[dependencies.async-std]

version = "1.6.3"

# default-features = false

# features = ["std"]

optional = true



[dev-dependencies]

async-std = "1.6.3"

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"]