Buttplug sex toy control library

build: Update version numbers in all crates, creates buttplug metacrate

Changed files
+131 -31
crates
buttplug
buttplug_client
buttplug_client_in_process
buttplug_core
buttplug_derive
buttplug_server_device_config
buttplug_server_hwmgr_btleplug
buttplug_server_hwmgr_hid
buttplug_server_hwmgr_lovense_connect
buttplug_server_hwmgr_lovense_dongle
buttplug_server_hwmgr_serial
buttplug_server_hwmgr_websocket
buttplug_server_hwmgr_xinput
buttplug_transport_websocket_tungstenite
intiface_engine
+1
Cargo.toml
··· 1 1 [workspace] 2 2 resolver = "3" 3 3 members = [ 4 + "crates/buttplug", 4 5 "crates/buttplug_client", 5 6 "crates/buttplug_client_in_process", 6 7 "crates/buttplug_core",
+23
crates/buttplug/Cargo.toml
··· 1 + [package] 2 + name = "buttplug" 3 + 4 + authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 + description = "Buttplug Intimate Hardware Control Library - Client Library" 6 + license = "BSD-3-Clause" 7 + homepage = "http://buttplug.io" 8 + repository = "https://github.com/buttplugio/buttplug.git" 9 + readme = "./README.md" 10 + keywords = ["usb", "serial", "hardware", "bluetooth", "teledildonics"] 11 + edition = "2024" 12 + exclude = ["examples/**"] 13 + 14 + [lib] 15 + name = "buttplug" 16 + path = "src/lib.rs" 17 + test = true 18 + doctest = true 19 + doc = true 20 + 21 + [dependencies] 22 + buttplug_client = { path = "../buttplug_client" } 23 + buttplug_transport_websocket_tungstenite = { path = "../buttplug_transport_websocket_tungstenite"}
+85
crates/buttplug/README.md
··· 1 + # Buttplug 2 + 3 + [![Patreon donate button](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://www.patreon.com/qdot) 4 + [![Github donate button](https://img.shields.io/badge/github-donate-ff69b4.svg)](https://www.github.com/sponsors/qdot) 5 + [![Discourse Forums](https://img.shields.io/discourse/status?label=buttplug.io%20forums&server=https%3A%2F%2Fdiscuss.buttplug.io)](https://discuss.buttplug.io) 6 + [![Discord](https://img.shields.io/discord/353303527587708932.svg?logo=discord)](https://discord.buttplug.io) 7 + [![Twitter](https://img.shields.io/twitter/follow/buttplugio.svg?style=social&logo=twitter)](https://twitter.com/buttplugio) 8 + [![bluesky](https://img.shields.io/bluesky/followers/buttplug.io)](https://bsky.app/profile/buttplug.io) 9 + 10 + [![Crates.io Version](https://img.shields.io/crates/v/buttplug)](https://crates.io/crates/buttplug) 11 + [![Crates.io Downloads](https://img.shields.io/crates/d/buttplug)](https://crates.io/crates/buttplug) 12 + [![Crates.io License](https://img.shields.io/crates/l/buttplug)](https://crates.io/crates/buttplug) 13 + 14 + <div align="center"> 15 + <h3> 16 + <a href="https://docs.rs/buttplug"> 17 + Rust API Documentation 18 + </a> 19 + <span> | </span> 20 + <a href="https://docs.buttplug.io/docs/dev-guide"> 21 + Developer Guide 22 + </a> 23 + <span> | </span> 24 + <a href="https://docs.buttplug.io/docs/spec"> 25 + Protocol Spec 26 + </a> 27 + <span> | </span> 28 + <a href="https://awesome.buttplug.io"> 29 + Apps and Games List 30 + </a> 31 + </h3> 32 + </div> 33 + 34 + <p align="center"> 35 + <picture> 36 + <source media="(prefers-color-scheme: light)" srcset="images/buttplug_rust_docs.png"> 37 + <source media="(prefers-color-scheme: dark)" srcset="images/buttplug_rust_docs_light.png"> 38 + <img src="https://raw.githubusercontent.com/buttplugio/buttplug/master/images/buttplug_rust_docs.png"> 39 + </picture> 40 + </p> 41 + 42 + # Buttplug Client Library (Rehosted as Buttplug) 43 + 44 + This is a rehosted version of the [buttplug_client](../buttplug_client/) library. We wanted to keep the crate name being something useful, but the rest of the library has been split into seperate crates. 45 + 46 + Including this library is similar to just including buttplug_client and the buttplug_transport_websocket_tungstinite libraries. 47 + 48 + ## Where's the server side? 49 + 50 + At this point, we're assuming anyone using the server portion of Buttplug is doing so via [Intiface Engine](../intiface_engine/) or [Intiface Central](https://intiface.com/central), as should only need the client and core portions of the project. Only those portions of the project are rehosted through this library now. 51 + 52 + ## License 53 + 54 + Buttplug is BSD 3-Clause licensed. 55 + 56 + ```text 57 + 58 + Copyright (c) 2016-2025, Nonpolynomial, LLC 59 + All rights reserved. 60 + 61 + Redistribution and use in source and binary forms, with or without 62 + modification, are permitted provided that the following conditions are met: 63 + 64 + * Redistributions of source code must retain the above copyright notice, this 65 + list of conditions and the following disclaimer. 66 + 67 + * Redistributions in binary form must reproduce the above copyright notice, 68 + this list of conditions and the following disclaimer in the documentation 69 + and/or other materials provided with the distribution. 70 + 71 + * Neither the name of buttplug nor the names of its 72 + contributors may be used to endorse or promote products derived from 73 + this software without specific prior written permission. 74 + 75 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 76 + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 77 + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 78 + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 79 + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 80 + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 81 + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 82 + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 83 + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 84 + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 85 + ```
+2
crates/buttplug/src/lib.rs
··· 1 + pub use buttplug_client::*; 2 + pub use buttplug_transport_websocket_tungstenite::*;
+1 -1
crates/buttplug_client/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_client" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_client_in_process/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_client_in_process" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_core/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_core" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_derive/README.md
··· 18 18 19 19 ```text 20 20 21 - Copyright (c) 2016-2022, Nonpolynomial, LLC 21 + Copyright (c) 2016-2025, Nonpolynomial, LLC 22 22 All rights reserved. 23 23 24 24 Redistribution and use in source and binary forms, with or without
+1 -1
crates/buttplug_server_device_config/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_device_config" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Server Device Config Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_btleplug/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_btleplug" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_hid/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_hid" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_lovense_connect/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_lovense_connect" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_lovense_dongle/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_lovense_dongle" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_serial/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_serial" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_websocket/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_websocket" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_server_hwmgr_xinput/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_server_hwmgr_xinput" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Core Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/buttplug_transport_websocket_tungstenite/Cargo.toml
··· 1 1 [package] 2 2 name = "buttplug_transport_websocket_tungstenite" 3 - version = "10.0.0" 3 + version = "10.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "Buttplug Intimate Hardware Control Library - Server Device Config Library" 6 6 license = "BSD-3-Clause"
+1 -1
crates/intiface_engine/Cargo.toml
··· 1 1 [package] 2 2 name = "intiface-engine" 3 - version = "3.0.8" 3 + version = "4.0.0-beta1" 4 4 authors = ["Nonpolynomial Labs, LLC <kyle@nonpolynomial.com>"] 5 5 description = "CLI and Library frontend for the Buttplug sex toy control library" 6 6 license = "BSD-3-Clause"
+6 -17
crates/intiface_engine/README.md
··· 5 5 [![Discourse Forums](https://img.shields.io/discourse/status?label=buttplug.io%20forums&server=https%3A%2F%2Fdiscuss.buttplug.io)](https://discuss.buttplug.io) 6 6 [![Discord](https://img.shields.io/discord/353303527587708932.svg?logo=discord)](https://discord.buttplug.io) 7 7 [![Twitter](https://img.shields.io/twitter/follow/buttplugio.svg?style=social&logo=twitter)](https://twitter.com/buttplugio) 8 - 9 - ![Intiface Engine Build](https://github.com/intiface/intiface-engine/workflows/Intiface%20Engine%20Build/badge.svg) ![crates.io](https://img.shields.io/crates/v/intiface-engine.svg) 10 - 8 + [![bluesky](https://img.shields.io/bluesky/followers/buttplug.io)](https://bsky.app/profile/buttplug.io) 11 9 12 10 <p align="center"> 13 11 <img src="https://raw.githubusercontent.com/buttplugio/buttplug/dev/images/buttplug_rust_docs.png"> ··· 19 17 but since we're trying to not make people install a program named "Buttplug", here we are. 20 18 21 19 While this program can be used standalone, it will mostly be featured as a backend/engine for 22 - Intiface Central. 20 + [Intiface Central](https://intiface.com/central). 23 21 24 22 ## Running 25 23 ··· 54 52 ## Compiling 55 53 56 54 Linux will have extra compilation dependency requirements via 57 - [buttplug-rs](https://github.com/buttplugio/buttplug-rs). For pacakges required, 55 + [buttplug-rs](https://github.com/buttplugio/buttplug). For pacakges required, 58 56 please check there. 59 57 60 - ## Contributing 58 + ## Filing Issues and Contributing 61 59 62 - Right now, we mostly need code/API style reviews and feedback. We don't really have any good 63 - bite-sized chunks to mentor the implementation yet, but one we do, those will be marked "Help 64 - Wanted" in our [github issues](https://github.com/buttplugio/buttplug-rs/issues). 65 - 66 - As we need money to keep up with supporting the latest and greatest hardware, we also have multiple 67 - ways to donate! 68 - 69 - - [Patreon](https://patreon.com/qdot) 70 - - [Github Sponsors](https://github.com/sponsors/qdot) 71 - - [Ko-Fi](https://ko-fi.com/qdot76367) 60 + [See top level README for more info.](https://github.com/buttplugio/buttplug) 72 61 73 62 ## License and Trademarks 74 63 ··· 76 65 77 66 Buttplug and Intiface are BSD licensed. 78 67 79 - Copyright (c) 2016-2022, Nonpolynomial Labs, LLC 68 + Copyright (c) 2016-2025, Nonpolynomial Labs, LLC 80 69 All rights reserved. 81 70 82 71 Redistribution and use in source and binary forms, with or without