terraphim

terraphim_persistence (1.20.4)

Published 2026-06-30 00:20:06 +02:00 by root

Installation

[registry]
default = "gitea"

[registries.gitea]
index = "sparse+" # Sparse index
# index = "" # Git

[net]
git-fetch-with-cli = true
cargo add terraphim_persistence@1.20.4

About this package

Terraphim persistence layer

The goal of persistence crate is to crate a layer of abstraction using OpenDAL. The idea is that writes will go everywhere in async mode, but all reads will be from fastest operator. see ./examples/simple_struct.rs

save_to_one will save to single profile save to all will save to all available profile load will load from fastest profile

Config file here is to define available services for persistence layer. It is taken from: https://github.com/apache/incubator-opendal/tree/main/bin/oli with minor modifications: prefix for env variables shall be TERRAPHIM_PROFILE instead of OLI_PROFILE profile name can't have spaces

it will parse all profiles and then measure load speed for each operator, current profile config:

[profiles.s3]
type = "s3"
bucket = "test"
region = "us-east-1"
endpoint = "http://rpi4node3:8333/"
access_key_id = ""
secret_access_key = ""

[profiles.sled]
type = "sled"
datadir= "/tmp/opendal/sled"

[profiles.dash]
type = "dashmap"
root = "/tmp/dashmaptest"

[profiles.rock]
type = "rocksdb"
datadir = "/tmp/opendal/rocksdb"

Dependencies

ID Version
async-once-cell ^0.5.3
async-trait ^0.1
chrono ^0.4
log ^0.4
opendal ^0.54
regex ^1.12.3
rusqlite ^0.32
serde ^1.0
serde_json ^1.0
terraphim_settings ^1.20.4
terraphim_types ^1.20.4
thiserror ^2.0
tokio ^1.35
tracing ^0.1
tracing-subscriber ^0.3
zstd ^0.13
serial_test ^3.3.1
temp-env ^0.3.6
tempfile ^3.27
test-env-log ^0.2
tokio ^1.35

Keywords

personal-assistant ai privacy persistence storage
Details
Cargo
2026-06-30 00:20:06 +02:00
2
Terraphim Contributors
Apache-2.0
54 KiB
Assets (1)
Versions (2) View all
1.20.4 2026-06-30
1.20.2 2026-06-02