2个版本

0.13.1 2024年3月8日
0.13.0 2024年3月8日

#414音频

MIT 许可证

2.5MB
5.5K SLoC

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行。

特质层次结构

包层次结构

构建

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

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

许可证

MIT

依赖项

~3–19MB
~312K SLoC