marple-db 0.2.1

Rust SDK for the MarpleDB API
Documentation
use marple_db::{MarpleDB, PushFileOptions};
use serde_json::json;
use std::time::Duration;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let url =
        std::env::var("MDB_URL").unwrap_or_else(|_| "https://db.marpledata.com/api/v1".to_string());
    let token = std::env::var("MDB_TOKEN")?;
    let db = MarpleDB::new(&url, &token)?;
    let stream = db.get_stream("runs").await?;

    let dataset = db
        .push_file(
            stream.id,
            "run.csv",
            PushFileOptions::builder()
                .metadata([("source", json!("rust-example"))])
                .build(),
        )
        .await?;
    let dataset = db
        .wait_for_import(stream.id, dataset.id, Duration::from_secs(180))
        .await?;

    println!(
        "uploaded dataset {} with status {:?}",
        dataset.id, dataset.import_status
    );
    Ok(())
}