rapiddb/
lib.rs

1#![doc(
2  html_logo_url = "https://raw.githubusercontent.com/kruserr/rapiddb/main/assets/logo/logo.svg",
3  html_favicon_url = "https://raw.githubusercontent.com/kruserr/rapiddb/main/assets/logo/favicon.ico"
4)]
5#![allow(clippy::needless_doctest_main)]
6
7//! <p align="center">
8//!   <a href="https://github.com/kruserr/rapiddb" target="_blank">
9//!     <img width="300" src="https://raw.githubusercontent.com/kruserr/rapiddb/main/assets/logo/logo.svg">
10//!   </a>
11//!   <br/>
12//!   <br/>
13//!   <a href="https://crates.io/crates/rapiddb" target="_blank">
14//!     <img src="https://img.shields.io/crates/v/rapiddb?logo=Rust&logoColor=white"/>
15//!   </a>
16//!   <a href="https://hub.docker.com/r/kruserr/rapiddb" target="_blank">
17//!     <img src="https://img.shields.io/docker/v/kruserr/rapiddb?sort=semver&logo=docker&logoColor=white"/>
18//!   </a>
19//!   <a href="https://codecov.io/gh/kruserr/rapiddb" target="_blank">
20//!     <img src="https://img.shields.io/codecov/c/gh/kruserr/rapiddb?logo=Codecov&logoColor=white"/>
21//!   </a>
22//! </p>
23//!
24//! # RapidDB
25//! A reasonably fast configurable embedded key-value sensor database
26//!
27//! ## Features
28//! - Lightweight embedded database
29//! - Simple key-value database interface
30//! - Simple and flexible optional embedded REST API
31//! - Memory first with on-disk persistence
32//! - Memory Mapped Append-only Vector backing storage
33//! - Bring your own database or API implementation
34//! - Store sensor data inside a sensor database
35//!
36//! ## Getting started
37//! Cargo.toml
38//! ```toml
39//! [dependencies]
40//! rapiddb = "0.1"
41//! ```
42//!
43//! src/main.rs
44//! ```rust
45//! use rapiddb::traits::IDatabase;
46//!
47//! pub fn main() {
48//!   let mut db = rapiddb::db::MMAVDatabase::new();
49//!
50//!   let value = b"{\"key\": \"value\"}";
51//!   db.post("test-0", value);
52//!   assert_eq!(db.get_latest("test-0"), value);
53//! }
54//! ```
55//!
56//! Run the database with cargo
57//! ```sh
58//! cargo run --release
59//! ```
60//!
61//! ## Optional REST API
62//! Visit [further install options](https://github.com/kruserr/rapiddb/blob/main/docs/install.md#add-to-your-cargo-project).
63//!
64//! ## Documentation
65//! Visit the [Documentation](https://docs.rs/rapiddb).
66//!
67//! ## Examples
68//! Visit the [Examples](https://github.com/kruserr/rapiddb/tree/main/examples).
69
70pub mod db;
71pub mod errors;
72pub mod traits;
73pub mod types;