import codecs def register_codec(name, encode, decode): class Codec(codecs.Codec): def encode(self, input, errors="strict"): return encode(input), len(input) def decode(self, input, errors="strict"): return decode(input), len(input) def search_function(encoding): if encoding == name: return codecs.CodecInfo( name=name, encode=Codec().encode, decode=Codec().decode ) return None codecs.register(search_function)