Getting Started
Installation
Section titled “Installation”Add to your Cargo.toml:
[dependencies]openentropy-core = "0.10"Or install the CLI:
cargo install openentropy-clipip install openentropyBuild from source:
git clone https://github.com/amenti-labs/openentropy.git && cd openentropypip install maturinmaturin developcargo install openentropy-cliRequires Rust 1.85+.
Quick Verification
Section titled “Quick Verification”use openentropy_core::EntropyPool;
let pool = EntropyPool::auto();let source = pool.source_names()[0].clone();let bytes = pool.get_source_bytes(&source, 256, openentropy_core::ConditioningMode::Sha256).unwrap();for b in &bytes { print!("{b:02x}");}println!();from openentropy import EntropyPool, detect_available_sources
sources = detect_available_sources()print(f"{len(sources)} entropy sources available")
pool = EntropyPool.auto()source = sources[0]["name"]data = pool.get_source_bytes(source, 256, conditioning="sha256")print(data.hex())# Discover entropy sources on your machineopenentropy scan
# Output 64 random hex bytesopenentropy stream --format hex --bytes 64Platform Requirements
Section titled “Platform Requirements”- macOS (Apple Silicon): Full support — all 63 entropy sources
- macOS (Intel): ~20 sources (some ARM-specific sources unavailable)
- Linux: 12–15 sources (timing, network, disk, process sources)
- Rust: 1.85+ required
See Choose Your Path if you want a guided route, or use the Quickstart for cross-SDK examples.
Jump directly to your SDK section: