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 = truecargo add terraphim_persistence@1.20.4About 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
2026-06-30 00:20:06 +02:00
Assets (1)
Versions (2)
View all
Cargo
1
Terraphim Contributors
Apache-2.0
54 KiB