#exercism #http #rest #api-bindings #api

mini_exercism

与 Exercism.org API 交互的极简 Rust 库

6 个稳定版本

3.0.0 2024年4月16日
2.1.0 2024年1月15日
1.2.0 2023年11月13日
1.1.0 2023年10月14日
1.0.0 2023年9月16日

#238 in 异步

Download history 832/week @ 2024-04-15 27/week @ 2024-04-22 160/week @ 2024-04-29 214/week @ 2024-05-06 162/week @ 2024-05-13 175/week @ 2024-05-20 86/week @ 2024-05-27 142/week @ 2024-06-03 216/week @ 2024-06-10 117/week @ 2024-06-17 122/week @ 2024-06-24 181/week @ 2024-07-01 125/week @ 2024-07-08 22/week @ 2024-07-15 791/week @ 2024-07-22 437/week @ 2024-07-29

1,375 每月下载量
用于 auxiliaire

MIT 许可证

130KB
2K SLoC

mini_exercism

CI codecov Security audit crates.io downloads docs.rs Contributor Covenant

与 Exercism.org API 交互的极简 Rust 库。

Exerci-what?

Exercism 是一个免费的非营利平台,用于学习新的编程语言。它支持用于解决练习的网页编辑器、真实人类的指导以及更多内容。有关更多信息,请参阅其关于页面

安装

mini_exercism 添加到您的依赖项

[dependencies]
mini_exercism = "3.0.0"

或通过运行

cargo add mini_exercism

示例

use mini_exercism::api;
use mini_exercism::api::v2::exercises::Filters;
use mini_exercism::core::Credentials;

async fn get_published_solution_uuids(
    api_token: &str,
    track: &str,
) -> anyhow::Result<Vec<String>> {
    let credentials = Credentials::from_api_token(api_token);
    let client = api::v2::Client::builder()
        .credentials(credentials)
        .build()?;

    let filters = Filters::builder().include_solutions(true).build();
    let solutions = client.get_exercises(track, Some(filters)).await?.solutions;

    Ok(solutions
        .into_iter()
        .filter(|solution| solution.published_at.is_some())
        .map(|solution| solution.uuid)
        .collect())
}

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

最低 Rust 版本

mini_exercism 目前在 Rust 1.64 或更高版本上构建。

依赖关系

~4–15MB
~221K SLoC