agnes 0.1.4

A data wrangling library for Rust
Documentation

Agnes

Build Status Documentation

Agnes is a data wrangling crate for Rust. It is intended to provide utilities for data loading, aggregation, annotation, and visualization.

It is still very much a work in progress.

Setup

Add this to your Cargo.toml:

[dependencies]
agnes = "0.1"

and this to your crate root:

extern crate agnes;

Example

A quick example:

extern crate agnes;

use agnes::source::{CsvReader, CsvSourceBuilder, FileSource};
use agnes::field::{FieldIdent, FieldType};
use agnes::view::DataView;

fn main() {
    let data_filepath = Path::new(file!()).parent().unwrap().join("tests/data/sample1.csv");
    let file = FileSource::new(data_filepath);
    let mut csv_rdr = CsvReader::new(
        CsvSourceBuilder::new(file)
            .fields(fields![
                "state" => FieldType::Text,
                "val1" => FieldType::Unsigned,
                "val2" => FieldType::Float
            ])
            .build()
    ).unwrap();
    let dv: DataView = csv_rdr.read().unwrap().into();
    println!("{}", dv);
}