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.2.tar.gz (89.8 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.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (492.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.0.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (493.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.0.2-cp310-abi3-win_amd64.whl (428.8 kB view details)

Uploaded CPython 3.10+Windows x86-64

iscc_lib-0.0.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (533.3 kB view details)

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

iscc_lib-0.0.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (493.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iscc_lib-0.0.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (969.8 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.2.tar.gz.

File metadata

  • Download URL: iscc_lib-0.0.2.tar.gz
  • Upload date:
  • Size: 89.8 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.2.tar.gz
Algorithm Hash digest
SHA256 c746b573041b7a37c951a097638ee7f59a3e77d533b7e8b48b914c2a19f79eb0
MD5 1a3a5eacc2f88e023685f0c8d1bf81eb
BLAKE2b-256 44dcc3a72989d341595aa9ec7d5daf3b7cdbfd9a6e050ab9ea6d46644d875346

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2.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.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3de6a79c824477fc16848a41d3a447513407080ca1f2a162fd71277d1f467d6
MD5 1f09b7664e6955c137215638c4a8fc3a
BLAKE2b-256 5b67f8ae1bd30bc09f0a9154272691deaf5824bc3f9a14e6525f14fef8c08671

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2-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.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71fc0345bf990574fde20b3ead732d1b2e68b475e524750137e7bdb79a4ee8b6
MD5 4681a26fd726e4e53fbf35b8ca62415d
BLAKE2b-256 58cb609fa7d97effa69bb98125ee15e5d617bd6e2358e1d8acbd9052bf27add7

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2-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.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: iscc_lib-0.0.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 428.8 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.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 775ac5284ed04ae64019eff51bafbebb2443b0eb6df06f1277d01bead7e5f521
MD5 b98dcca36809b2a64f213b2b78b6b19e
BLAKE2b-256 6dace9e8fb86981ac8e894c06ce50172f10024f4107aecdca232f7af962f9612

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2-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.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a140941d3dc44f0ca810167b40af6cf4ab69b8112d67df106c10bd05dedce13c
MD5 938a3c5cedc4786937d631d759cea0bd
BLAKE2b-256 8e0e55de9e5a1d69b50b29fb7200b69f67b1de2ac369d840433d4b8c3973a0ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2-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.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b9960f65a9ebcffa4af4320fc6d0d57bfad857d9fa8779d629527578e951825e
MD5 3f3db479f9afa2b41ccd92b6f91826fc
BLAKE2b-256 4e2e6c78e510764b4f8b8e3c9769374a31660d21ef805586f0e5c14b623de855

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2-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.2-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.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4065328acb440df51e9f1d24fc752f42f385aba6ebc0aab5ff03153ac456e3c5
MD5 66b873b585837d38a999cd83d4a9297f
BLAKE2b-256 febe146dd85ded6af5b65c87a20d5ab45cc25695b3211e0297b636ce0419fefc

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.2-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