32 releases

0.7.0 Jan 14, 2021
0.6.6 Jul 31, 2020
0.6.5 May 7, 2020
0.6.3 Mar 30, 2020
0.0.2 Nov 25, 2016
Download history 3/week @ 2021-04-01 43/week @ 2021-04-08 66/week @ 2021-04-15 59/week @ 2021-04-22 11/week @ 2021-04-29 3/week @ 2021-05-06 36/week @ 2021-05-13 4/week @ 2021-05-20 6/week @ 2021-05-27 8/week @ 2021-06-03 41/week @ 2021-06-10 9/week @ 2021-06-17 5/week @ 2021-06-24 6/week @ 2021-07-01 9/week @ 2021-07-08 143/week @ 2021-07-15

149 downloads per month
Used in 3 crates (2 directly)



A unofficial, incomplete bigml client for Rust


An interface to the BigML machine learning API, written in Rust. We use this at Faraday, so it's pretty reliable for what it does. But it omits many features that we don't need to access from Rust. In particular, we focus first on supporting WhizzML scripts, and many other parts of the API are much less complete.

What works:

  • Fetching information about many different kinds of resources.
  • Creating a few kinds of resources.
  • Updating selected properties of a few kinds of resources.
  • Uploading sources that are small enough to fit in memory.
  • Executing scripts and getting the output values.

It's pretty easy to add new types and fields. See src/resources for existing examples. We will happily accept PRs adding new resource types!


An unofficial Rust client for BigML's REST API.

BigML is an commercial machine-learning service. This unofficial library allows you to talk to BigML from Rust.

We focus on passing data to BigML and running WhizzML scripts, though it's pretty easy to add support for new resource types and resource fields. See our GitHub repository for more information.

use bigml::{Client, resource::{execution, Id, Script}};
use futures::{executor::block_on, FutureExt, TryFutureExt};
use std::{path::Path, str::FromStr};

# fn main() -> bigml::Result<()> {
let username = "username";
let api_key = "api_key";
let path = Path::new("sample.csv");
let script_id: Id<Script> = Id::from_str("script/123abc")?;

// Create a BigML client.
let client = bigml::Client::new(username, api_key)?;

// Create a source (actually, you should do this via S3 for now).
let source =
println!("{:?}", source);

// Execute the script.
let mut args = execution::Args::default();
args.add_input("source-id", &source.resource)?;
let execution = block_on(client.create_and_wait(&args))?;
println!("{:?}", execution);
#   Ok(())
# }

For more information, see the BigML API and our example code.


~229K SLoC