Getting started
What is Feather DB?
Feather DB is an embedded, open-source living context engine — think SQLite for AI memory. Adaptive, semantic, graph-native, sub-millisecond. Ships as a single .feather file.
Key features
Single-file storage
One .feather file. Zero infra.
HNSW + SIMD
AVX2/AVX512. <1ms at 100K vectors.
Adaptive memory
Stickiness × decay × importance.
Context graph
Typed, weighted, BFS traversal.
Metadata filters
Namespace + attribute + entity.
Runs anywhere
Edge, mobile, server, WASM.
Quick install
Install the Python package
The fastest path. Ships wheels for macOS, Linux, and Windows. Requires Python 3.8+.
pip install feather-db
# Requires Python 3.8+ and NumPy 1.22+Your first database
Create, add, save
Three steps: open a file, add some vectors, save. The whole lifecycle.
my_first_db.py
from feather_db import DB
import numpy as np
# 1. Create a 128-dim database
db = DB.open("my_vectors.feather", dim=128)
# 2. Add 100 random vectors
for i in range(100):
vec = np.random.rand(128).astype(np.float32)
db.add(id=i, vec=vec)
# 3. Persist to disk
db.save()
print("Database created with 100 vectors!")Searching
Find similar vectors
A search takes a query vector and returns the nearest k IDs with their distances.
# Reopen the database
db = DB.open("my_vectors.feather", dim=128)
# Build a query vector
query = np.random.rand(128).astype(np.float32)
# Top-5 nearest neighbours
results = db.search(query, k=5)
for vec_id, distance in results:
print(f"ID {vec_id} · distance {distance:.4f}")