Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ISCC - Spec and Reference Code

Build License Downloads DOI

The International Standard Content Code is a proposal for an open standard for decentralized content identification. This repository contains the specification of the proposed ISCC Standard and a reference implementation in Python3. The latest published version of the specification can be found at iscc.codes

NOTE: This is ISCC Version 1.1 work in progress!!!

Installing the reference code

The reference code is published with the package name iscc on Python Package Index. Install it with:

pip install iscc==1.1.0b7

If your system is setup to compile c-extensions install with:

pip install iscc[turbo]==1.1.0b7

This will install cython and build binary extansions for faster ISCC processing.

To install the required binaries for content extraction do:

igen install

If igen cli tool is not on you path can find it in the bin folder (linux) or Scripts folder of the python installation where you installed the iscc package.

Using the provisional cli-tool

igen --help
igen iscc myfile.ext

For debug messages and verbose output use:

igen iscc -d -vvv myfile.ext

Using the reference code

A short example on how to create an ISCC Code with the reference implementation.

>>> import iscc
>>> iscc.code_iscc("README.md", all_granular=True)
{'version': '0-0-0',
 'iscc': 'KADYHLZUJ43U3LX7G7PNLS54JHAET3ANW4EQ3YQIP3LDAZHEYIS5GWI',
 'title': '# ISCC Spec and Reference Code',
 'filename': 'README.md',
 'filesize': 3840,
 'mediatype': 'text/markdown',
 'tophash': '00194e2c4e5570e637bd18667740fdcf7f1683d6ccace7f5c0cc6531f6e982e5',
 'metahash': '828dd01bf76b78fc448f6d2ab25008835d2993c6acde205235dc942083c4677d',
 'datahash': 'd63064e4c225d3594bdf60c30bcb04554e53059d9077a6f330f8295b4420ded5',
 'gmt': <GMT.text: 'text'>,
 'characters': 3457,
 'language': 'en',
 'features': [{'kind': <FeatureType.data: 'data'>,
               'version': 0,
               'features': ['7A23CQ3iCH4'],
               'sizes': [3840]},
              {'kind': <FeatureType.text: 'text'>,
               'version': 0,
               'features': ['Nt6V67hJxmk',
                            '9HvPYqt1rQw',
                            'ld1FLbp7A50',
                            'M8aTn6atuB0'],
               'sizes': [2340, 309, 292, 516]}]}

Working with the specification

NOTE: This is ISCC Version 1.1 - The specs are not yet updated!!!

The entire ISCC Specification is written in plain text Markdown. The markdown content is than built and published with the excellent mkdocs documetation tool. If you have some basic command line skills you can build and run the specification site on your own computer. Make sure you have the git and Python and Poetry installed on your system and follow these steps on the command line:

git clone https://github.com/iscc/iscc-specs.git
cd iscc-specs
poetry install
mkdocs serve

All specification documents can be found in the ./docs subfolder or the repository. The recommended editor for the markdown files is Typora. If you have commit rights to the main repository you can deploy the site with a simple mkdocs gh-deploy.

Contribute

Pull requests and other contributions are welcome. Use the Github Issues section of this project to discuss ideas for the ISCC Specification. You may also want join our developer chat on Telegram at https://t.me/iscc_dev.

License

All of documentation is licensed under the CC BY-NC-SA 4.0.

Reference code is licensed under BSD-2-Clause.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iscc-1.1.0b7.tar.gz (67.7 kB view details)

Uploaded Source

File details

Details for the file iscc-1.1.0b7.tar.gz.

File metadata

  • Download URL: iscc-1.1.0b7.tar.gz
  • Upload date:
  • Size: 67.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.0 Windows/10

File hashes

Hashes for iscc-1.1.0b7.tar.gz
Algorithm Hash digest
SHA256 91baded827ba05e19d60ae76f9b42e1bc21dee5cad066d5690f03ea1aaf6b42f
MD5 1e3c7881831ab00adba27204c4d468f4
BLAKE2b-256 d663905a8fe7ee5ef8eee532b2cfd2081bd9136ffc98884b416f67105ae55d28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page