[package]
authors = [
"Ramsay Leung <ramsayleung@gmail.com>",
"Mario Ortiz Manero <marioortizmanero@gmail.com>",
"Channing Babb <channingbabb@gmail.com>"
]
name = "rspotifys"
version = "0.13.0"
license = "MIT"
readme = "README.md"
description = "Spotify API wrapper"
homepage = "https://github.com/ramsayleung/rspotify"
repository = "https://github.com/ramsayleung/rspotify"
keywords = ["spotify", "api"]
categories = ["api-bindings", "multimedia::audio"]
edition = "2021"
rust-version = "1.56"
[workspace]
members = [
"rspotify-macros",
"rspotify-model",
"rspotify-http"
]
exclude = [
"examples/webapp"
]
[dependencies]
rspotify-macros = { path = "rspotify-macros", version = "0.13.0" }
rspotify-model = { path = "rspotify-model", version = "0.13.0" }
rspotify-http = { path = "rspotify-http", version = "0.13.0", default-features = false }
async-stream = { version = "0.3.2", optional = true }
async-trait = { version = "0.1.51", optional = true }
base64 = "0.22.0"
chrono = { version = "0.4.35", features = ["serde"] }
dotenvy = { version = "0.15.0", optional = true }
futures = { version = "0.3.17", optional = true }
log = "0.4.14"
maybe-async = "0.2.6"
serde = { version = "1.0.130", default-features = false }
serde_json = "1.0.67"
sha2 = "0.10.0"
thiserror = "1.0.29"
url = "2.2.2"
webbrowser = { version = "0.8.0", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.3", features = ["js"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
getrandom = "0.2.3"
[dev-dependencies]
env_logger = { version = "0.11.0", default-features = false }
futures-util = "0.3.17"
wasm-bindgen-test = "0.3.34"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
tokio = { version = "1.11.0", features = ["rt-multi-thread", "macros"] }
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
tokio = { version = "1.11.0", features = ["rt", "macros"] }
dotenvy_macro = { version = "0.15.7" }
[features]
default = ["client-reqwest", "reqwest-default-tls"]
cli = ["webbrowser"]
env-file = ["dotenvy"]
client-ureq = ["rspotify-http/client-ureq", "__sync"]
client-reqwest = ["rspotify-http/client-reqwest", "__async"]
reqwest-default-tls = ["rspotify-http/reqwest-default-tls"]
reqwest-rustls-tls = ["rspotify-http/reqwest-rustls-tls"]
reqwest-native-tls = ["rspotify-http/reqwest-native-tls"]
reqwest-native-tls-vendored = ["rspotify-http/reqwest-native-tls-vendored"]
ureq-rustls-tls = ["rspotify-http/ureq-rustls-tls"]
ureq-rustls-tls-native-certs = ["rspotify-http/ureq-rustls-tls-native-certs"]
ureq-native-tls = ["rspotify-http/ureq-native-tls"]
__async = ["futures", "async-stream", "async-trait"]
__sync = ["maybe-async/is_sync"]
[package.metadata.docs.rs]
features = ["cli", "env-file", "client-ureq"]
no-default-features = true
[[example]]
name = "client_creds"
required-features = ["env-file", "client-reqwest"]
path = "examples/client_creds.rs"
[[example]]
name = "auth_code"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/auth_code.rs"
[[example]]
name = "auth_code_pkce"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/auth_code_pkce.rs"
[[example]]
name = "oauth_tokens"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/oauth_tokens.rs"
[[example]]
name = "with_refresh_token"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/with_refresh_token.rs"
[[example]]
name = "with_auto_reauth"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/with_auto_reauth.rs"
[[example]]
name = "with_token_callback_fn"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/with_token_callback_fn.rs"
[[example]]
name = "device"
required-features = ["env-file", "cli", "client-ureq"]
path = "examples/ureq/device.rs"
[[example]]
name = "me"
required-features = ["env-file", "cli", "client-ureq"]
path = "examples/ureq/me.rs"
[[example]]
name = "search"
required-features = ["env-file", "client-ureq"]
path = "examples/ureq/search.rs"
[[example]]
name = "seek_track"
required-features = ["env-file", "cli", "client-ureq"]
path = "examples/ureq/seek_track.rs"
[[example]]
name = "threading"
required-features = ["env-file", "client-ureq"]
path = "examples/ureq/threading.rs"
[[example]]
name = "tasks"
required-features = ["env-file", "client-reqwest"]
path = "examples/tasks.rs"
[[example]]
name = "pagination_manual"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/pagination_manual.rs"
[[example]]
name = "pagination_sync"
required-features = ["env-file", "cli", "client-ureq"]
path = "examples/pagination_sync.rs"
[[example]]
name = "pagination_async"
required-features = ["env-file", "cli", "client-reqwest"]
path = "examples/pagination_async.rs"