-
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Cargo.toml
95 lines (88 loc) · 3.39 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[package]
name = "obws"
version = "0.14.0"
authors = ["Dominik Nakamura <[email protected]>"]
edition = "2021"
rust-version = "1.70"
license = "MIT"
readme = "README.md"
description = "The obws (obvious) remote control library for OBS."
homepage = "https://github.com/dnaka91/obws"
repository = "https://github.com/dnaka91/obws"
categories = ["api-bindings", "web-programming"]
keywords = ["async", "obs", "obs-websocket", "remote-control", "tokio"]
include = ["examples/**/*", "tests/**/*", "src/**/*", "LICENSE", "README.md", "CHANGELOG.md"]
[package.metadata.docs.rs]
features = ["doc"]
[package.metadata.cargo_check_external_types]
allowed_external_types = [
"bitflags::iter::Iter",
"bitflags::iter::IterNames",
"bitflags::traits::Flags",
"rgb::RGBA8",
"semver::Comparator",
"semver::Version",
"serde::de::Deserialize",
"serde::de::DeserializeOwned",
"serde::ser::Serialize",
"serde_json::value::Value",
"time::duration::Duration",
"uuid::Uuid",
]
[dependencies]
async-stream = { version = "0.3.6", optional = true }
base64 = "0.22.1"
bitflags = { version = "2.6.0", features = ["serde"] }
bon = { version = "3.3.2", optional = true }
document-features = { version = "0.2.10", optional = true }
futures-util = { version = "0.3.31", features = ["sink"] }
rgb = { version = "0.8.50", default-features = false }
semver = { version = "1.0.24", features = ["serde"] }
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.134"
serde_repr = "0.1.19"
serde_with = "3.11.0"
sha2 = "0.10.8"
thiserror = "2.0.9"
time = "0.3.37"
tokio = { version = "1.38.1", features = ["net", "rt", "sync", "time"] }
tokio-tungstenite = "0.26.1"
tracing = "0.1.41"
uuid = { version = "1.11.0", features = ["serde"] }
[dev-dependencies]
anyhow = "1.0.95"
dotenvy = "0.15.7"
serde_test = "1.0.177"
test-log = { version = "0.2.14", default-features = false, features = ["trace"] }
tokio = { version = "1.38.1", features = ["fs", "macros", "rt-multi-thread", "time"] }
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
uuid = { version = "1.11.0", features = ["v8"] }
[features]
default = []
#! By default no features are enabled in this crate, making all of them opt-in by design.
test-integration = []
## The builder feature enables struct builders for all available requests as well as the connection
## configuration struct.
##
## This enables new APIs for constructing instances of the request structs with type-safe builders
## for convenience, instead of typical struct initialization. It is especially helpful for structs
## with many optional fields.
##
## For example, have a look at [`ConnectConfig::builder`](crate::client::ConnectConfig::builder).
builder = ["dep:bon"]
doc = ["builder", "events", "tls", "dep:document-features"]
## The event feature enables receiving of user interaction events from `obs-websocket`.
##
## This is not enabled by default, as it has a large impact on the compilation time. Enabling it is
## crucial for reacting to user interactions in OBS, but be warned about the noticable compliation
## time increase.
events = ["dep:async-stream"]
## The tls feature enables Transport Layer Security support for the connection to OBS, helpful when
## securing the connection to a remote instance.
tls = ["tokio-tungstenite/rustls-tls-webpki-roots"]
[[example]]
name = "events"
required-features = ["events"]
[[test]]
name = "integration"
required-features = ["events"]