1 个不稳定版本
0.13.0 | 2024年3月8日 |
---|
#914 in 音频
2.5MB
5.5K SLoC
RSpotify
RSpotify 是 Spotify Web API 的包装器,灵感来源于 spotipy。它支持所有 授权流程,并为所有端点提供辅助函数。
要了解如何使用 RSpotify,请参阅 文档。还有一些 示例可能很有用。
更新日志
请参阅 更新日志以获取发布历史和如何从一个版本升级到另一个版本的指示。
贡献
如果您发现任何问题或对此 crate 有建议,请提交问题。此外,任何拉取请求、代码审查和反馈都欢迎。
代码指南
我们使用 GitHub Actions 确保代码库一致(cargo fmt
)和持续测试(cargo test
)。我们尝试将注释长度控制在最多 80 个字符(这不是由 cargo fmt
自动检查的)和代码长度控制在 120。
特性行列
包行列
构建
RSpotify 使用 maybe_async
在异步和阻塞客户端之间切换,这触发于 Cargo.toml
内。因此在构建 rspotify
时必须考虑这一点。有关如何使用自定义 TLS 实现构建以及更多信息,请参阅文档中的配置部分。
client-reqwest
是默认使用的。它应该像这样简单:
$ cargo build
client-ureq
也可以作为 blocking
接口使用,它使用 ureq
(还必须指定 TLS)编译 RSpotify。
$ cargo build --no-default-features --features client-ureq,ureq-rustls-tls
请注意,您不能像这样构建带有所有功能的 rspotify
$ cargo build --all-features
因为为了在客户端之间切换,不同的客户端必须在 src/http/mod.rs 中实现相同的基特征,所以如果您构建带有所有功能,您将得到 重复定义
错误。每个硬币都有两面,您一次只能拥有一面,不能拥有所有面。
WASM 支持
RSpotify 支持为 wasm32-unknown-unknown
目标进行构建。这应该像这样简单
$ cargo build --target wasm32-unknown-unknown
有关更多详细信息,请参阅 文档
许可
依赖关系
~3–23MB
~332K SLoC