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
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
  • 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.4.tar.gz (100.0 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.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (501.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.0.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (502.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.0.4-cp310-abi3-win_amd64.whl (438.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

iscc_lib-0.0.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (502.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iscc_lib-0.0.4-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (985.0 kB view details)

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

iscc_lib-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (541.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: iscc_lib-0.0.4.tar.gz
  • Upload date:
  • Size: 100.0 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.4.tar.gz
Algorithm Hash digest
SHA256 31eb5ec2ab926d063f242da3d9c504f148f49d563a5abf59ec7f9e7eef0239bc
MD5 6245a60aef014796cc800ae2e8e6e319
BLAKE2b-256 0e39e88a16697a54fb4a2eb76cdc6aa50b2ee438ef1e70b0975e81f7ed3d12fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iscc_lib-0.0.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d8ee4c526eb413a528ec8c7c88de8f7e48fd2c2e5fab3a7b8f422664b46dd030
MD5 2a9a8bc4cdabefa773297b082d698dec
BLAKE2b-256 b2ab25280bfb52fc3be2e9f52a2a85f46e38956f6f7881f93d7f01f263de327a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iscc_lib-0.0.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b44afb8fc47689944dbf2eb599968b579790174636176393c79f3193cc91ca69
MD5 35a2b88bd51fd4847a08994a5c3d3faa
BLAKE2b-256 093907777518132b7b33227d850c3bcf245249ef91462e02a21f8fa2c32fdc49

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: iscc_lib-0.0.4-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 438.4 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.4-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a874b4c98cd4809a245262ca78649cea40f12457d14f0758bcd1132c47acc420
MD5 ffd53e8db197d9ddb3b9724dc2a29623
BLAKE2b-256 b07c0dc7a6cb5c04b44e177e985b5acb6ef403859a2b78fb5bdd5aede1d2e076

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iscc_lib-0.0.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8d12789726bab1a3e2e53a234bab903b2a5aa3a269a6c8249986569c6a533d88
MD5 857d55452a9122a52ae9fc390fc9c6a0
BLAKE2b-256 6d5403ec85c25b3150447e8415e7f5b107e2c29e670497a197ff30c58b8079ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.0.4-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.4-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.4-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ba5ed69019caae6d77d75b4e23e38533ffea04a74a9107fbc20a518744d95b7f
MD5 56dbe854512e359e7441f810f6dfe0dc
BLAKE2b-256 c19c4df5423a40ee373e5db3ea0646707db4ffb84ac99a5c75a2c53693a738da

See more details on using hashes here.

Provenance

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

File details

Details for the file iscc_lib-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 104875ca6df5640792d917ee1d38c9eaac9100763b6cfb6031c40ad6399e9128
MD5 d5b6d4b4c71b3597c095a825acebddc0
BLAKE2b-256 3595a9ab1e8e7e7044158838749b8f3e499585484222bf09ad72f6c365377e4e

See more details on using hashes here.

Provenance

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

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