All Projects → iscc → iscc-specs

iscc / iscc-specs

Licence: other
ISCC: International Standard Content Code

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to iscc-specs

Uuid
A PHP library for generating universally unique identifiers (UUIDs).
Stars: ✭ 11,475 (+29323.08%)
Mutual labels:  identifiers
SDC-to-Compustat-Mapping
A mapping between SDCs M&A database and the gvkey's in Compustat
Stars: ✭ 40 (+2.56%)
Mutual labels:  identifiers
Imagehash
🌄 Perceptual image hashing for PHP
Stars: ✭ 1,744 (+4371.79%)
Mutual labels:  perceptual-hashes
phash
A simple Go wrapper around the pHash library. This repository has migrated to https://gitlab.com/opennota/phash
Stars: ✭ 14 (-64.1%)
Mutual labels:  perceptual-hashes

ISCC - Spec and Reference Code

Build Version 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 a low level reference implementation. For easy generation of ISCC codes see: iscc-cli

Installing the reference code

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/iscc/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 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].