12个版本

0.4.3 2024年6月26日
0.4.2 2024年2月22日
0.4.1 2023年5月15日
0.4.0 2022年12月13日
0.1.0 2022年7月19日

音频类别中排名91

Download history 122/week @ 2024-06-24 95/week @ 2024-07-01 48/week @ 2024-07-29

每月下载135

MIT/Apache

345KB
6.5K SLoC

Ferrispot

Crates.io docs.rs

一个Spotify Web API的包装器,希望它(不太)糟糕(我认为)。

许多功能都是为了我自己使用而设计的,但我正在努力使库易于使用和高效。到目前为止,只实现了我关心的端点,但如果需要实现某些端点,请随时提出问题。

特性

  • 类型安全的客户端和模型。
  • 异步和同步(阻塞)客户端。
  • 实现了Spotify支持的每个OAuth授权流程。
  • 支持多个同时用户客户端。
  • 在适用的情况下,自动刷新过期访问令牌。
  • 在异步客户端中使用时,根据您的选择使用Tokio的或async-std的sleep函数来响应API速率限制。同步客户端会阻塞运行线程。

包功能标志

  • async(默认):启用异步API。
  • sync:启用同步API。
    • 如果未启用任一API(default-features = false),则包仅包含对象模型结构,对serdethiserror的依赖最小。
  • tokio_sleep(默认):使用Tokio的sleep函数响应API速率限制。
  • async_std_sleep:使用async-std的sleep函数响应API速率限制。
    • 如果同时启用了tokio_sleepasync_std_sleep,则将使用Tokio的sleep函数。
    • 如果没有启用任一功能,则库将在出现时返回速率限制错误。
    • 除非同时启用了async功能,否则这些功能没有意义。
  • native-tls(默认):使用本机系统TLS库进行安全连接。
  • rustls-tls:使用rustls进行安全连接。

更新日志

请参阅CHANGELOG.md

版权归属

本仓库受到了以下项目的很多启发:

  • aspotify,由Sabrina Jewson创建,采用MIT许可协议
  • rspotify,由Ramsay Leung和Mario Ortiz Manero创建,采用MIT许可协议

许可证

双重许可协议下使用MIT或Apache 2.0许可协议。MITApache 2.0

依赖项

~0.4–14MB
~179K SLoC