iscc-lib 0.0.4

High-performance Rust implementation of ISO 24138:2024 (ISCC)
Documentation

iscc-lib

CI Crate License

Experimental: This library is in early development (v0.0.x). APIs may change without notice. Not recommended for production use yet.

High-performance Rust implementation of ISO 24138:2024 -- International Standard Content Code (ISCC).

What is ISCC

The ISCC is a similarity-preserving fingerprint and identifier for digital media assets. ISCCs are generated algorithmically from digital content, just like cryptographic hashes. However, instead of using a single cryptographic hash function to identify data only, the ISCC uses various algorithms to create a composite identifier that exhibits similarity-preserving properties (soft hash).

Installation

cargo add iscc-lib

Quick Start

use iscc_lib::gen_meta_code_v0;

let result = gen_meta_code_v0("ISCC Test Document!", None, None, 64).unwrap();
println!("Meta-Code: {}", result.iscc);

API Overview

Code Generators

Function Description
gen_meta_code_v0 Generate a Meta-Code from metadata fields
gen_text_code_v0 Generate a Text-Code from plain text
gen_image_code_v0 Generate an Image-Code from pixel data
gen_audio_code_v0 Generate an Audio-Code from Chromaprint data
gen_video_code_v0 Generate a Video-Code from frame signatures
gen_mixed_code_v0 Generate a Mixed-Code from Content-Codes
gen_data_code_v0 Generate a Data-Code from raw bytes
gen_instance_code_v0 Generate an Instance-Code from raw bytes
gen_iscc_code_v0 Generate a composite ISCC-CODE
gen_sum_code_v0 Generate an ISCC-SUM from a file path

Utilities

  • Text processing: text_clean, text_remove_newlines, text_trim, text_collapse
  • Algorithm primitives: alg_simhash, alg_minhash_256, alg_cdc_chunks, sliding_window
  • Soft hashing: soft_hash_video_v0
  • Encoding: encode_base64
  • Codec: iscc_decompose, plus the codec module with header encoding/decoding primitives
  • Streaming: DataHasher, InstanceHasher for incremental processing
  • Diagnostics: conformance_selftest

Links

License

Apache-2.0