docs/v3/api-ref/python/prefect-results.mdx
prefect.resultsDEFAULT_STORAGE_KEY_FN <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L71" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>DEFAULT_STORAGE_KEY_FN() -> str
aget_default_result_storage <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L81" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aget_default_result_storage() -> WritableFileSystem
Generate a default file system for result storage.
get_default_result_storage <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L105" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_default_result_storage() -> WritableFileSystem
Generate a default file system for result storage.
aresolve_result_storage <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L130" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aresolve_result_storage(result_storage: ResultStorage | UUID | Path) -> WritableFileSystem
Resolve one of the valid ResultStorage input types into a saved block
document id and an instance of the block.
resolve_result_storage <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L167" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>resolve_result_storage(result_storage: ResultStorage | UUID | Path) -> WritableFileSystem
Resolve one of the valid ResultStorage input types into a saved block
document id and an instance of the block.
resolve_serializer <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L202" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>resolve_serializer(serializer: ResultSerializer) -> Serializer
Resolve one of the valid ResultSerializer input types into a serializer
instance.
get_or_create_default_task_scheduling_storage <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L218" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_or_create_default_task_scheduling_storage() -> ResultStorage
Generate a default file system for background task parameter/result storage.
get_default_result_serializer <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L236" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_default_result_serializer() -> Serializer
Generate a default file system for result storage.
get_default_persist_setting <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L244" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_default_persist_setting() -> bool
Return the default option for result persistence.
get_default_persist_setting_for_tasks <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L252" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_default_persist_setting_for_tasks() -> bool
Return the default option for result persistence for tasks.
should_persist_result <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L264" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>should_persist_result() -> bool
Return the default option for result persistence determined by the current run context.
If there is no current run context, the value of results.persist_by_default on the
current settings will be returned.
default_cache <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L293" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>default_cache() -> LRUCache[str, 'ResultRecord[Any]']
result_storage_discriminator <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L297" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>result_storage_discriminator(x: Any) -> str
get_result_store <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1220" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_result_store() -> ResultStore
Get the current result store.
ResultStore <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L310" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Manages the storage and retrieval of results.
Attributes:
result_storage: The storage for result records. If not provided, the default
result storage will be used.metadata_storage: The storage for result record metadata. If not provided,
the metadata will be stored alongside the results.lock_manager: The lock manager to use for locking result records. If not provided,
the store cannot be used in transactions with the SERIALIZABLE isolation level.cache_result_in_memory: Whether to cache results in memory.serializer: The serializer to use for results.storage_key_fn: The function to generate storage keys.Methods:
aacquire_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1124" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aacquire_lock(self, key: str, holder: str | None = None, timeout: float | None = None) -> bool
Acquire a lock for a result record.
Args:
key: The key to acquire the lock for.holder: The holder of the lock. If not provided, a default holder based on the
current host, process, and thread will be used.timeout: The timeout for the lock.Returns:
acquire_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1101" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>acquire_lock(self, key: str, holder: str | None = None, timeout: float | None = None) -> bool
Acquire a lock for a result record.
Args:
key: The key to acquire the lock for.holder: The holder of the lock. If not provided, a default holder based on the
current host, process, and thread will be used.timeout: The timeout for the lock.Returns:
aexists <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L645" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aexists(self, key: str) -> bool
Check if a result record exists in storage.
Args:
key: The key to check for the existence of a result record.Returns:
apersist_result_record <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1068" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>apersist_result_record(self, result_record: 'ResultRecord[Any]', holder: str | None = None) -> None
Persist a result record to storage.
Args:
result_record: The result record to persist.aread <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L824" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aread(self, key: str, holder: str | None = None) -> 'ResultRecord[Any]'
Read a result record from storage.
Args:
key: The key to read the result record from.holder: The holder of the lock if a lock was set on the record.Returns:
aupdate_for_flow <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L374" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aupdate_for_flow(self, flow: 'Flow[..., Any]') -> Self
Create a new result store for a flow with updated settings.
Args:
flow: The flow to update the result store for.Returns:
aupdate_for_task <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L421" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>aupdate_for_task(self: Self, task: 'Task[P, R]') -> Self
Create a new result store for a task.
Args:
task: The task to update the result store for.Returns:
await_for_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1208" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>await_for_lock(self, key: str, timeout: float | None = None) -> bool
Wait for the corresponding transaction record to become free.
awrite <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L906" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>awrite(self, obj: Any, key: str | None = None, expiration: DateTime | None = None, holder: str | None = None) -> None
Write a result to storage.
Args:
key: The key to write the result record to.obj: The object to write to storage.expiration: The expiration time for the result record.holder: The holder of the lock if a lock was set on the record.create_result_record <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L842" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>create_result_record(self, obj: Any, key: str | None = None, expiration: DateTime | None = None) -> 'ResultRecord[Any]'
Create a result record.
Args:
key: The key to create the result record for.obj: The object to create the result record for.expiration: The expiration time for the result record.exists <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L633" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>exists(self, key: str) -> bool
Check if a result record exists in storage.
Args:
key: The key to check for the existence of a result record.Returns:
generate_default_holder <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L527" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>generate_default_holder() -> str
Generate a default holder string using hostname, PID, and thread ID.
Returns:
is_lock_holder <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1177" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>is_lock_holder(self, key: str, holder: str | None = None) -> bool
Check if the current holder is the lock holder for the result record.
Args:
key: The key to check the lock for.holder: The holder of the lock. If not provided, a default holder based on the
current host, process, and thread will be used.Returns:
is_locked <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1166" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>is_locked(self, key: str) -> bool
Check if a result record is locked.
persist_result_record <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1056" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>persist_result_record(self, result_record: 'ResultRecord[Any]', holder: str | None = None) -> None
Persist a result record to storage.
Args:
result_record: The result record to persist.read <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L806" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>read(self, key: str, holder: str | None = None) -> 'ResultRecord[Any]'
Read a result record from storage.
Args:
key: The key to read the result record from.holder: The holder of the lock if a lock was set on the record.Returns:
release_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1148" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>release_lock(self, key: str, holder: str | None = None) -> None
Release a lock for a result record.
Args:
key: The key to release the lock for.holder: The holder of the lock. Must match the holder that acquired the lock.
If not provided, a default holder based on the current host, process, and
thread will be used.result_storage_block_id <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L344" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>result_storage_block_id(self) -> UUID | None
supports_isolation_level <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1082" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>supports_isolation_level(self, level: 'IsolationLevel') -> bool
Check if the result store supports a given isolation level.
Args:
level: The isolation level to check.Returns:
update_for_flow <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L398" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>update_for_flow(self, flow: 'Flow[..., Any]') -> Self
Create a new result store for a flow with updated settings.
Args:
flow: The flow to update the result store for.Returns:
update_for_task <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L474" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>update_for_task(self: Self, task: 'Task[P, R]') -> Self
Create a new result store for a task.
Args:
task: The task to update the result store for.Returns:
wait_for_lock <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L1197" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>wait_for_lock(self, key: str, timeout: float | None = None) -> bool
Wait for the corresponding transaction record to become free.
write <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/results.py#L879" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>write(self, obj: Any, key: str | None = None, expiration: DateTime | None = None, holder: str | None = None) -> None
Write a result to storage.
Handles the creation of a ResultRecord and its serialization to storage.
Args:
key: The key to write the result record to.obj: The object to write to storage.expiration: The expiration time for the result record.holder: The holder of the lock if a lock was set on the record.