Source code for io_collection.save.save_pickle

import io
import pickle

from io_collection.save.save_buffer import save_buffer


[docs] def save_pickle(location: str, key: str, obj: object) -> None: """ Save pickled object to key at specified location. Method will save to the S3 bucket if the location begins with the **s3://** protocol, otherwise it assumes the location is a local path. Parameters ---------- location Object location (local path or S3 bucket). key Object key ending in `.pkl`. obj Object to save. """ if not key.endswith(".pkl"): message = f"key [ {key} ] must have [ pkl ] extension" raise ValueError(message) with io.BytesIO() as buffer: pickle.dump(obj, buffer) save_buffer(location, key, buffer)