Skip to main content

Simple decoder and encoder for CBOR

Project description

Flynn (his real name is Walter White Jr.), is a protagonist in Breaking Bad and the son of Walter White (a. k. a. Heisenberg).

Flynn is also a Python library providing CBOR [RFC7049] encoding and decoding with a traditional buffered and a streaming interface.

Usage

The Flynn API is really simple and inspired by existing Python serialisation modules like json and pickle. The flynn module has four methods called dumps, dump, loads and load, where dumps will return the serialised input as bytes string, while dump will write the serialised input to a file descriptor. The same applies to loads and load.

>>> flynn.dumps([1, [2, 3]])
b'\x82\x01\x82\x02\x03'
>>> flynn.loads(b'\x82\x01\x82\x02\x03')
[1, [2, 3]]

Furthermore, Flynn supports generators and other iterables as input for streaming support:

>>> flynn.dumps(range(5))
b'\x9f\x00\x01\x02\x03\x04\xff'
>>> flynn.loads(b'\x9f\x00\x01\x02\x03\x04\xff')
[0, 1, 2, 3, 4]

Or to generate a map using an iterable:

>>> flynn.dumps((((a, a) for a in range(5)), "map"))
b'\xbf\x00\x00\x01\x01\x02\x02\x03\x03\x04\x04\xff'
>>> flynn.loads(b'\xbf\x00\x00\x01\x01\x02\x02\x03\x03\x04\x04\xff')
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4}

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

flynn-1.0.0b2.tar.gz (5.0 kB view hashes)

Uploaded Source

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