When I'm trying to unpickle an instance object I get a class cast exception saying: java.lang.ClassCastException: org.python.core.PyObjectDerived at org.python.modules.cPickle$Unpickler.load_build(cPickle.java) This happens at the below line in this function: final private void load_build() { ... PyInstance inst = (PyInstance)peek(); looks like there is something of type PyObjectDervice on the stack which isn't a 'PyInstance'. The python part is An class object in module a.b.c of Type X. It has the attributes 'name','asof','data'. name is a string, asof is None and data is an empty list. The pickle string is: ccopy_reg _reconstructor p1 (ca.b.c X p2 c__builtin__ object p3 NtRp4 (dp5 S'data' p6 (lp7 sS'name' p8 S'Current' p9 sS'asof' p10 Nsb.