trinity.buffer.storage.sql module#

SQL database storage

class trinity.buffer.storage.sql.SQLStorage(storage_config: StorageConfig, config: BufferConfig)[source]#

Bases: object

An Storage based on SQL Database.

If wrap_in_ray in StorageConfig is True, this class will be run as a Ray Actor, and provide a remote interface to the local database.

For databases that do not support multi-processing read/write (e.g. sqlite, duckdb), please set wrap_in_ray to True.

__init__(storage_config: StorageConfig, config: BufferConfig) None[source]#
classmethod get_wrapper(storage_config: StorageConfig, config: BufferConfig)[source]#
abstract write(data: List) None[source]#

Write a batch of data.

abstract read(batch_size: int | None = None) List[source]#

Read a batch of data.

acquire() int[source]#
release() int[source]#
class trinity.buffer.storage.sql.SQLExperienceStorage(storage_config: StorageConfig, config: BufferConfig)[source]#

Bases: SQLStorage

Used as trainer input.

__init__(storage_config: StorageConfig, config: BufferConfig) None[source]#
write(data: List[Experience]) None[source]#

Write a batch of data.

read(batch_size: int | None = None) List[Experience][source]#

Read a batch of data.

classmethod load_from_dataset(dataset: Dataset, storage_config: StorageConfig, config: BufferConfig) SQLExperienceStorage[source]#
class trinity.buffer.storage.sql.SQLTaskStorage(storage_config: StorageConfig, config: BufferConfig)[source]#

Bases: SQLStorage

Used as explorer input.

__init__(storage_config: StorageConfig, config: BufferConfig) None[source]#
write(data: List[Dict]) None[source]#

Write a batch of data.

read(batch_size: int | None = None) List[Task][source]#

Read a batch of data.

classmethod load_from_dataset(dataset: Dataset, storage_config: StorageConfig, config: BufferConfig) SQLTaskStorage[source]#