26 releases (8 breaking)

✓ Uses Rust 2018 edition

0.9.0 Mar 4, 2020
0.8.1 Dec 1, 2019
0.8.0 Nov 26, 2019
0.5.0 Jun 1, 2019
0.1.1 Jun 11, 2017

#7 in Database implementations

Download history 55/week @ 2019-12-02 291/week @ 2019-12-09 7/week @ 2019-12-16 24/week @ 2019-12-23 1/week @ 2019-12-30 31/week @ 2020-01-06 48/week @ 2020-01-13 117/week @ 2020-01-20 5/week @ 2020-01-27 11/week @ 2020-02-03 36/week @ 2020-02-10 33/week @ 2020-02-17 91/week @ 2020-02-24 18/week @ 2020-03-02 58/week @ 2020-03-09 28/week @ 2020-03-16

242 downloads per month
Used in 5 crates

MPL-2.0 license

430KB
10K SLoC

Persy

build status coverage report

Persy is a transactional storage engine written in rust.

persy.rs
crates.io
docs.rs
Mastodon

COMPILING THE SOURCE

Checkout the source code:

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

Compile and Test

cargo test

INSTALL

Add it as dependency of your project:

[dependencies]
persy="0.9"

USAGE 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_record("seg", &data)?;
let prepared = tx.prepare_commit()?;
prepared.commit()?;
for (_id, content) in persy.scan("seg")? {
    assert_eq!(content[0], 20);
    //....
}

CONTRIBUTION

There are a few option for contribute to persy, 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 new contributor friendly issues If you would like to contact the developers send a mail to user dev on the persy.rs domain.

Dependencies

~720KB
~12K SLoC