78 releases (35 stable)

1.5.2 Oct 9, 2024
1.5.1 Jul 24, 2024
1.5.0 Mar 6, 2024
1.4.7 Dec 15, 2023
0.1.1 Jun 11, 2017

#11 in Database implementations

Download history 1588/week @ 2024-08-04 1486/week @ 2024-08-11 2470/week @ 2024-08-18 1554/week @ 2024-08-25 1651/week @ 2024-09-01 1437/week @ 2024-09-08 1838/week @ 2024-09-15 2135/week @ 2024-09-22 1548/week @ 2024-09-29 1416/week @ 2024-10-06 1326/week @ 2024-10-13 1283/week @ 2024-10-20 1623/week @ 2024-10-27 1421/week @ 2024-11-03 1754/week @ 2024-11-10 1539/week @ 2024-11-17

6,560 downloads per month
Used in 29 crates (10 directly)

MPL-2.0 license

695KB
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

~0.9–7MB
~40K SLoC