.. _UsingAPI: Using the Python API -------------------- Writing compressed files ........................ Using enstools's **read** and **write** compressing a file could be done by: .. code:: from enstools.io import read,write with read("input.nc") as dataset: write(dataset,"output.nc", compression=lossless) We added a method that does just thad adding few more features: :meth:`enstools.compression.api.compress` Finding compression parameters .............................. :meth:`enstools.compression.api.analyze_files` :meth:`enstools.compression.api.analyze_dataset` To analyze a dataset: .. code:: from enstools.io import read from enstools.compression.api import analyze_dataset with read("input.nc") as dataset: results = analyze_dataset(dataset) To analyze a file: .. code:: from enstools.compression.api import analyze_files results = analyze_files("input.nc") Emulator ........ .. code:: from enstools.io import read from enstools.encoding.api import emulate_compression_on_dataset results = analyze_files("input.nc") with read("input.nc") as dataset: compressed_dataset = emulate_compression_on_dataset(dataset, compression="lossy,sz,pw_rel,1e-5", inplace=False) diff = compressed_dataset - dataset xarray accessor ............... .. code:: from enstools.io import read import enstools.compression.xr_accessor with read("input.nc") as dataset: results = dataset.compression.analyze()