Skip to main content

Python implementation of the DAG-CBOR codec.

Project description

Python versions PyPI version PyPI status Checked with Mypy Documentation Status Python package status standard-readme compliant

This is a fully compliant Python implementation of the DAG-CBOR codec, a subset of the Concise Binary Object Representation (CBOR) supporting the IPLD Data Model and enforcing a unique (strict) encoded representation of items.

Install

You can install the latest release from PyPI as follows:

$ pip install --upgrade dag-cbor

Usage

We suggest you import DAG-CBOR as follows:

>>> import dag_cbor

Below are some basic usage examples, to get you started: for detailed documentation, see https://dag-cbor.readthedocs.io/

Encoding and decoding

>>> dag_cbor.encode({'a': 12, 'b': 'hello!'})
b'\xa2aa\x0cabfhello!'
>>> dag_cbor.decode(b'\xa2aa\x0cabfhello!')
{'a': 12, 'b': 'hello!'}

Random DAG-CBOR data

>>> import pprint # pretty-printing
>>> custom_opts = dict(min_codepoint=0x41, max_codepoint=0x5a, include_cid=False)
>>> with dag_cbor.random.options(**custom_opts):
...     for d in dag_cbor.random.rand_dict(3):
...             pprint.pp(d)
...
{'BIQPMZ': b'\x85\x1f\x07/\xcc\x00\xfc\xaa',
 'EJEYDTZI': {},
 'PLSG': {'G': 'JFG',
          'HZE': -61.278,
          'JWDRKRGZ': b'-',
          'OCCKQPDJ': True,
          'SJOCTZMK': False},
 'PRDLN': 39.129,
 'TUGRP': None,
 'WZTEJDXC': -69.933}
{'GHAXI': 39.12,
 'PVUWZLC': 4.523,
 'TDPSU': 'TVCADUGT',
 'ZHGVSNSI': [-57, 9, -78.312]}
{'': 11, 'B': True, 'FWD': {}, 'GXZBVAR': 'BTDWMGI', 'TDICHC': 87}

API

For the full API documentation, see https://dag-cbor.readthedocs.io/

Contributing

Please see CONTRIBUTING.md.

License

MIT © Hashberg Ltd.

Project details


Download files

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

Source Distribution

makkus.dag-cbor-0.3.4.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

makkus.dag_cbor-0.3.4-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file makkus.dag-cbor-0.3.4.tar.gz.

File metadata

  • Download URL: makkus.dag-cbor-0.3.4.tar.gz
  • Upload date:
  • Size: 52.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for makkus.dag-cbor-0.3.4.tar.gz
Algorithm Hash digest
SHA256 d3359095accd35f4aa7c33668088a26bba18a1b3c98ac37a146f8603c540a1fb
MD5 2e9286288b21ad5e9b7e27e94dbcd425
BLAKE2b-256 7a2d683ed8929ddd63a6cccc43321a9f163a9bbe3b3f96b8d047693d4e429307

See more details on using hashes here.

File details

Details for the file makkus.dag_cbor-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for makkus.dag_cbor-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c74ad377a70b7354367692076f982d0e267fb45ba27cd715a09b12fa80344eac
MD5 0fcb2dc95cfe9c87b3cd9adf45c409e6
BLAKE2b-256 22540901b2b2cc08dbb532c48b9f7a5baf977a0b691009f68c6f47257a0d1363

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page