Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

monadb-0.1.0-cp39-abi3-manylinux_2_38_x86_64.whl (850.6 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.38+ x86-64

monadb-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (835.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

monadb-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (761.5 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

monadb-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl (784.3 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file monadb-0.1.0-cp39-abi3-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for monadb-0.1.0-cp39-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 a41d5f014f9f7ca454f45a6c4fc97c767ab01c6944e3c8907732737191e44d36
MD5 57455e1e0876eb7e9a8df06186e2a9b1
BLAKE2b-256 199bcd95f88374e1242de463d37eee3ae778b95f2de4d524bfc66ebcb27d0db1

See more details on using hashes here.

File details

Details for the file monadb-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for monadb-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bfb96b999a6f0eb228650b6362681fb524915b31a6e5a11fdf0455d4a3dbf002
MD5 2211e76fd580d6909b9afbd97d191246
BLAKE2b-256 4382f15612501f2813578e4a82169501920ec086cc14a266677bb5986cb25585

See more details on using hashes here.

File details

Details for the file monadb-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for monadb-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ef92e1b402b742d75c7af572d7fbf4f965ff48ae37637f468c5948b692d628d
MD5 c572a05c64486570481a1c7b3aeaed58
BLAKE2b-256 a53b31db03a46861b1f20b75b24daa44db9f21cddae0f767497cc5c1b98b86b3

See more details on using hashes here.

File details

Details for the file monadb-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for monadb-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eea12df9b0414fa0088f9c768f6461f69439bf1c2baecea125eb58a0726dcdb4
MD5 05805d6819b8d512ae963c4d12eea25c
BLAKE2b-256 23e20880b09381781dd4f88e914bd73b2425e28fd9c286f054008891d02c1012

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page