timeharsh 1.0.0

timeharsh implements the timehash algorithm, an algorithm for creating user configurable, variable-precision sliding windows of time. Useful for binning time values in large collections of data.
Documentation
  • Coverage
  • 77.78%
    7 out of 9 items documented7 out of 7 items with examples
  • Size
  • Source code size: 12.39 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.39 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Documentation
  • dwyerk/timeharsh
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • dwyerk

timeharsh Build Status

Timehash in Rust

This project is a Rust implementation of the timehash algorithm. The original algorithm was written in Python by Abe Usher and is available at https://github.com/abeusher/timehash

timehash is an algorithm (with multiple reference implementations) for calculating variable precision sliding windows of time. When performing aggregations and correlations on large-scale data sets, the ability to convert precise time values into 'malleable intervals' allows for many novel analytics.

An example use case of timehash is described in the following paper: https://isprs-annals.copernicus.org/articles/IV-4-W2/31/2017/isprs-annals-IV-4-W2-31-2017.pdf

Usage

extern crate timeharsh;

let hash1 = timehash::encode(1236532473.6328125, 6).unwrap();
// hash1 == "abcdef"

let t1 = timeharsh::timehash::decode("abcdef").unwrap();
// t1 == 1236532473.6328125

Building the project

cargo build

Running the tests

cargo test