EzDB B-Class (Basic) - Free & Open Source Vector Database
EzDB is a lightweight, easy-to-use vector database built in Python for semantic search and AI applications.
📦 This is EzDB B-Class (Basic) - The free, open-source version. For production features, see EzDB Professional and EzDB Enterprise.
⚡ Quick Links
- 📖 Getting Started Guide - Learn the basics
- 🚀 API Documentation - Complete API reference
- 🐳 Docker Quick Start - Deploy in 60 seconds
- 📦 Docker Guide - Complete Docker documentation
- 🏗️ Product Tiers - B-Class, Professional, Enterprise
- 🚀 Deployment Guide - Production deployment
Features
- Vector Storage: Store and search high-dimensional vectors efficiently
- Multiple Metrics: Cosine similarity, Euclidean distance, Dot product
- Fast Indexing: HNSW (Hierarchical Navigable Small World) for ANN search
- Metadata Filtering: Search with metadata constraints
- Persistence: Save/load databases to disk
- Dual Mode: Use as embedded library OR REST API server
- REST API: Full HTTP API with Python/JavaScript/Go clients
- Collections: Manage multiple isolated vector collections
- Docker Ready: Easy deployment with Docker and docker-compose
Installation
pip install -r requirements.txt
Quick Start
Embedded Mode (Python Library)
from ezdb import EzDB
# Create a new database
db = EzDB(dimension=384)
# Insert vectors with metadata
db.insert(
vector=[0.1, 0.2, 0.3, ...],
metadata={"text": "Hello world", "category": "greeting"}
)
# Search for similar vectors
results = db.search(query_vector=[0.1, 0.2, 0.3, ...], top_k=5)
# Save and load
db.save("my_database.ezdb")
db = EzDB.load("my_database.ezdb")
REST API Server (Network Access)
Start Server:
pip install -r requirements-server.txt
python -m uvicorn ezdb.server.app:app --host 0.0.0.0 --port 8000
Use Client:
from ezdb.client import EzDBClient
client = EzDBClient("http://localhost:8000")
client.insert(vector=[0.1, 0.2, 0.3, ...], metadata={"text": "Hello"})
results = client.search(vector=[0.1, 0.2, 0.3, ...], top_k=5)
Interactive API Docs: http://localhost:8000/docs
See API.md for complete API documentation.
Architecture
- Storage Engine: Efficient in-memory vector storage with metadata
- Indexing: HNSW (Hierarchical Navigable Small World) for fast ANN search
- Similarity: Cosine, Euclidean, and Dot Product metrics
- Persistence: JSON-based serialization for easy inspection
Use Cases
- Semantic search
- Recommendation systems
- RAG (Retrieval Augmented Generation)
- Document similarity
- Image search
- Anomaly detection
Metadata
Release files for glorry 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| glorry-1.0.0.tar.gz | 131.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| glorry-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 269.1 kB
Release files / glorry-1.0.0.tar.gz
| Download URL | glorry-1.0.0.tar.gz |
|---|---|
| Size | 131.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2c69e9671a438d738df98b99a933a21bb02a95b1730b67e5e3d631f0fd29e629
|
|
BLAKE2b-256 checksum How to use checksums |
94f8c3f14e85559150faedb778998a0d1302ebd5418112c31c41fd49c5721f0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.19
|
Release files / glorry-1.0.0-py3-none-any.whl
| Download URL | glorry-1.0.0-py3-none-any.whl |
|---|---|
| Size | 137.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ab843b7bd58c5364bf1a6b244a882d37fdc9312dd7f6535f80dcf2c64bff7d1
|
|
BLAKE2b-256 checksum How to use checksums |
e18423a8e0016ece775044bf03ef76a690c0af367bd91d0024fc5a67fedb4829
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.19
|