0.2.0 |
|
---|
#150 in #record
Used in libqaul
125KB
3K
SLoC
alexandria 📚
Strongly typed, embedded record database with seemless encryption at rest storage. Supports key-value Diff transactions, as well as externally loaded binary payloads. Supports encrypted metadata without extra configuration.
Alexandria has the following features:
- Store data on internal db path
- Query the database by path or dynamic search tags
- Subscribe to events based on query
- Iterate over query dynamically
- Store data in session or global namespaces
Notice: alexandria should be considered experimental and not used in production systems where data loss is unacceptable.
How to use
Alexandria requires rustc
1.42 to compile.
use alexandria::{Library, Builder};
use tempfile::tempdir();
let dir = tempdir().unwrap();
let lib = Builder::new()
.offset(dir.path())
.root_sec("car horse battery staple")
.build()?
Alexandria is developed as part of qaul. We have a mailing list and an IRC channel! Please come by and ask us questions! (the issue tracker is a bad place to ask questions)
License
Alexandria is free software and part of [qaul][qaul]. You
are free to use, modify and redistribute the source code under the
terms of the GNU General Public License 3.0 or (at your choice) any
later version. For a full copy of the license, see LICENSE
in the
source directory attached.
Additional Permissions: For Submission to the Apple App Store: Provided that you are otherwise in compliance with the GPLv3 for each covered work you convey (including without limitation making the Corresponding Source available in compliance with Section 6 of the GPLv3), the qaul developers also grant you the additional permission to convey through the Apple App Store non-source executable versions of the Program as incorporated into each applicable covered work as Executable Versions only under the Mozilla Public License version 2.0.
A copy of both the GPL-3.0 and MPL-2.0 license texts are included in this repository.
Dependencies
~24–35MB
~311K SLoC