A simple set of symmetric encoder/decoder classes for serializing to and from bytearrays.
Project description
py-coders
A simple set of symmetric strongly-typed encoder/decoder classes for serializing to and from byte-like objects.
Usage
Coders are meant to have a simple interface:
Coder.encocde(obj)
to serialize objects to a bytes-like object.Coder.decode(buf)
to deserialize objects from a byte-like object.
Supported Coders
IdentityCoder
- passes bytes through unchanged.StringCoder
- string objects, supportsascii
,utf8
,utf16
, etc. encodings.UInt16Coder
,UInt32Coder
,UInt64Coder
- unsigned 16/32/64 bit integers. (Big-endian)JSONCoder
- JSON serializable python objectPickleCoder
- Any picklable Python object.ProtobufCoder
- Google Protobuf objects. Requiresprotobuf
to be installed.
Compression
Any coder can be altered to compress/decompress data. Calling Coder.compressed
will return a coder that uses zlib
to compress data after serialization and
decompress data before deserialization. A level (0-9) can be provided to specify
the compression level used.
Potential Future Features
- Stream encode/decode? May be a bit too specialized of a use case.
- Encryption Coders.
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
py-coders-1.0.0.tar.gz
(3.4 kB
view hashes)
Built Distribution
Close
Hashes for py_coders-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b19a45094d5cb31d22a6aba76acba480c70123082c2ac06314823d018e01b48 |
|
MD5 | 074f13c928586e65bfeb987cc2f8a6fc |
|
BLAKE2b-256 | 669b4eab4d2ca902d266d044d58b4db43703dcb5cfb68493bbcaf6e07f365c64 |