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 音频

Download history 1072/week @ 2024-04-17 1421/week @ 2024-04-24 1497/week @ 2024-05-01 1227/week @ 2024-05-08 1224/week @ 2024-05-15 1391/week @ 2024-05-22 1223/week @ 2024-05-29 1080/week @ 2024-06-05 1011/week @ 2024-06-12 1041/week @ 2024-06-19 899/week @ 2024-06-26 1600/week @ 2024-07-03 1284/week @ 2024-07-10 1392/week @ 2024-07-17 1258/week @ 2024-07-24 897/week @ 2024-07-31

5,027 每月下载量
18 个crate中(3直接)使用

MIT 许可证

23KB
319

Continuous Integration License Crates.io Docs

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

有关更多详细信息,请参阅文档

许可

MIT

依赖关系

~0.8–16MB
~233K SLoC