Skip to main content

EzDB B-Class - Free & open source vector database for semantic search

Project description

EzDB B-Class (Basic) - Free & Open Source Vector Database

Version License Python Status

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezdb_utpal_raina-1.0.0.tar.gz (131.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezdb_utpal_raina-1.0.0-py3-none-any.whl (137.8 kB view details)

Uploaded Python 3

File details

Details for the file ezdb_utpal_raina-1.0.0.tar.gz.

File metadata

  • Download URL: ezdb_utpal_raina-1.0.0.tar.gz
  • Upload date:
  • Size: 131.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for ezdb_utpal_raina-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cdcf4ec8928dceccb95a5897014bad172d35675fd543013f3cf949678180f005
MD5 909a201a191a6671d44ebe22bf280a12
BLAKE2b-256 7452a629033bd1b717c9aa1dee9c385b26a175d6239f5522958f265441f5c7e9

See more details on using hashes here.

File details

Details for the file ezdb_utpal_raina-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ezdb_utpal_raina-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd8cda8b2c7c258a58f333c5450ac3b7f4077d72c9c496947923a374b3fb5998
MD5 e0762cf536305f4b2136fdea465ba4cb
BLAKE2b-256 c905f88cb329f071084f111963c8867baf4e1cc745963f92b54b5fe464a38790

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page