12个版本
0.13.2 | 2024年6月4日 |
---|---|
0.13.0 | 2024年3月8日 |
0.12.0 | 2023年8月26日 |
0.11.7 | 2023年4月27日 |
0.11.3 | 2021年11月29日 |
#358 in 音频
5,027 每月下载量
在 18 个crate中(3直接)使用
23KB
319 行
RSpotify
RSpotify是Spotify Web API的封装,灵感来源于spotipy。它支持所有授权流程,并为所有端点提供辅助函数。
要了解如何使用RSpotify,请参阅文档。还有一些示例可能很有用。
更新日志
请参阅更新日志以获取发布历史和如何从版本升级到另一个版本的信息。
贡献
如果您发现任何问题或对此crate有任何建议,请提交问题。此外,任何pull request、代码审查和反馈都受欢迎。
代码指南
我们使用GitHub Actions确保代码库的一致性(cargo fmt
)和持续测试(cargo test
)。我们尝试将注释长度控制在80个字符以内(这不会由cargo fmt
自动检查),并将代码长度控制在120个字符以内。
特质层次结构
crate层次结构
构建
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中实现相同的基特质,所以如果您使用所有功能构建,您将得到duplicate definitions
错误。每个硬币都有两面,您一次只能有一面,不能有它的所有面。
WASM支持
RSpotify支持为wasm32-unknown-unknown
目标构建。它应该像这样简单
$ cargo build --target wasm32-unknown-unknown
有关更多详细信息,请参阅文档
许可
依赖关系
~0.8–16MB
~233K SLoC