26个发布版本

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.1.2 2018年3月13日

#8音频 分类中

Download history 1938/week @ 2024-05-03 1713/week @ 2024-05-10 1812/week @ 2024-05-17 1867/week @ 2024-05-24 1806/week @ 2024-05-31 1420/week @ 2024-06-07 1639/week @ 2024-06-14 1618/week @ 2024-06-21 1746/week @ 2024-06-28 1936/week @ 2024-07-05 2062/week @ 2024-07-12 1810/week @ 2024-07-19 1858/week @ 2024-07-26 1561/week @ 2024-08-02 1935/week @ 2024-08-09 1460/week @ 2024-08-16

7,043 每月下载量
26 个库 中使用

MIT 许可证

2.5MB
5.5K SLoC

Continuous Integration License Crates.io Docs

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

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

许可证

MIT

依赖关系

~3–20MB
~329K SLoC