enc.deconstructors[urlparse.ParseResult] = lambda u: ("url", urlparse.urlunparse(u)) enc.deconstructors[Location] = lambda l: ("location", (l.longitude, l.latitude)) dec = TypeDecoder() dec.constructors["url"] = lambda d, v: urlparse.urlparse(v) dec.constructors["location"] = lambda d, v: Location(*v) generic_dec = TypeDecoder() l = Location(1.2, 3.4) print "Location:", l bytes = enc.encode(l) print "Encoded:", repr(bytes) print "Decoded:", dec.decode(bytes)[0], generic_dec.decode(bytes)[0] print u = urlparse.urlparse(u"http://www.amqp.org") print "URL:", u bytes = enc.encode(u) print "Encoded:", repr(bytes) print "Decoded:", dec.decode(bytes)[0], generic_dec.decode(bytes)[0] print from framing import Frame, FrameDecoder, FrameEncoder frenc = FrameEncoder() frenc.write(Frame(0, 1, None, "frame1 body"))