iscc-lib
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
Quick Start
use gen_meta_code_v0;
let result = gen_meta_code_v0.unwrap;
println!;
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 thecodecmodule with header encoding/decoding primitives - Streaming:
DataHasher,InstanceHasherfor incremental processing - Diagnostics:
conformance_selftest
Links
License
Apache-2.0