15 releases

0.2.1 May 2, 2024
0.2.0 Jan 9, 2024
0.1.7 Oct 27, 2023
0.1.4 Jul 31, 2023

#6 in #untrusted

Download history 1/week @ 2024-02-20 18/week @ 2024-02-27 93/week @ 2024-03-05 1/week @ 2024-03-26 17/week @ 2024-04-02 150/week @ 2024-04-30

150 downloads per month

MIT license

28KB
458 lines

check test codecov Version dependency status

Sandkasten Client

Sandkasten client library for running untrusted code

Example

use sandkasten_client::{
    schemas::programs::{BuildRequest, BuildRunRequest, MainFile},
    SandkastenClient,
};

#[tokio::main]
async fn main() {
    let client = SandkastenClient::new("http://your-sandkasten-instance".parse().unwrap());
    let result = client
        .build_and_run(&BuildRunRequest {
            build: BuildRequest {
                environment: "python".into(),
                main_file: MainFile {
                    name: Some("test.py".into()),
                    content: "print(6 * 7, end='')".into(),
                },
                ..Default::default()
            },
            run: Default::default(),
        })
        .await
        .unwrap();
    assert_eq!(result.run.stdout, "42");
}

Dependencies

~4–24MB
~346K SLoC