MonaDB — an embedded, dict-like SQL engine with a Python API.
Project description
MonaDB
An embedded document database with a small SQL dialect. Use it from Python, Rust, or the interactive monadb shell.
Install
Python (PyPI)
pip install monadb
import monadb
con = monadb.connect() # in-memory
con = monadb.connect("app.db") # file-backed
con.execute("create table todos (id int);")
CLI shell (monadb)
Homebrew
brew tap rchowell/tap
brew install monadb
monadb
cargo
cargo install monadb --features cli
monadb
GitHub Releases — download a prebuilt monadb binary for your platform from
Releases.
Rust (crates.io)
cargo add monadb
use monadb::MonaDB;
let mut db = MonaDB::open("app.db")?;
db.execute("create table t (id int);")?;
monadb REPL
monadb # in-memory database
monadb ./data.db # open or create a file
Dot-commands inside the shell:
| Command | Action |
|---|---|
.info |
List catalog tables |
.debug |
Toggle bytecode trace |
.exit |
Quit |
SQL statements end with ;. The prompt supports syntax highlighting and multiline input.
Requirements
- Python: 3.9+
- Rust (from source): 1.85+ (edition 2024)
- CLI: terminal with readline support
Documentation
License
Apache-2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file monadb-0.1.0-cp39-abi3-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: monadb-0.1.0-cp39-abi3-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 850.6 kB
- Tags: CPython 3.9+, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a41d5f014f9f7ca454f45a6c4fc97c767ab01c6944e3c8907732737191e44d36
|
|
| MD5 |
57455e1e0876eb7e9a8df06186e2a9b1
|
|
| BLAKE2b-256 |
199bcd95f88374e1242de463d37eee3ae778b95f2de4d524bfc66ebcb27d0db1
|
File details
Details for the file monadb-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: monadb-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 835.1 kB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfb96b999a6f0eb228650b6362681fb524915b31a6e5a11fdf0455d4a3dbf002
|
|
| MD5 |
2211e76fd580d6909b9afbd97d191246
|
|
| BLAKE2b-256 |
4382f15612501f2813578e4a82169501920ec086cc14a266677bb5986cb25585
|
File details
Details for the file monadb-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: monadb-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 761.5 kB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ef92e1b402b742d75c7af572d7fbf4f965ff48ae37637f468c5948b692d628d
|
|
| MD5 |
c572a05c64486570481a1c7b3aeaed58
|
|
| BLAKE2b-256 |
a53b31db03a46861b1f20b75b24daa44db9f21cddae0f767497cc5c1b98b86b3
|
File details
Details for the file monadb-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: monadb-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 784.3 kB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eea12df9b0414fa0088f9c768f6461f69439bf1c2baecea125eb58a0726dcdb4
|
|
| MD5 |
05805d6819b8d512ae963c4d12eea25c
|
|
| BLAKE2b-256 |
23e20880b09381781dd4f88e914bd73b2425e28fd9c286f054008891d02c1012
|