Skip to main content

High-performance Python bindings for ISO 24138:2024 (ISCC)

Project description

iscc-lib

CI PyPI License

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

High-performance Python bindings for ISO 24138:2024 -- International Standard Content Code (ISCC). Built on a Rust core for speed, with a Pythonic API that is a drop-in replacement for iscc-core.

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

pip install iscc-lib

Quick Start

import iscc_lib as ic

result = ic.gen_meta_code_v0("ISCC Test Document!")
print(f"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 bytes or stream
gen_instance_code_v0 Generate an Instance-Code from bytes or stream
gen_iscc_code_v0 Generate a composite ISCC-CODE

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
  • Streaming: DataHasher, InstanceHasher for incremental processing
  • Diagnostics: conformance_selftest

Streaming functions (gen_data_code_v0, gen_instance_code_v0) accept both bytes and file-like objects (BinaryIO).

Links

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iscc_lib-0.0.3.tar.gz (95.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

iscc_lib-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (498.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (499.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.0.3-cp310-abi3-win_amd64.whl (434.2 kB view details)

Uploaded CPython 3.10+Windows x86-64

iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (538.8 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (498.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iscc_lib-0.0.3-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (979.4 kB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file iscc_lib-0.0.3.tar.gz.

File metadata

  • Download URL: iscc_lib-0.0.3.tar.gz
  • Upload date:
  • Size: 95.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iscc_lib-0.0.3.tar.gz
Algorithm Hash digest
SHA256 22fc1b0ac5fefedb492a69ad6b0f1902d0c29e34a4e9788cb0bb37fdbd6a8606
MD5 5143aed12c13ea369337ac222ed4b39b
BLAKE2b-256 72b0fe3094df57b1254bda7758851a9d8c427c71afaeb443d8f55d89a8ce2297

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3.tar.gz:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iscc_lib-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b3f5561ad95292f38eb916f2ab11bd14b9bfc899982fceeb8c5be16c12dcff7d
MD5 644e65b76f3fedd07c185cb24b3975e5
BLAKE2b-256 c947947e36ef276cdb79a2a32a5d30e90e2531d75b75fcf0ac0a01b19c31f0e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iscc_lib-0.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81a6c6e2979b2c31262e67b29ed6993d8166004c5357a3eebe89d1d7c3403479
MD5 49b763a506cd1581d453b608ed13d534
BLAKE2b-256 3e9a8dbdfb15cb0f053fd248e6740d19f5a37dd7abd40012bc20adb504dfeb0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iscc_lib-0.0.3-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: iscc_lib-0.0.3-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 434.2 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iscc_lib-0.0.3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 eea6d14948b359c825a8416b3f3841fee0130f3acb97812cba0da1f7a8880a69
MD5 8227fe47efc36f32aaba0e5fa54969d9
BLAKE2b-256 ff8f22026b5abf5b2f6c86c1f5e7e0832ea68f44c564a2c428e9563a478c4191

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3-cp310-abi3-win_amd64.whl:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9fb82fdb2585efc87924ffaa214d77fb9750a2a54269a8631be70c9033502fe
MD5 49793c32069517f789ba6b81c6a14c73
BLAKE2b-256 380cb67b162e9ff7ceb201bfccf611b67e8fa7c6dbeba24400bab5ac7885332d

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 74728a20b63d75df82f2d1d1fefc1bbd51a7df5d34cffafd9dd3d88d74a13d78
MD5 2d11c5eb8a569d17176ec18028127a8e
BLAKE2b-256 ce99bb61abbc3e3faaf79e1b3555a2edc6331faf5902d3dda862d5b80e37ec01

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iscc_lib-0.0.3-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.3-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 48a3aaffc3f6e2b23df0012bdf3a8c051da17f356d071ba918c4b512ff87d8ee
MD5 2a51b90912ca3aa611fb33fdcc21d1e7
BLAKE2b-256 a688007595d2b0d21e3e5b41c83428d9fd0a460d7e0e021e488d64e15caaf711

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.3-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on iscc/iscc-lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page