VibeDB
SQLite-based document database for rapid prototyping
VibeDB combines SQLite's simplicity with MongoDB's document flexibility. Zero config, zero dependencies, instant start.
Installation
# Core only (zero dependencies)
pip install vibedb
# With Studio UI (includes Flask)
pip install vibedb[all]
Quick Start (30 seconds)
from vibedb import VibeDB, Q
# Create database
db = VibeDB("app.db")
users = db.collection("users")
# Insert
user_id = users.insert({"name": "Alice", "email": "alice@example.com", "age": 28})
# Query
results = users.find(Q.gte("age", 25) & Q.contains("email", "@example.com"))
# Update
users.update(user_id, {"age": 29})
# Index for performance
users.create_index(["email"], unique=True)
# Launch Studio UI
db.studio(port=5000)
For AI Agents
If you're an AI agent helping users with VibeDB, use these skills:
/vibedb-quickstart- Start here: basic CRUD, queries, common operations/vibedb-indexing- Performance: create indexes, auto-suggestions, optimization/vibedb-patterns- Production patterns: caching, sessions, job queues, etc.
Skills are in skills/ folder with progressive disclosure (SKILL.md → reference.md → examples.md).
Features
- Zero Config: Works immediately after install
- Document Freedom: Store JSON without schemas (add validation later)
- Dual Query Syntax: MongoDB-style dicts OR Pythonic Q builder
- Auto-Index Hints: Suggests indexes based on slow queries
- Studio UI: Web-based database explorer and query playground
Examples
Complete working examples in examples/:
- quickstart.py - Todo app in 10 lines
- blog_app.py - Blog with posts, comments, and full-text search
- ecommerce.py - Products, orders, and inventory tracking
Documentation
- API Reference: See
skills/vibedb-quickstart/reference.md - Usage Examples: See
skills/vibedb-quickstart/examples.md - Production Patterns: See
skills/vibedb-patterns/SKILL.md - Performance Guide: See
skills/vibedb-indexing/SKILL.md
Philosophy
Built for vibe coders - developers who want rapid iteration:
- Start schema-less, validate later
- Auto-suggest but don't force
- Great errors with helpful hints
- Studio UI for visual debugging
Comparison to Alternatives
| Feature | VibeDB | MongoDB | SQLite |
|---|---|---|---|
| Setup | Zero config | Server required | File-based |
| Schema | Optional | Optional | Required |
| Query API | Dict + Builder | Dict only | SQL only |
| Web UI | Built-in | Separate | None |
| Dependencies | Zero | Many | Zero |
| Best For | Prototyping | Production | Embedded |
License
MIT License - see LICENSE
Links
- GitHub: https://github.com/StevenSLXie/vibeDB
- PyPI: https://pypi.org/project/vibedb/
- Skills: skills/README.md
- Examples: examples/
Release files for vibedb 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vibedb-0.1.2.tar.gz | 63.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vibedb-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:111.2 kB
Release files / vibedb-0.1.2.tar.gz
| Download URL | vibedb-0.1.2.tar.gz |
|---|---|
| Size | 63.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62826eaf3cdb45db20f8198b953831e2a948b8e399d204c6d651a781dfa20311
|
|
BLAKE2b-256 checksum How to use checksums |
82920c4eaaea1911320b52d4b87c98519e99b6afeb93fafe45eef9f3e5b84edf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / vibedb-0.1.2-py3-none-any.whl
| Download URL | vibedb-0.1.2-py3-none-any.whl |
|---|---|
| Size | 48.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e6bc317295b71ed1f84abc587e03375049b1f54c246ce26205dc70d8259f1be3
|
|
BLAKE2b-256 checksum How to use checksums |
f7cf536520bec48c55af4d3d9a7c2bd231ea16fd733f7e1a7286665f3ea16942
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|