jasonisnthappy - An embedded document database for developers
Start building in minutes with our SDKs
$ cargo add jasonisnthappy
use jasonisnthappy::core::database::Database; use serde_json::json; let db = Database::open("mydb.db")?; let mut tx = db.begin()?; // Get collection and insert document let mut users = tx.collection("users")?; let user = json!({ "name": "Alice", "age": 30 }); let id = users.insert(user)?; tx.commit()?; db.close()?;
$ pip install jasonisnthappy
from jasonisnthappy import Database with Database.open("./mydb.db") as db: with db.begin_transaction() as tx: users = tx.collection("users") doc_id = users.insert({ "name": "Alice", "age": 30 }) user = users.find_by_id(doc_id) # Transaction auto-commits on success
$ go get github.com/sohzm/jasonisnthappy/bindings/go
import db "github.com/sohzm/jasonisnthappy/bindings/go" database, err := db.Open("./mydb.db") defer database.Close() tx, err := database.BeginTransaction() defer tx.Rollback() doc := map[string]interface{}{ "name": "Alice", "age": 30, } id, err := tx.Insert("users", doc) tx.Commit()
$ npm install @sohzm/jasonisnthappy
const { Database } = require('@sohzm/jasonisnthappy'); const db = Database.open('./mydb.db'); const tx = db.beginTransaction(); try { const users = tx.collection('users'); const id = users.insert({ name: 'Alice', age: 30 }); tx.commit(); } finally { db.close(); }
Features

All the Features You Need

Pure Rust

Pure Rust

Single embedded binary with safety guarantees. No unsafe code.

ACID Transactions

ACID Transactions

Full ACID guarantees with MVCC snapshot isolation.

Write-Ahead Logging

Write-Ahead Logging

Checksummed WAL with automatic checkpointing.

Aggregation Pipeline

Aggregation Pipeline

Pipeline queries with match, group, and accumulators.

Subscribe to Updates

Subscribe to Updates

Real-time change notifications with callback support.

Web UI & Metrics

Web UI & Metrics

Built-in REST API with real-time metrics dashboard.

Backup & Recovery

Backup & Recovery

Point-in-time snapshots with file locking.

Schema Validation

Schema Validation

JSON schemas enforce data integrity and structure.

Configurable

Configurable

Tunable cache, checkpoints, and permissions.

Text Search

Text Search

Full-text search with dedicated text indexes.

Concurrent Reads

Concurrent Reads

Lock-free concurrent reads via MVCC.

Query Builder

Query Builder

Advanced filters with sort, limit, and projection.

CLI Available

CLI Available

Command-line interface alongside multi-language SDK support.

MIT Licensed

MIT Licensed

Permissive open source license for unrestricted use.

Multiplatform

Cross-Platform

Native support for macOS, Linux, and Windows. BSD coming soon.

Benchmarks

Seriously Fast Performance

Peak Throughput
19k
docs/sec
bulk insert @ 1000 docs/tx
Write Latency by Thread Count
1 thread
8.45ms
4 threads
2.28ms
16 threads
1.48ms
Read Latency by Thread Count
1 thread
0.026ms
4 threads
0.017ms
16 threads
0.009ms
Bulk Insert Throughput
1 doc/tx
123/s
100 docs/tx
5.5k/s
1000 docs/tx
19.1k/s
0.009ms
Read Latency
16 threads, MVCC
1.48ms
Write Latency
16 threads, 100 docs/tx
~0.02ms
Query Latency
consistent across sizes
7.9ms
Update Latency
full ACID guarantees
View complete benchmark suite →
Community

What Developers Are Saying

Deeptanshu
Deeptanshu @deeptanshu_lal
I am going to kiss you now
Jakub
Jakub @jakubjeh
why not just use mongo?
ahmadaccino
ahmadaccino @ahmadaccino
the aesthetic is so cozy wtf
ден
ден @denis_hstmt
I am so ready for this
kabeer ahmed
kabeer ahmed @KKabeer2004
found my new goto db solution for all future side projects
Data
Data @DataDeLaurier
This is what I need
We all need this
vineet
vineet @x0_vineet
We are so backkkk
Autark
Autark @Aut4rk
I didn't know I was racist against "MongoDB people" until now. Thanks.
Aisosa
Aisosa @a1s0sa
new soham software woohooo
Comparison

Why Choose jasonisnthappy?

vs MongoDB
  • No server or daemon required
  • Zero network latency
  • Works completely offline
  • Single file, no config
  • Embed directly in your app
vs SQLite
  • Native JSON, no migrations
  • MongoDB-style query API
  • MVCC lock-free reads
  • Built-in aggregation pipeline
  • Web UI & metrics dashboard
vs Other Embedded DBs
  • Full ACID with WAL
  • 4 SDKs: Rust, Python, Go, JS
  • Real-time change streams
  • Full-text search built-in
  • Schema validation support
SDKs

Supported Languages

Rust SDK
Python SDK
Go SDK
JavaScript SDK

Ready to Build?

Start using jasonisnthappy in your projects today. Lightweight, fast, and production-ready.