granite_storage.contracts

class granite_storage.contracts.StorageBackend(*args, **kwargs)[source]

Bases: Protocol

__init__(*args, **kwargs)
backend_name: str
delete(ref: StoredObjectRef) None[source]
exists(ref: StoredObjectRef) bool[source]
get(ref: StoredObjectRef) bytes[source]
iter_locations(prefix: str | None = None) Iterator[str][source]
open(ref: StoredObjectRef) BinaryIO[source]
put_bytes(*, key: str, content: bytes, content_type: str | None = None, original_filename: str | None = None, extra: dict[str, Any] | None = None) StoredObjectRef[source]
put_stream(*, key: str, stream: BinaryIO, size: int | None = None, checksum: str | None = None, content_type: str | None = None, original_filename: str | None = None, extra: dict[str, Any] | None = None) StoredObjectRef[source]