Files
artifact-store/src/artifactstore/storage/__init__.py

46 lines
1.1 KiB
Python

"""Storage adapter SPI and backend registry.
Backends address bytes by content address (ADR-0001). The SPI is small
(``put`` / ``get`` / ``head`` / ``delete`` / ``health``) so swapping or
adding adapters never touches the registry or API layers.
"""
from artifactstore.storage.backends.local import LocalBackend
from artifactstore.storage.backends.s3 import S3Backend, S3BackendConfig
from artifactstore.storage.registry import (
clear as clear_backends,
)
from artifactstore.storage.registry import (
get as get_backend,
)
from artifactstore.storage.registry import (
list_backends,
)
from artifactstore.storage.registry import (
register as register_backend,
)
from artifactstore.storage.spi import (
BackendStatus,
DeletionResult,
ObjectNotFoundError,
StorageBackend,
StorageObjectMetadata,
StorageReceipt,
)
__all__ = [
"BackendStatus",
"DeletionResult",
"LocalBackend",
"ObjectNotFoundError",
"S3Backend",
"S3BackendConfig",
"StorageBackend",
"StorageObjectMetadata",
"StorageReceipt",
"clear_backends",
"get_backend",
"list_backends",
"register_backend",
]