multibase package¶
Submodules¶
multibase.converters module¶
- class multibase.converters.Base16StringConverter(digits)[source]¶
Bases:
BaseStringConverter
- class multibase.converters.Base256EmojiConverter[source]¶
Bases:
objectBase256 emoji encoding using 256 unique emoji characters.
This implementation uses the exact same hardcoded emoji alphabet as js-multiformats and go-multibase reference implementations to ensure full compatibility. The alphabet is curated from Unicode emoji frequency data, excluding modifier-based emojis (such as flags) that are bigger than one single code point.
- decode(bytes_) bytes[source]¶
Decode emoji string to bytes.
Decodes character-by-character, matching the behavior of js-multiformats and go-multibase reference implementations. Each emoji in the alphabet is a single Unicode code point, so we can safely iterate character by character.
- Parameters:
bytes (bytes or str) – UTF-8 encoded emoji string
- Returns:
Decoded bytes
- Return type:
bytes
- Raises:
ValueError – if an invalid emoji character is encountered
- class multibase.converters.Base32StringConverter(digits, pad=False)[source]¶
Bases:
BaseByteStringConverter
- class multibase.converters.Base64StringConverter(digits, pad=False)[source]¶
Bases:
BaseByteStringConverter
- class multibase.converters.BaseByteStringConverter(digits, pad=False)[source]¶
Bases:
object- DECODING_BITS = 1¶
- ENCODE_GROUP_BYTES = 1¶
- ENCODING_BITS = 1¶
multibase.exceptions module¶
Custom exceptions for multibase encoding/decoding errors.
- exception multibase.exceptions.DecodingError[source]¶
Bases:
MultibaseErrorRaised when decoding fails.
- exception multibase.exceptions.InvalidMultibaseStringError[source]¶
Bases:
MultibaseErrorRaised when a multibase string is invalid or cannot be decoded.
- exception multibase.exceptions.MultibaseError[source]¶
Bases:
ValueErrorBase exception for all multibase errors.
- exception multibase.exceptions.UnsupportedEncodingError[source]¶
Bases:
MultibaseErrorRaised when an encoding is not supported.
multibase.multibase module¶
- class multibase.multibase.ComposedDecoder(decoders)[source]¶
Bases:
objectA decoder that tries multiple decoders in sequence.
- decode(data, return_encoding=False)[source]¶
Try to decode with each decoder in sequence.
- Parameters:
data (str or bytes) – multibase encoded data
return_encoding (bool) – if True, return tuple (encoding, decoded_data)
- Returns:
decoded data, or tuple (encoding, decoded_data) if return_encoding=True
- Return type:
bytes or tuple
- Raises:
DecodingError – if all decoders fail
- class multibase.multibase.Decoder[source]¶
Bases:
objectReusable decoder for multibase data.
- decode(data, return_encoding=False)[source]¶
Decode multibase encoded data.
- Parameters:
data (str or bytes) – multibase encoded data
return_encoding (bool) – if True, return tuple (encoding, decoded_data)
- Returns:
decoded data, or tuple (encoding, decoded_data) if return_encoding=True
- Return type:
bytes or tuple
- Raises:
InvalidMultibaseStringError – if the data is not multibase encoded
DecodingError – if decoding fails
- class multibase.multibase.Encoder(encoding)[source]¶
Bases:
objectReusable encoder for a specific encoding.
- class multibase.multibase.Encoding(encoding, code, converter)¶
Bases:
tuple- code¶
Alias for field number 1
- converter¶
Alias for field number 2
- encoding¶
Alias for field number 0
- multibase.multibase.decode(data, return_encoding=False)[source]¶
Decode the multibase decoded data
- Parameters:
data (str or bytes) – multibase encoded data
return_encoding (bool) – if True, return tuple (encoding, decoded_data)
- Returns:
decoded data, or tuple (encoding, decoded_data) if return_encoding=True
- Return type:
bytes or tuple
- Raises:
InvalidMultibaseStringError – if the data is not multibase encoded
DecodingError – if decoding fails
- multibase.multibase.encode(encoding, data)[source]¶
Encodes the given data using the encoding that is specified
- Parameters:
encoding (str) – encoding to use, should be one of the supported encoding
data (str or bytes) – data to encode
- Returns:
multibase encoded data
- Return type:
bytes
- Raises:
UnsupportedEncodingError – if the encoding is not supported
- multibase.multibase.get_codec(data)[source]¶
Returns the codec used to encode the given data
- Parameters:
data (str or bytes) – multibase encoded data
- Returns:
the
multibase.Encodingobject for the data’s codec- Raises:
InvalidMultibaseStringError – if the codec is not supported
- multibase.multibase.get_encoding_info(encoding)[source]¶
Get information about a specific encoding.
- Parameters:
encoding (str) – encoding name
- Returns:
Encoding namedtuple with encoding, code, and converter
- Return type:
- Raises:
UnsupportedEncodingError – if encoding is not supported
- multibase.multibase.is_encoded(data)[source]¶
Checks if the given data is encoded or not
- Parameters:
data (str or bytes) – multibase encoded data
- Returns:
if the data is encoded or not
- Return type:
bool
Module contents¶
Top-level package for py-multibase.