This package provides improved pickling support. Instead of storing the entire state dict __dict__, the parameters passed to the initializer __init__() are captured.
During unpickling, the captured parameters are used to create a new object instance.
This behaviour is implemented using the __reduce__() hook.
Thus, it is strongly discouraged to override the __reduce__() method.
If you need to pickle variables beyond the constructor parameters, you should use the regular __getstate__() and __setstate__() methods.
pip install init-args-serializer
class MyCustomClass(OptionalBaseClass, Serializable):
def __init__(self, *args, **kwargs):
# Recommended to call this first
Serializable._init(self, locals())