26个发布版本
0.13.2 | 2024年6月4日 |
---|---|
0.13.0 | 2024年3月8日 |
0.12.0 | 2023年8月26日 |
0.11.7 |
|
0.1.2 | 2018年3月13日 |
#8 在 音频 分类中
7,043 每月下载量
在 26 个库 中使用
2.5MB
5.5K SLoC
RSpotify
RSpotify是一个基于Spotify Web API的封装器,灵感来源于spotipy。它支持所有授权流程,并为所有端点提供辅助函数。
要了解如何使用RSpotify,请参阅文档。还有一些示例可能也很有用。
变更日志
请参阅变更日志以了解发布历史和如何从版本升级到版本。
贡献
如果您发现任何问题或对此库有任何建议,请提交问题。此外,任何pull request、代码审查和反馈都欢迎。
代码指南
我们使用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中实现相同的基特质,所以如果你构建所有功能,你会得到duplicate definitions
错误。正如硬币有两面一样,你一次只能有一面,不能有它的所有面。
WASM支持
RSpotify支持为wasm32-unknown-unknown
目标构建。它应该像这样简单:
$ cargo build --target wasm32-unknown-unknown
有关更多详细信息,请参阅文档
许可证
依赖关系
~3–20MB
~329K SLoC