Skip to content

safestructures.save_file

Save data using Safestructures.

Parameters:

Name Type Description Default
data Any

Data to save. Data must use data types that are serializable by Safetensors/Safestructures.

required
save_path Union[str, PosixPath]

Path to save the data. Directory must already exist.

required
metadata Optional[dict[str, str]]

Additional metadata to save. Defaults to None for no metadata.

None
plugins Optional[Union[PROCESSOR_TYPES, list[PROCESSOR_TYPES]]]

Additional plugins to serialize data for data types not covered by safestructures. Defaults to None for no plugins.

None

Returns:

Type Description

None.

Source code in src/safestructures/wrapper.py
def save_file(
    data: Any,
    save_path: Union[str, PosixPath],
    metadata: Optional[dict[str, str]] = None,
    plugins: Optional[Union[PROCESSOR_TYPES, list[PROCESSOR_TYPES]]] = None,
):
    """Save data using Safestructures.

    Args:
        data (Any): Data to save.
            Data must use data types that are serializable
            by Safetensors/Safestructures.
        save_path (Union[str, PosixPath]): Path to save the data.
            Directory must already exist.
        metadata (Optional[dict[str, str]], optional): Additional metadata to save.
            Defaults to None for no metadata.
        plugins (Optional[Union[PROCESSOR_TYPES, list[PROCESSOR_TYPES]]], optional):
            Additional plugins to serialize data for data types not covered
            by safestructures. Defaults to None for no plugins.

    Returns:
        None.
    """
    if plugins and not isinstance(plugins, list):
        plugins = [plugins]

    return Serializer(plugins=plugins).save(data, save_path, metadata=metadata)