base
base ¶
AsyncResultsBackend ¶
Abstract base class for async results storage backends.
Implementations should provide asynchronous storage and retrieval of Pydantic models.
clear
abstractmethod
async
¶
delete
abstractmethod
async
¶
exists
abstractmethod
async
¶
Asynchronously check if a result exists for the given ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
result_id
|
Union[str, List[str]]
|
Unique identifier or hierarchical path for the result |
required |
Returns:
Type | Description |
---|---|
bool
|
True if the result exists, False otherwise |
Source code in src/results_manager/async_backends/base.py
get
abstractmethod
async
¶
get(
result_id: Union[str, List[str]],
model_class: Optional[Type[T]] = None,
namespace: Optional[str] = None,
) -> T
Asynchronously retrieve a result by ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
result_id
|
Union[str, List[str]]
|
Unique identifier or hierarchical path for the result |
required |
model_class
|
Optional[Type[T]]
|
Optional model class to validate against |
None
|
namespace
|
Optional[str]
|
Optional namespace to look in |
None
|
Returns:
Type | Description |
---|---|
T
|
Pydantic model instance |
Raises:
Type | Description |
---|---|
FileNotFoundError
|
If the result doesn't exist |
ValueError
|
If the model type is not registered |
Source code in src/results_manager/async_backends/base.py
list_ids
abstractmethod
async
¶
set
abstractmethod
async
¶
set(
result_id: Union[str, List[str]],
data: BaseModel,
behavior: SetBehavior = RAISE_IF_EXISTS,
namespace: Optional[str] = None,
strict_namespace: bool = False,
) -> bool
Asynchronously store a result with the given ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
result_id
|
Union[str, List[str]]
|
Unique identifier or hierarchical path for the result |
required |
data
|
BaseModel
|
Pydantic model instance to store |
required |
behavior
|
SetBehavior
|
How to handle existing data with the same ID |
RAISE_IF_EXISTS
|
namespace
|
Optional[str]
|
Optional namespace to store the model in |
None
|
strict_namespace
|
bool
|
If True, raises an error if model is in multiple namespaces |
False
|
Returns:
Type | Description |
---|---|
bool
|
True if data was written, False if skipped |
Raises:
Type | Description |
---|---|
FileExistsError
|
If data already exists (for RAISE_IF_EXISTS) or if different data exists (for RAISE_IF_DIFFERENT) |