- Notifications
You must be signed in to change notification settings - Fork6
ISCC - Software Development Kit
License
iscc/iscc-sdk
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
iscc-sdk
is a Python development kit for creating and managingISCC(International Standard Content Code)
The ISCC is a similarity preserving 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 variousalgorithms to create a composite identifier that exhibits similarity-preserving properties (softhash).
The component-based structure of the ISCC identifies content at multiple levels of abstraction. Eachcomponent is self-describing, modular, and can be used separately or with others to aid in variouscontent identification tasks. The algorithmic design supports content deduplication, databasesynchronization, indexing, integrity verification, timestamping, versioning, data provenance,similarity clustering, anomaly detection, usage tracking, allocation of royalties, fact-checking andgeneral digital asset management use-cases.
iscc-sdk
is built on top ofiscc-core
and adds high level features for generating and handlingISCC codes for all the different mediatypes:
- mediatype detection
- metadata extraction and embedding
- mediatype specific content extraction and pre-processing
- iscc indexing and search
Python 3.8 to 3.11 on 64-bit systems
Use the Python package managerpip to installiscc-sdk
.
pip install iscc-sdk
Create an ISCC-CODE for a media file:
importiscc_sdkasidkprint(idk.code_iscc("/path/to/mediafile.jpg"))
Using the CLI tool to create an ISCC-CODE
idk create /path/to/mediafile.jpg
Batch creation of ISCC-CODEs
idk batch /folder_with_media_files
On Linux and MacOS you might need to install taglib as a prerequisite. On Ubuntu, Mint and otherDebian-Based distributions do:
sudo apt install libtag1-dev
On a Mac, use HomeBrew:
brew install taglib
The ISCC is published asISO 24138:2024 - InternationalStandard Content Code withinISO/TC 46/SC 9/WG 18.
!!! attentionTheiscc-sdk
library and the accompanying documentation is under development. API changes andother backward incompatible changes are to be expected until the upcoming v1.0 stable release.
Pull requests are welcome. For significant changes, please open an issue first to discuss yourplans. Please make sure to update tests as appropriate.
You may also want join our developer chat on Telegram athttps://t.me/iscc_dev.
About
ISCC - Software Development Kit