Skip to content
This repository has been archived by the owner on Nov 30, 2022. It is now read-only.
/ py-cid Public archive

Self-describing content-addressed identifiers for distributed systems implementation in Python

License

Notifications You must be signed in to change notification settings

ipld/py-cid

Repository files navigation

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

2022-09-15:

This repo is not maintained.

If someone would like to fork it and support it, IPLD stewards are happy to point to a supported fork. Please open an issue in ipld/ipld requesting this of ask in #ipld in IPFS Discod, Matrix, or FIL Slack.

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

CID (Content IDentifier)

https://img.shields.io/travis/ipld/py-cid.svg?branch=master Documentation Status

What is CID ?

CID is a format for referencing content in distributed information systems, like IPFS. It leverages content addressing, cryptographic hashing, and self-describing formats.

It is the core identifier used by IPFS and IPLD.

CID is a self-describing content-addressed identifier.

It uses cryptographic hashes to achieve content addressing.

It uses several multiformats to achieve flexible self-description, namely multihash for hashes, multicodec for data content types, and multibase to encode the CID itself into strings.

Sample Usage

>>> from cid import make_cid
>>> make_cid('QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4')
CIDv0(version=0, codec=dag-pb, multihash=b"\x12 \xb9M'\xb9\x93M>\x08\xa5.R\xd7\xda}\xab\xfa\xc4\x84..")

>>> cid = make_cid('QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4')
>>> print(cid.version, cid.codec, cid.multihash)

>>> print(cid.encode())
QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4

>>> str(cid)
'QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4'

Installation

Stable release

To install CID, run this command in your terminal:

$ pip install py-cid

This is the preferred method to install CID, as it will always install the most recent stable release.

If you don't have pip installed, this Python installation guide can guide you through the process.

From sources

The sources for CID can be downloaded from the Github repo.

You can either clone the public repository:

$ git clone git://github.com/ipld/py-cid

Or download the tarball:

$ curl  -OL https://github.com/ipld/py-cid/tarball/master

Once you have a copy of the source, you can install it with:

$ python setup.py install

Other info

About

Self-describing content-addressed identifiers for distributed systems implementation in Python

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published