Skip to main content

ISCC: Reference Implementation

Project description

PyPI Status PyPI License

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

Installing the reference code

Windows Notes:

The reference implementation requires the xxhash package. Windows users may first want to install the xxhash binary wheel to skip the required compilation step.

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

pip install iscc

Using the reference code

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

import iscc

# Generate ISCC Component Codes
mid, title, extra = iscc.meta_id('Title of Content')
cid = iscc.content_id_text('some text')
did = iscc.data_id('path/to/mediafile.doc')
iid, tophash = iscc.instance_id('path/to/mediafile.doc')

# Join ISCC Components to fully qualified ISCC Code
iscc_code = '-'.join([mid, cid, did, iid])
print('ISCC:{}'.format(iscc_code))

Working with the specification

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 installed on your system and follow these steps on the command line:

git clone https://github.com/coblo/iscc-specs.git
cd iscc-specs
pip install -r requirements.txt
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 ask questions or discuss ideas for the ISCC Specification.

License

All of documentation is licensed under the CC-BY-SA 4.0 license (c) 2017 Content Blockchain Project.

Reference code is licensed under BSD-2-Clause.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
iscc-1.0.0.tar.gz (24.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page