23 releases (7 breaking)

✓ Uses Rust 2018 edition

0.8.1 Dec 1, 2019
0.8.0 Nov 26, 2019
0.7.1 Nov 17, 2019
0.5.0 Jun 1, 2019
0.1.1 Jun 11, 2017

#24 in Database implementations

Download history 15/week @ 2019-08-17 249/week @ 2019-08-24 66/week @ 2019-08-31 100/week @ 2019-09-07 161/week @ 2019-09-14 146/week @ 2019-09-21 47/week @ 2019-09-28 42/week @ 2019-10-05 34/week @ 2019-10-12 65/week @ 2019-10-19 37/week @ 2019-10-26 42/week @ 2019-11-02 3/week @ 2019-11-09 85/week @ 2019-11-16 43/week @ 2019-11-23

280 downloads per month
Used in 5 crates

MPL-2.0 license

395KB
9K 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
~11K SLoC