Skip to main content

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

Project description

iscc-lib

CI PyPI License

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.1.0.tar.gz (100.9 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.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (502.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (503.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

iscc_lib-0.1.0-cp310-abi3-win_amd64.whl (438.7 kB view details)

Uploaded CPython 3.10+Windows x86-64

iscc_lib-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (502.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iscc_lib-0.1.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (986.2 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.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: iscc_lib-0.1.0.tar.gz
  • Upload date:
  • Size: 100.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 bea538423d3220c02ff209f8fd0d26669cb02317511af5208dac2746c713ff1c
MD5 ef263fbf79c6f92a730a737eb6fbd0c2
BLAKE2b-256 2a8ea8ca498e0bb6040aff2628119767ef8f871b1784654237b87846cfd9ad21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iscc_lib-0.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 709ed37143e623a2424b7f0b25cbaf6c9bb655b5b4f62ce3710295511a04ecc7
MD5 f92462f99a51553d97232fe8ccf5ac01
BLAKE2b-256 873fc27af12feec14e75c39cebb68b7c60bf9e224f8974cefc81f647bf8a69cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iscc_lib-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a2670b8b7fb56ccc9f5a19f14c248d3b8ebd7ea03138e636ccbee4de20996ed5
MD5 ab607c36fd7bc345b8f81cca6ce6f7b0
BLAKE2b-256 e6c7e256c934954d09b537207a440827b82b9eaf6b78f1a9b93b11184db9c32f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: iscc_lib-0.1.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 438.7 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.1.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 470e5efdf0df553a34066f0e272a9864d40d557ffecd93a94b38f193dc6d994a
MD5 278e3b785749dd78dcb995cb7acb50cb
BLAKE2b-256 fd4d3a39177182f6a855b1c68ffacb8fe93ff17b5b9f234c8c24fc54a3af33f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iscc_lib-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 28f924740fb689855855d644b5c6a4ea73d8c0ce2c1d266b1a51534d467d1b62
MD5 06a697f779428e0de81c917a0fa9f362
BLAKE2b-256 f00cf4a656f9e235b23ffc2ff81d5958efc021b48e0681a8052548f0c879be77

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.1.0-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.1.0-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.1.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 24796ecc45ebaf3925b351d26f932205f503436261d5da075cbc752356197637
MD5 ca251af68fe8b6f10d0197bd4dca36e8
BLAKE2b-256 5854003bb2ef5554575f0f946c65eef0ffba5a5b8e8bb61010ba2965862f6212

See more details on using hashes here.

Provenance

The following attestation bundles were made for iscc_lib-0.1.0-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.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iscc_lib-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39be1981af543c0797ebe094e6d58997ad09fbb1f6085e3ab26060ba03c2fcb1
MD5 1c1035c2fcbbf2b3b18a37db0715dddc
BLAKE2b-256 7c8292e3645fc2acf9bf3d83fe8859b9aa7a0e3c6dbbb9e7ee8a8e8d7b297521

See more details on using hashes here.

Provenance

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