Utilities to encode and decode Base64.
New in version 1.10.
Decode a Base64 encoded string.
encoded – bytes or text Base64 encoded string to be decoded
decoded bytes string (bytes)
Use decode_as_text() to get the decoded string as text.
A TypeError is raised if the input is invalid (or incorrectly padded).
Decode a Base64 encoded string.
Decode the Base64 string and then decode the result from encoding (UTF-8 by default).
encoded – bytes or text Base64 encoded string to be decoded
decoded text string (bytes)
Use decode_as_bytes() to get the decoded string as bytes.
Encode a string using Base64.
If s is a text string, first encode it to encoding (UTF-8 by default).
s – bytes or text string to be encoded
encoding – encoding used to encode s if it’s a text string
Base64 encoded byte string (bytes)
Use encode_as_text() to get the Base64 encoded string as text.
Encode a string using Base64.
If s is a text string, first encode it to encoding (UTF-8 by default).
s – bytes or text string to be encoded
encoding – encoding used to encode s if it’s a text string
Base64 encoded text string (Unicode)
Use encode_as_bytes() to get the Base64 encoded string as bytes.
JSON related utilities.
This module provides a few things:
A handy function for getting an object down to something that can be
JSON serialized. See to_primitive()
.
Wrappers around loads()
and dumps()
. The dumps()
wrapper will automatically use to_primitive()
for you if needed.
This sets up anyjson
to use the loads()
and dumps()
wrappers if anyjson
is available.
Serialize obj
as a JSON formatted stream to fp
obj – object to be serialized
fp – a .write()
-supporting file-like object
default – function that returns a serializable version of an object,
to_primitive()
is used by default.
args – extra arguments, please see documentation of json.dump
kwargs –
extra named parameters, please see documentation of json.dump
Changed in version 1.3: The default parameter now uses to_primitive()
by default.
Serialize obj
to a JSON formatted bytes
.
obj – object to be serialized
default – function that returns a serializable version of an object,
to_primitive()
is used by default.
encoding – encoding used to encode the serialized JSON output
kwargs – extra named parameters, please see documentation of json.dumps
json formatted string
New in version 1.10.
Serialize obj
to a JSON formatted str
.
obj – object to be serialized
default – function that returns a serializable version of an object,
to_primitive()
is used by default.
kwargs –
extra named parameters, please see documentation of json.dumps
json formatted string
Use dump_as_bytes() to ensure that the result type is bytes
on Python 2
and Python 3.
Deserialize fp
to a Python object.
fp – a .read()
-supporting file-like object
encoding – encoding used to interpret the string
kwargs – extra named parameters, please see documentation of json.loads
python object
Deserialize s
(a str
or unicode
instance containing a JSON
s – string to deserialize
encoding – encoding used to interpret the string
kwargs –
extra named parameters, please see documentation of json.loads
python object
Convert a complex object into primitives.
Handy for JSON serialization. We can optionally handle instances, but since this is a recursive function, we could have cyclical data structures.
To handle cyclical data structures we could track the actual objects visited in a set, but not all objects are hashable. Instead we just track the depth of the object inspections and don’t go too deep.
Therefore, convert_instances=True
is lossy … be aware.
If the object cannot be converted to primitive, it is returned unchanged if fallback is not set, return fallback(value) otherwise.
Changed in version 2.22: Added fallback parameter.
Changed in version 1.3: Support UUID encoding.
Changed in version 1.6: Dictionary keys are now also encoded.
MessagePack related utilities.
This module provides a few things:
A handy registry for getting an object down to something that can be
msgpack serialized. See HandlerRegistry
.
Wrappers around loads()
and dumps()
. The dumps()
wrapper will automatically use
the default_registry
for
you if needed.
New in version 1.3.
Registry of type specific msgpack handlers extensions.
See: https://github.com/msgpack/msgpack/blob/master/spec.md#formats-ext
Do note that due to the current limitations in the msgpack python library we can not currently dump/load a tuple without converting it to a list.
This may be fixed in: https://github.com/msgpack/msgpack-python/pull/100
New in version 1.5.
Deep copy the given registry (and its handlers).
Get the handler for the given numeric identity (or none).
Match the registries handlers to the given object (or none).
Applications can assign 0 to 127 to store application (or library) specific type handlers; see above ranges for what is reserved by this library and what is not.
Applications can assign 0 to 127 to store application (or library) specific type handlers; see above ranges for what is reserved by this library and what is not.
These ranges are always reserved for use by applications building their own type specific handlers (the meaning of extensions in this range will typically vary depending on application).
Register a extension handler to handle its associated type.
These ranges are always reserved for use by oslo.serialization
and
its own add-ons extensions (these extensions are meant to be generally
applicable to all of python).
Small and/or simple immutable integer/float interval class.
Interval checking is inclusive of the min/max boundaries.
Default, read-only/frozen registry that will be used when none is provided.
This registry has msgpack extensions for the following:
DateTime
objects.
Date
objects.
UUID
objects.
itertools.count
objects/iterators.
set
and frozenset
container(s).
netaddr.IPAddress
objects (only if netaddr
is importable).
xmlrpclib.DateTime
datetime objects.
New in version 1.5.
Serialize obj
as a messagepack formatted stream to fp
.
Changed in version 1.5: Added registry parameter.
Serialize obj
to a messagepack formatted str
.
Changed in version 1.5: Added registry parameter.
Deserialize fp
into a Python object.
Changed in version 1.5: Added registry parameter.
Deserialize s
messagepack str
into a Python object.
Changed in version 1.5: Added registry parameter.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.