ObjectStore#

class composer.utils.ObjectStore[source]#

Abstract class for implementing object stores, such as LibcloudObjectStore and S3ObjectStore.

close()[source]#

Close the object store.

download_object(object_name, filename, overwrite=False, callback=None)[source]#

Download an object to the specified destination path.

Parameters
  • object_name (str) โ€“ The name of the object to download.

  • filename (str | Path) โ€“ Full path to a file or a directory where the incoming file will be saved.

  • overwrite (bool, optional) โ€“ Whether to overwrite an existing file at filename, if it exists. (default: False)

  • callback ((int) -> None, optional) โ€“ If specified, the callback is periodically called with the number of bytes already downloaded and the total size of the object.

Raises
get_object_size(object_name)[source]#

Get the size of an object, in bytes.

Parameters

object_name (str) โ€“ The name of the object.

Returns

int โ€“ The object size, in bytes.

Raises
get_uri(object_name)[source]#

Returns the URI for object_name.

Note

This function does not check that object_name is in the object store. It computes the URI statically.

Parameters

object_name (str) โ€“ The object name.

Returns

str โ€“ The URI for object_name in the object store.

list_objects(prefix)[source]#

List all objects in the object store with the given prefix.

Parameters

prefix (str) โ€“ The prefix to search for.

Returns

list[str] โ€“ A list of object names that match the prefix.

upload_object(object_name, filename, callback=None, **kwargs)[source]#

Upload an object currently located on a disk.

Parameters
  • object_name (str) โ€“ Object name (where object will be stored in the container)

  • filename (str | Path) โ€“ Path to the object on disk

  • callback ((int, int) -> None, optional) โ€“ If specified, the callback is periodically called with the number of bytes uploaded and the total size of the object being uploaded.

  • **kwargs โ€“ other arguments to the upload object function are supported and will be passed in to the underlying object store upload call. Currently only used for S3ObjectStore.

Raises

ObjectStoreTransientError โ€“ If there was a transient connection issue with uploading the object.