72 releases (29 stable)

new 1.4.4 Mar 17, 2023
1.4.2 Jan 30, 2023
1.4.1 Dec 25, 2022
1.3.4 Sep 14, 2022
0.1.1 Jun 11, 2017

#6 in Database implementations

Download history 45/week @ 2022-11-29 79/week @ 2022-12-06 50/week @ 2022-12-13 244/week @ 2022-12-20 127/week @ 2022-12-27 77/week @ 2023-01-03 90/week @ 2023-01-10 163/week @ 2023-01-17 190/week @ 2023-01-24 215/week @ 2023-01-31 370/week @ 2023-02-07 315/week @ 2023-02-14 220/week @ 2023-02-21 74/week @ 2023-02-28 118/week @ 2023-03-07 96/week @ 2023-03-14

607 downloads per month
Used in 9 crates (7 directly)

MPL-2.0 license

625KB
16K SLoC

Persy

build status coverage report

Persy is a transactional storage engine written in rust.

Install

Add it as dependency of your project:

[dependencies]
persy="1.4"

Example

Create a new persy file save some data in it and scan it.

use persy::{Persy,Config};
//...
Persy::create("./open.persy")?;
let persy = Persy::open("./open.persy",Config::new())?;
let mut tx = persy.begin()?;
tx.create_segment("seg")?;
let data = vec![1;20];
tx.insert("seg", &data)?;
let prepared = tx.prepare()?;
prepared.commit()?;
for (_id, content) in persy.scan("seg")? {
    assert_eq!(content[0], 1);
    //....
}

Docs

Check the get started and the APIs look for all the version on crates.io

Compile The Source

Checkout the source code:

git clone https://gitlab.com/tglman/persy.git

Compile and Test

cargo test

Contacts

Follow Persy on Mastodon for news and announcements, join the #persy_rs:matrix.org for have a chat.

Contributing

You can find the code on our Repository and report any issue in our Issues Tracker

If you want to have an active part on the Persy development, you can start from reviewing and suggesting API changes, jump directly to hacking the code or just playing a bit with docs. If you want a list of possibility you can start from the list of Good First Issue

Dependencies

~1.3–2.4MB
~51K SLoC