Thanks to visit codestin.com
Credit goes to lib.rs

16 releases (stable)

Uses new Rust 2024

2.2.0 Jul 18, 2025
2.1.1 Oct 30, 2024
2.1.0 Feb 29, 2024
2.0.0 Sep 14, 2023
0.1.0 Oct 3, 2022

#712 in Science

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

109 downloads per month
Used in 9 crates

MIT license

305KB
5.5K SLoC

Actor client for Apache Arrow

A simulation data logger that records the data in the Apache Arrow format and automatically saves the data into a Parquet file (data.parquet) at the end of a simulation.

Example

An Arrow logger setup for 1000 time steps

use gmt_dos_clients_arrow::Arrow;
use gmt_dos_actors::prelude::*;
let logging = Arrow::builder(1000).build();

setting the name of the Parquet file


let logging = Arrow::builder(1000)
.filename("my_data.parquet")
.build();

opting out of saving the data to the Parquet file


let logging = Arrow::builder(1000)
.no_save()
.build();

Logging an output into an [Arrow] logger:

use gmt_dos_actors::prelude::*;
use gmt_dos_clients::signals::Signals;
use gmt_dos_clients_arrow::Arrow;
use interface::UID;

let logging = Arrow::builder(1000).build().into_arcx();
let mut sink = Terminator::<_>::new(logging);
let mut source: Initiator<_> = Signals::new(1, 100).into();
#[derive(UID)]
enum Source {};
source.add_output().build::<Source>().logn(&mut sink, 42);

or if Signals implements the trait: Size<Source>

use gmt_dos_actors::prelude::*;
use gmt_dos_clients::signals::Signals;
use gmt_dos_clients_arrow::Arrow;
use interface::{Size, UID};

let logging = Arrow::builder(1000).build().into_arcx();
let mut sink = Terminator::<_>::new(logging);
let mut source: Initiator<_> = Signals::new(1, 100).into();
#[derive(UID)]
enum Source {};
impl Size<Source> for Signals {
fn len(&self) -> usize {
42
}
}
source.add_output().build::<Source>().log(&mut sink);

gmt_dos-clients_arrow

Crates.io Documentation

A data logger client that uses Apache Arrow data format and Parquet data file to record time series of actor outputs.

Dependencies

~39MB
~843K SLoC