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

#1500 in Database interfaces

Download history 13/week @ 2024-01-20 23/week @ 2024-02-03 40/week @ 2024-02-10 20/week @ 2024-02-17 147/week @ 2024-02-24 387/week @ 2024-03-02 366/week @ 2024-03-09 288/week @ 2024-03-16 229/week @ 2024-03-23 432/week @ 2024-03-30 88/week @ 2024-04-06 31/week @ 2024-04-13 37/week @ 2024-04-20 175/week @ 2024-04-27 41/week @ 2024-05-04

286 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–29MB
~562K SLoC