hdf5 0.1.0

The package provides an interface to HDF5.
Documentation

HDF5 Version Status

The package provides an interface to HDF5.

Documentation

Example

extern crate hdf5;

use hdf5::File;

let path = "data.h5";
let file = File::new(path).unwrap();

file.write("foo", 42).unwrap();
file.write("bar", &vec![42.0, 69.0]).unwrap();

Complex structures can be written using rustc-serialize as follows:

extern crate hdf5;
extern crate rustc_serialize;

use hdf5::{Encoder, File};
use rustc_serialize::Encodable;

#[derive(RustcEncodable)]
struct Foo {
    bar: Vec<f64>,
    baz: Baz,
}

#[derive(RustcEncodable)]
struct Baz {
    qux: f64,
}

let foo = Foo {
    bar: vec![42.0],
    baz: Baz {
        qux: 69.0,
    },
};

let path = "data.h5";
let file = File::new(path).unwrap();

let mut encoder = Encoder::new(&file, "foo").unwrap();
foo.encode(&mut encoder).unwrap()

Contributing

  1. Fork the project.
  2. Implement your idea.
  3. Open a pull request.