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;