Marketplace sqlite-ops
Patterns for SQLite databases in Python projects - state management, caching, and async operations. Triggers on: sqlite, sqlite3, aiosqlite, local database, database schema, migration, wal mode.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/0xdarkmatter/sqlite-ops" ~/.claude/skills/aiskillstore-marketplace-sqlite-ops && rm -rf "$T"
manifest:
skills/0xdarkmatter/sqlite-ops/SKILL.mdsource content
SQLite Operations
Patterns for SQLite databases in Python projects.
Quick Connection
import sqlite3 def get_connection(db_path: str) -> sqlite3.Connection: conn = sqlite3.connect(db_path, check_same_thread=False) conn.row_factory = sqlite3.Row # Dict-like access conn.execute("PRAGMA journal_mode=WAL") # Better concurrency conn.execute("PRAGMA foreign_keys=ON") return conn
Context Manager Pattern
from contextlib import contextmanager @contextmanager def db_transaction(conn: sqlite3.Connection): try: yield conn conn.commit() except Exception: conn.rollback() raise
WAL Mode
Enable for concurrent read/write:
conn.execute("PRAGMA journal_mode=WAL")
| Mode | Reads | Writes | Best For |
|---|---|---|---|
| DELETE (default) | Blocked during write | Single | Simple scripts |
| WAL | Concurrent | Single | Web apps, MCP servers |
Common Gotchas
| Issue | Solution |
|---|---|
| "database is locked" | Use WAL mode |
| Slow queries | Add indexes, check EXPLAIN QUERY PLAN |
| Thread safety | Use |
| FK not enforced | Run |
CLI Quick Reference
sqlite3 mydb.sqlite # Open database .tables # Show tables .schema items # Show schema .headers on && .mode csv && .output data.csv # Export CSV VACUUM; # Reclaim space
When to Use
- Local state/config storage
- Caching layer
- Event logging
- MCP server persistence
- Small to medium datasets
Additional Resources
For detailed patterns, load:
- State, cache, event, queue table designs./references/schema-patterns.md
- aiosqlite CRUD, batching, connection pools./references/async-patterns.md
- Version migrations, JSON handling./references/migration-patterns.md