BinaPy

BinaPy is a module that makes Binary Data manipulation simpler and easier than what is offered in the Python standard library.
With BinaPy, encoding or decoding data in a number of formats (base64, base64url, hex, url-encoding, etc.), compressing or decompressing (gzip), hashing (SHA1, SHA256, MD5, etc., with or without salt), is all a single method call away! And you can extend it with new formats and features.
from binapy import BinaPy
bp = BinaPy("Hello, World!").to("deflate").to("b64u")
print(bp)
bp.decode_from("b64u").decode_from("deflate").ascii()
isinstance(bp, bytes)
Features
- Fluent interface, based on a
bytes
subclass - Provides a convenient interface over
hashlib
, base64
, zlib
, urllib.parse
, json
, pickle
and more - Easy to extend with new formats
TODO
- add more parsing formats like YAML, CBOR, etc.
- optionally use faster third-party modules when available