Skip to content

iscc-lib

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


What is iscc-lib?

iscc-lib is a Rust implementation of the ISCC standard with bindings for multiple programming languages. It provides all 9 gen_*_v0 code generation functions specified by ISO 24138, fully conformant with the official iscc-core Python reference implementation.

The ISCC is a content-derived identifier for digital media assets. It enables decentralized, content-based identification without a central registry.

Key Features

  • Complete ISO 24138 coverage — all 9 gen_*_v0 functions implemented
  • Full conformance — passes all official test vectors from iscc-core
  • High performance — pure Rust core delivers significant speedups over the Python reference
  • Multi-language — use from Rust, Python, Node.js, WebAssembly, or C
  • Cross-platform — runs on Linux, macOS, and Windows

Supported Code Types

Function Code Type Description
gen_meta_code_v0 Meta-Code Content metadata similarity
gen_text_code_v0 Text-Code Text content similarity
gen_image_code_v0 Image-Code Image content similarity
gen_audio_code_v0 Audio-Code Audio content similarity
gen_video_code_v0 Video-Code Video content similarity
gen_mixed_code_v0 Mixed-Code Cross-type content similarity
gen_data_code_v0 Data-Code Raw binary data similarity
gen_instance_code_v0 Instance-Code Exact binary data identity
gen_iscc_code_v0 ISCC-CODE Composite code combining units

Quick Start

cargo add iscc-lib
use iscc_lib::gen_text_code_v0;

let result = gen_text_code_v0("Hello World", 64)?;
println!("{result}"); // JSON string
pip install iscc-lib
import json
from iscc_lib import gen_text_code_v0

result = json.loads(gen_text_code_v0("Hello World"))
print(result["iscc"])

Available Bindings

Platform Package Install
Rust crates.io cargo add iscc-lib
Python PyPI pip install iscc-lib
Node.js npm npm install @iscc/lib
WebAssembly npm npm install @iscc/iscc-wasm
C / C++ Source Via C FFI header (iscc.h)