Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 1.08 KB

README.md

File metadata and controls

25 lines (19 loc) · 1.08 KB

Python init-args based Serializer

PyPI version codecov

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.

Installation

pip install init-args-serializer

Usage

class MyCustomClass(OptionalBaseClass, Serializable):
    
    def __init__(self, *args, **kwargs):
        # Recommended to call this first
        Serializable._init(self, locals())