Writing new serializer backends
If you wish to implement an alternate method of serialization, you can do so by subclassing
the Serializer
class.
There are three methods implementors must override:
The mimetype
method is a @property
that simply returns the MIME type appropriate for the
serialization scheme. This property is used by certain other components. If you cannot find an
applicable MIME type, you can use application/octet-stream
.
Note
Serializers must always serialize to bytes; never serialize to strings!
If you want your serializer to be available as a backend for
SerializationComponent
, you need to add the corresponding
entry point for it. Suppose your serializer class is named AwesomeSerializer
, lives in the
package foo.bar.awesome
and you want to give it the alias awesome
, add this line to your
project’s setup.py
under the entry_points
argument in the
asphalt.serialization.serializers
namespace:
setup(
# (...other arguments...)
entry_points={
'asphalt.serialization.serializers': [
'awesome = foo.bar.awesome:AwesomeSerializer'
]
}
)