mini_exercism

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

Minimalistic Rust library to interact with the Exercism.org APIs.

Exerci-what?

Exercism is a free, not-for-profit platform to learn new programming languages. It supports a web editor for solving exercises, mentoring with real humans and a lot more. For more information, see its about page.

Installing

Add mini_exercism to your dependencies:

toml [dependencies] mini_exercism = "1"

or by running:

bash cargo add mini_exercism

Example

```rust use miniexercism::api; use miniexercism::api::v2::ExerciseFilters; use mini_exercism::core::Credentials;

async fn getpublishedsolutionuuids( apitoken: &str, track: &str, ) -> anyhow::Result> { let credentials = Credentials::fromapitoken(api_token); let client = api::v2::Client::builder().credentials(credentials).build();

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

anyhow::Ok(
    solutions
        .into_iter()
        .filter(|solution| solution.published_at.is_some())
        .map(|solution| solution.uuid)
        .collect(),
)

} ```

For more information, see the docs.

Minimum Rust version

mini_exercism currently builds on Rust 1.63 or newer.