76 releases (33 stable)

1.5.0 Mar 6, 2024
1.4.7 Dec 15, 2023
1.4.6 Nov 27, 2023
1.4.4 Mar 17, 2023
0.1.1 Jun 11, 2017

#6 in Database implementations

Download history 3046/week @ 2023-12-06 3151/week @ 2023-12-13 3674/week @ 2023-12-20 3944/week @ 2023-12-27 4471/week @ 2024-01-03 3592/week @ 2024-01-10 3750/week @ 2024-01-17 3004/week @ 2024-01-24 3693/week @ 2024-01-31 653/week @ 2024-02-07 3284/week @ 2024-02-14 2237/week @ 2024-02-21 1941/week @ 2024-02-28 1762/week @ 2024-03-06 1517/week @ 2024-03-13 1190/week @ 2024-03-20

6,711 downloads per month
Used in 21 crates (10 directly)

MPL-2.0 license

685KB
18K 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.5"

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/persy/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–2.3MB
~44K SLoC