lars.exceptions.DuplicateError.html)
    * [ polars.exceptions.InvalidOperationError ](../../api/polars.exceptions.InvalidOperationError.html)
    * [ polars.exceptions.NoDataError ](../../api/polars.exceptions.NoDataError.html)
    * [ polars.exceptions.NoRowsReturnedError ](../../api/polars.exceptions.NoRowsReturnedError.html)
    * [ polars.exceptions.PolarsError ](../../api/polars.exceptions.PolarsError.html)
    * [ polars.exceptions.PolarsPanicError ](../../api/polars.exceptions.PolarsPanicError.html)
    * [ polars.exceptions.RowsError ](../../api/polars.exceptions.RowsError.html)
    * [ polars.exceptions.SchemaError ](../../api/polars.exceptions.SchemaError.html)
    * [ polars.exceptions.SchemaFieldNotFoundError ](../../api/polars.exceptions.SchemaFieldNotFoundError.html)
    * [ polars.exceptions.ShapeError ](../../api/polars.exceptions.ShapeError.html)
    * [ polars.exceptions.StructFieldNotFoundError ](../../api/polars.exceptions.StructFieldNotFoundError.html)
    * [ polars.exceptions.TooManyRowsReturnedError ](../../api/polars.exceptions.TooManyRowsReturnedError.html)

  * [ Testing ](../../testing.html) __
    * [ polars.testing.assert_frame_equal ](../../api/polars.testing.assert_frame_equal.html)
    * [ polars.testing.assert_frame_not_equal ](../../api/polars.testing.assert_frame_not_equal.html)
    * [ polars.testing.assert_series_equal ](../../api/polars.testing.assert_series_equal.html)
    * [ polars.testing.assert_series_not_equal ](../../api/polars.testing.assert_series_not_equal.html)
    * [ polars.testing.parametric.dataframes ](../../api/polars.testing.parametric.dataframes.html)
    * [ polars.testing.parametric.series ](../../api/polars.testing.parametric.series.html)
    * [ polars.testing.parametric.column ](../../api/polars.testing.parametric.column.html)
    * [ polars.testing.parametric.columns ](../../api/polars.testing.parametric.columns.html)
    * [ polars.testing.parametric.create_list_strategy ](../../api/polars.testing.parametric.create_list_strategy.html)
    * [ polars.testing.parametric.load_profile ](../../api/polars.testing.parametric.load_profile.html)
    * [ polars.testing.parametric.set_profile ](../../api/polars.testing.parametric.set_profile.html)

  * [ Metadata ](../../metadata.html) __
    * [ polars.build_info ](../../api/polars.build_info.html)
    * [ polars.get_index_type ](../../api/polars.get_index_type.html)
    * [ polars.show_versions ](../../api/polars.show_versions.html)
    * [ polars.thread_pool_size ](../../api/polars.thread_pool_size.html)
    * [ polars.threadpool_size ](../../api/polars.threadpool_size.html)

  * [ __ ](../../../index.html)
  * [ Python API reference ](../../index.html)
  * __
  * [ Miscellaneous ](../miscellaneous.html)
  * polars.LazyF... 

#  polars.LazyFrame.deserialize  #

_ classmethod  _ LazyFrame.  deserialize  (  _ source  :  [ str  ](https://docs.python.org/3/library/stdtypes.html#str "\(in Python v3.12\)") |  Path  |  IOBase  _ )  →  Self  [ [source]  ](https://github.com/pola-rs/polars/blob/main/py-polars/polars/lazyframe/frame.py#L348-L392) # 
    

Read a logical plan from a JSON file to construct a LazyFrame.

Parameters  :

    

**source**

    

Path to a file or a file-like object (by file-like object, we refer to objects
that have a ` read()  ` method, such as a file handler (e.g. via builtin `
open  ` function) or ` BytesIO  ` ).

Warning

This function uses [ ` pickle  `
](https://docs.python.org/3/library/pickle.html#module-pickle "\(in Python
v3.12\)") under some circumstances, and as such inherits the security
implications. Deserializing can execute arbitrary code so it should only be
attempted on trusted data. pickle is only used when the logical plan contains
python UDFs.

See also

[ ` LazyFrame.serialize  `
](polars.LazyFrame.serialize.html#polars.LazyFrame.serialize
"polars.LazyFrame.serialize")

    

Examples

    
    
    >>> import io
    >>> lf = pl.LazyFrame({"a": [1, 2, 3]}).sum()
    >>> json = lf.