[package]
edition = "2018"
rust-version = "1.88.0"
name = "twitch_api"
version = "0.8.0"
authors = ["Emil Gardström <emil.gardstrom@gmail.com>"]
build = false
include = [
"src/*",
"./Cargo.toml",
"examples/*",
"./README.md",
"CONTRIBUTING.md",
"CHANGELOG.md",
"LICENSE*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = 'Library for talking with the new Twitch API aka. "Helix", EventSub and more!'
documentation = "https://docs.rs/twitch_api/0.8.0"
readme = "README.md"
keywords = [
"oauth",
"twitch",
"async",
"asynchronous",
"api",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/twitch-rs/twitch_api"
resolver = "2"
[package.metadata.docs.rs]
features = [
"all",
"unsupported",
"_all",
]
rustc-args = [
"--cfg",
"nightly",
]
rustdoc-args = [
"--cfg",
"nightly",
]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[features]
_all = [
"all",
"typed-builder",
"reqwest",
"ureq",
"mock_api",
"tower",
]
all = [
"helix",
"client",
"pubsub",
"eventsub",
"hmac",
"twitch_oauth2",
"tracing",
"twitch_types/time",
]
beta = []
client = [
"twitch_oauth2/client",
"dep:futures",
"dep:hyper",
]
default = ["deser_borrow"]
deny_unknown_fields = []
deser_borrow = []
eventsub = [
"serde_json/raw_value",
"twitch_types/chat",
"twitch_types/emote",
"twitch_types/eventsub",
"twitch_types/goal",
"twitch_types/moderation",
"twitch_types/points",
"twitch_types/stream",
"twitch_types/timestamp",
"twitch_types/sub",
"twitch_types/color",
"twitch_types/extension",
]
helix = [
"twitch_types/chat",
"twitch_types/color",
"twitch_types/emote",
"twitch_types/extension",
"twitch_types/goal",
"twitch_types/moderation",
"twitch_types/points",
"twitch_types/stream",
"twitch_types/timestamp",
"twitch_types/user",
"dep:async-trait",
"serde_json",
"dep:hyper",
]
hmac = [
"dep:crypto_hmac",
"dep:sha2",
]
mock_api = ["twitch_oauth2?/mock_api"]
pubsub = [
"serde_json",
"twitch_types/emote",
"twitch_types/moderation",
"twitch_types/stream",
"twitch_types/timestamp",
"twitch_types/user",
"twitch_types/points",
]
reqwest = [
"dep:reqwest",
"client",
"twitch_oauth2/reqwest",
]
serde_json = [
"dep:serde_json",
"dep:serde_path_to_error",
]
tower = [
"dep:tower-service",
"dep:http-body-util",
"client",
]
trace_unknown_fields = [
"dep:serde_ignored",
"tracing",
]
unsupported = [
"serde_json?/raw_value",
"beta",
]
ureq = [
"dep:ureq",
"client",
]
[lib]
name = "twitch_api"
path = "src/lib.rs"
[[example]]
name = "automod_check"
path = "examples/automod_check.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "channel_information"
path = "examples/channel_information.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "channel_information_custom"
path = "examples/channel_information_custom.rs"
required-features = [
"reqwest",
"helix",
"unsupported",
]
[[example]]
name = "client"
path = "examples/client.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "followed_streams"
path = "examples/followed_streams.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "get_channel_status"
path = "examples/get_channel_status.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "get_moderation"
path = "examples/get_moderation.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "get_streams"
path = "examples/get_streams.rs"
required-features = [
"reqwest",
"helix",
]
[[example]]
name = "mock_api"
path = "examples/mock_api.rs"
required-features = [
"reqwest",
"helix",
"mock_api",
"twitch_oauth2/mock_api",
]
[[example]]
name = "modify_channel"
path = "examples/modify_channel.rs"
required-features = [
"reqwest",
"helix",
]
[dependencies.aliri_braid]
version = "0.4.0"
[dependencies.async-trait]
version = "0.1.74"
optional = true
[dependencies.crypto_hmac]
version = "0.12.1"
optional = true
package = "hmac"
[dependencies.displaydoc]
version = "0.2.5"
[dependencies.futures]
version = "0.3.28"
optional = true
[dependencies.http]
version = "1.2.0"
[dependencies.http-body-util]
version = "0.1.1"
optional = true
[dependencies.hyper]
version = "1.4.1"
optional = true
[dependencies.once_cell]
version = "1.19.0"
[dependencies.reqwest]
version = "0.13.1"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.190"
[dependencies.serde_derive]
version = "1.0.190"
[dependencies.serde_ignored]
version = "0.1.9"
optional = true
[dependencies.serde_json]
version = "1.0.107"
optional = true
[dependencies.serde_path_to_error]
version = "0.1.14"
optional = true
[dependencies.sha2]
version = "0.10.8"
optional = true
[dependencies.thiserror]
version = "1.0.50"
[dependencies.tower-service]
version = "0.3.2"
optional = true
[dependencies.tracing]
version = "0.1.40"
optional = true
[dependencies.twitch_oauth2]
version = "0.17.0"
optional = true
[dependencies.twitch_types]
version = "0.4.10"
features = ["serde"]
[dependencies.typed-builder]
version = "0.20.0"
optional = true
[dependencies.ureq]
version = "2.10.1"
features = ["tls"]
optional = true
default-features = false
[dependencies.url]
version = "2.5.4"
[dev-dependencies.dotenvy]
version = "0.15.7"
[dev-dependencies.futures]
version = "0.3.28"
[dev-dependencies.hyper]
version = "1.4.1"
[dev-dependencies.reqwest]
version = "0.13.1"
[dev-dependencies.serde_cbor]
version = "0.11.2"
[dev-dependencies.serde_json]
version = "1.0.107"
[dev-dependencies.tokio]
version = "1.40.0"
features = [
"rt-multi-thread",
"macros",
]
[build-dependencies.tower]
version = "0.4.13"
[build-dependencies.version_check]
version = "0.9.4"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(_internal_never)",
"cfg(nightly)",
]
[profile.dev.package.backtrace]
opt-level = 3