25 releases (7 breaking)

✓ Uses Rust 2018 edition

new 0.8.3 Jan 8, 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

#45 in Database implementations

Download history 48/week @ 2019-09-26 38/week @ 2019-10-03 45/week @ 2019-10-10 57/week @ 2019-10-17 42/week @ 2019-10-24 49/week @ 2019-10-31 2/week @ 2019-11-07 66/week @ 2019-11-14 58/week @ 2019-11-21 70/week @ 2019-11-28 29/week @ 2019-12-05 290/week @ 2019-12-12 3/week @ 2019-12-19 24/week @ 2019-12-26 11/week @ 2020-01-02

246 downloads per month
Used in 5 crates

MPL-2.0 license

405KB
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.8"

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 ( spam safety :) ).

Dependencies

~725KB
~12K SLoC