1 unstable release

Uses new Rust 2024

new 0.1.0 Dec 9, 2025

#1655 in Algorithms


Used in 2 crates

MIT license

33KB
581 lines

Stable Hash Library

This crate provides a stable hashing system that produces consistent hash values across different program runs and platforms. Unlike standard hash functions that may vary between runs for security reasons, stable hashes are designed to be reproducible and deterministic.

The main components of this library are:

  • StableHash trait: Defines how types can be hashed in a stable manner
  • StableHasher trait: Defines the interface for stable hash functions
  • Sip128Hasher struct: A concrete implementation using the SipHash algorithm
  • Value trait: Represents hash output values that can be combined

Example

use qbice_stable_hash::{StableHash, StableHasher, StableSipHasher};

let mut hasher = StableSipHasher::new();
"hello world".stable_hash(&mut hasher);
let hash = hasher.finish();

QBICE

Query-Based Incremental Computation Engine

Crates.io Documentation License: MIT

QBICE is an asynchronous incremental computation framework for Rust. Define your computation as a graph of queries, and QBICE automatically determines what needs to be recomputed when inputs change—minimizing redundant work through intelligent caching and dependency tracking.

Features

  • Incremental Computation — Only recomputes what's necessary when inputs change
  • Async-First Design — Built on Tokio for efficient concurrent execution
  • Cycle Detection — Automatically detects and handles cyclic dependencies
  • Type-Safe — Strongly-typed queries with associated value types
  • Thread-Safe — Safely share the engine across multiple threads
  • Visualization — Generate interactive HTML dependency graphs

Installation

Add QBICE to your Cargo.toml:

[dependencies]
qbice = "0.1.0"
tokio = { version = "1", features = ["full"] }

Documentation

For detailed documentation, examples, and API reference, please visit:

Requirements

  • Rust 1.88.0 or later (Edition 2024)
  • Tokio runtime for async execution

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

QBICE is inspired by:

  • Salsa — A generic framework for on-demand, incrementalized computation
  • Adapton — A library for incremental computing

Dependencies

~1.5–2.2MB
~41K SLoC