15 stable releases

1.9.5 Mar 30, 2024
1.9.4 Mar 29, 2024
1.8.1 Jan 28, 2024
1.7.3 Nov 8, 2023
1.6.1 Aug 28, 2023

#879 in Database interfaces

Download history 13/week @ 2024-01-24 47/week @ 2024-02-07 22/week @ 2024-02-14 86/week @ 2024-02-21 139/week @ 2024-02-28 597/week @ 2024-03-06 253/week @ 2024-03-13 198/week @ 2024-03-20 448/week @ 2024-03-27 207/week @ 2024-04-03

1,143 downloads per month
Used in 2 crates

MPL-2.0 license

83KB
2K SLoC

ReductStore Client SDK for Rust

Crates.io Docs.rs GitHub Workflow Status

This package provides an HTTP client for interacting with the ReductStore, time-series database for unstructured data.

Features

Example


use bytes::Bytes;
use reduct_rs::{ReductClient, HttpError};
use std::str::from_utf8;
use std::time::SystemTime;

use tokio;

#[tokio::main]
async fn main() -> Result<(), HttpError> {
    let client = ReductClient::builder().url("http://127.0.0.1:8383").build();

    let timestamp = SystemTime::now();

    let bucket = client.create_bucket("test").exist_ok(true).send().await?;
    bucket
        .write_record("entry-1")
        .timestamp(timestamp)
        .data(Bytes::from("Hello, World!"))
        .send()
        .await?;

    let record = bucket
        .read_record("entry-1")
        .timestamp(timestamp)
        .send()
        .await?;

    println!("Record: {:?}", record);
    println!(
        "Data: {}",
        from_utf8(&record.bytes().await?.to_vec()).unwrap()
    );

    Ok(())
}

References

Dependencies

~16–30MB
~566K SLoC