# ISCC - Software Development Kit
[![Build](https://github.com/iscc/iscc-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/iscc/iscc-sdk/actions/workflows/ci.yml)
[![Version](https://img.shields.io/pypi/v/iscc-sdk.svg)](https://pypi.python.org/pypi/iscc-sdk/)
[![Coverage](https://codecov.io/gh/iscc/iscc-sdk/branch/main/graph/badge.svg?token=7BJ7HJU815)](https://codecov.io/gh/iscc/iscc-sdk)
[![Quality](https://app.codacy.com/project/badge/Grade/aa791abf9d824f6aa65a8f86b9222c90)](https://www.codacy.com/gh/iscc/iscc-sdk/dashboard)
[![Downloads](https://pepy.tech/badge/iscc-sdk)](https://pepy.tech/project/iscc-sdk)
`iscc-sdk` is a Python development kit for creating and managing [ISCC](https://core.iscc.codes)
(*International Standard Content Code*)
## What is an ISCC
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 various
algorithms to create a composite identifier that exhibits similarity-preserving properties (soft
hash).
The component-based structure of the ISCC identifies content at multiple levels of abstraction. Each
component is self-describing, modular, and can be used separately or with others to aid in various
content identification tasks. The algorithmic design supports content deduplication, database
synchronization, indexing, integrity verification, timestamping, versioning, data provenance,
similarity clustering, anomaly detection, usage tracking, allocation of royalties, fact-checking and
general digital asset management use-cases.
## What is `iscc-sdk`
`iscc-sdk` is built on top of `iscc-core` and adds high level features for generating and handling
ISCC codes for all the different mediatypes:
- mediatype detection
- metadata extraction and embedding
- mediatype specific content extraction and pre-processing
- iscc indexing and search
## Requirements
Python 3.8 to 3.11 on 64-bit systems
## Installation
Use the Python package manager [pip](https://pip.pypa.io/en/stable/) to install `iscc-sdk`.
```bash
pip install iscc-sdk
```
## Getting Started
Create an ISCC-CODE for a media file:
```python
import iscc_sdk as idk
print(idk.code_iscc("/path/to/mediafile.jpg"))
```
Using the CLI tool to create an ISCC-CODE
```shell
idk create /path/to/mediafile.jpg
```
Batch creation of ISCC-CODEs
```shell
idk batch /folder_with_media_files
```
## Documentation
<https://sdk.iscc.codes>
## Troubleshooting
On Linux and MacOS you might need to install taglib as a prerequisite. On Ubuntu, Mint and other
Debian-Based distributions do:
```shell
sudo apt install libtag1-dev
```
On a Mac, use HomeBrew:
```shell
brew install taglib
```
## Project Status
The ISCC has been accepted by ISO as full work item ISO/AWI 24138 - International Standard Content
Code and is currently being standardized at TC 46/SC 9/WG 18.
https://www.iso.org/standard/77899.html
!!! attention
The `iscc-sdk` library and the accompanying documentation is under development. API changes and
other backward incompatible changes are to be expected until the upcoming v1.5 stable release.
## Maintainers
[@titusz](https://github.com/titusz)
## Contributing
Pull requests are welcome. For significant changes, please open an issue first to discuss your
plans. Please make sure to update tests as appropriate.
You may also want join our developer chat on Telegram at <https://t.me/iscc_dev>.
Raw data
{
"_id": null,
"home_page": "https://sdk.iscc.codes",
"name": "iscc-sdk",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "iscc,identifier,media,content,similarity",
"author": "Titusz",
"author_email": "tp@py7.de",
"download_url": "https://files.pythonhosted.org/packages/d7/8f/4343d963612e8305750c08c32888671cb82fb2a5d04ba3bf3808bd0236fa/iscc_sdk-0.6.1.tar.gz",
"platform": null,
"description": "# ISCC - Software Development Kit\n\n[![Build](https://github.com/iscc/iscc-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/iscc/iscc-sdk/actions/workflows/ci.yml)\n[![Version](https://img.shields.io/pypi/v/iscc-sdk.svg)](https://pypi.python.org/pypi/iscc-sdk/)\n[![Coverage](https://codecov.io/gh/iscc/iscc-sdk/branch/main/graph/badge.svg?token=7BJ7HJU815)](https://codecov.io/gh/iscc/iscc-sdk)\n[![Quality](https://app.codacy.com/project/badge/Grade/aa791abf9d824f6aa65a8f86b9222c90)](https://www.codacy.com/gh/iscc/iscc-sdk/dashboard)\n[![Downloads](https://pepy.tech/badge/iscc-sdk)](https://pepy.tech/project/iscc-sdk)\n\n`iscc-sdk` is a Python development kit for creating and managing [ISCC](https://core.iscc.codes)\n(*International Standard Content Code*)\n\n## What is an ISCC\n\nThe ISCC is a similarity preserving identifier for digital media assets.\n\nISCCs are generated algorithmically from digital content, just like cryptographic hashes. However,\ninstead of using a single cryptographic hash function to identify data only, the ISCC uses various\nalgorithms to create a composite identifier that exhibits similarity-preserving properties (soft\nhash).\n\nThe component-based structure of the ISCC identifies content at multiple levels of abstraction. Each\ncomponent is self-describing, modular, and can be used separately or with others to aid in various\ncontent identification tasks. The algorithmic design supports content deduplication, database\nsynchronization, indexing, integrity verification, timestamping, versioning, data provenance,\nsimilarity clustering, anomaly detection, usage tracking, allocation of royalties, fact-checking and\ngeneral digital asset management use-cases.\n\n## What is `iscc-sdk`\n\n`iscc-sdk` is built on top of `iscc-core` and adds high level features for generating and handling\nISCC codes for all the different mediatypes:\n\n- mediatype detection\n- metadata extraction and embedding\n- mediatype specific content extraction and pre-processing\n- iscc indexing and search\n\n## Requirements\n\nPython 3.8 to 3.11 on 64-bit systems\n\n## Installation\n\nUse the Python package manager [pip](https://pip.pypa.io/en/stable/) to install `iscc-sdk`.\n\n```bash\npip install iscc-sdk\n```\n\n## Getting Started\n\nCreate an ISCC-CODE for a media file:\n\n```python\nimport iscc_sdk as idk\n\nprint(idk.code_iscc(\"/path/to/mediafile.jpg\"))\n```\n\nUsing the CLI tool to create an ISCC-CODE\n\n```shell\nidk create /path/to/mediafile.jpg\n```\n\nBatch creation of ISCC-CODEs\n\n```shell\nidk batch /folder_with_media_files\n```\n\n## Documentation\n\n<https://sdk.iscc.codes>\n\n## Troubleshooting\n\nOn Linux and MacOS you might need to install taglib as a prerequisite. On Ubuntu, Mint and other\nDebian-Based distributions do:\n\n```shell\nsudo apt install libtag1-dev\n```\n\nOn a Mac, use HomeBrew:\n\n```shell\nbrew install taglib\n```\n\n## Project Status\n\nThe ISCC has been accepted by ISO as full work item ISO/AWI 24138 - International Standard Content\nCode and is currently being standardized at TC 46/SC 9/WG 18.\nhttps://www.iso.org/standard/77899.html\n\n!!! attention\n The `iscc-sdk` library and the accompanying documentation is under development. API changes and\n other backward incompatible changes are to be expected until the upcoming v1.5 stable release.\n\n## Maintainers\n\n[@titusz](https://github.com/titusz)\n\n## Contributing\n\nPull requests are welcome. For significant changes, please open an issue first to discuss your\nplans. Please make sure to update tests as appropriate.\n\nYou may also want join our developer chat on Telegram at <https://t.me/iscc_dev>.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "SDK for creating ISCCs (International Standard Content Codes)",
"version": "0.6.1",
"project_urls": {
"Bug Tracker": "https://github.com/iscc/iscc-sdk/issues",
"Changelog": "https://sdk.iscc.codes/changelog",
"Coverage": "https://app.codecov.io/gh/iscc/iscc-sdk",
"Donate": "https://iscc.foundation/support",
"Homepage": "https://sdk.iscc.codes",
"Repository": "https://github.com/iscc/iscc-sdk",
"Twitter": "https://twitter.com/iscc_foundation"
},
"split_keywords": [
"iscc",
"identifier",
"media",
"content",
"similarity"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f91907c05746d13643d4b86c539a65a1fa5f96e61327ec23b48193c2b6d06e59",
"md5": "5aaa9bd36482835877eab55d9e36458d",
"sha256": "ab7302edc53d124518219e7b1d9df81580025918ae020e87595e68203cbdf038"
},
"downloads": -1,
"filename": "iscc_sdk-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5aaa9bd36482835877eab55d9e36458d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 38208,
"upload_time": "2024-02-05T12:24:01",
"upload_time_iso_8601": "2024-02-05T12:24:01.142014Z",
"url": "https://files.pythonhosted.org/packages/f9/19/07c05746d13643d4b86c539a65a1fa5f96e61327ec23b48193c2b6d06e59/iscc_sdk-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d78f4343d963612e8305750c08c32888671cb82fb2a5d04ba3bf3808bd0236fa",
"md5": "3508b2226cc1e64148b3176eec76b634",
"sha256": "a966c038e31707b88294079f7cb08da5300fdecb2d5178b7bec8a980636e7ea9"
},
"downloads": -1,
"filename": "iscc_sdk-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "3508b2226cc1e64148b3176eec76b634",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 31190,
"upload_time": "2024-02-05T12:24:03",
"upload_time_iso_8601": "2024-02-05T12:24:03.352949Z",
"url": "https://files.pythonhosted.org/packages/d7/8f/4343d963612e8305750c08c32888671cb82fb2a5d04ba3bf3808bd0236fa/iscc_sdk-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-05 12:24:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iscc",
"github_project": "iscc-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "iscc-sdk"
}