Skip to content

Commit 76abd25

Browse files
committed
refactor: rename project from iscc-vdb to iscc-search
Major refactoring to rename the project and better reflect its purpose as a high-performance ISCC similarity search engine. Changes: - Rename package: iscc_vdb → iscc_search - Update project name: iscc-vdb → iscc-search - Update description: "Embedded Vector Database" → "High-performance ISCC similarity search engine" - Update repository URL: github.com/iscc/iscc-vdb → github.com/iscc/iscc-search - Update documentation URL: vdb.iscc.codes → search.iscc.codes - Update CLI command: iscc-vdb → iscc-search - Update all imports and references across codebase - Update all documentation and configuration files All 803 tests passing with 100% coverage.
1 parent 569c49e commit 76abd25

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+244
-242
lines changed

CLAUDE.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
**iscc-vdb** is an Embedded Vector Database for ISCC (International Standard Content Code). In active
8-
development (v0.0.1), it provides high-performance vector similarity search for variable-length binary ISCC
7+
**iscc-search** is a high-performance ISCC similarity search engine for ISCC (International Standard Content Code).
8+
In active development (v0.0.1), it provides high-performance vector similarity search for variable-length binary ISCC
99
vectors using the Normalized Prefix Hamming Distance (NPHD) metric. Built on top of usearch for fast approximate
1010
nearest neighbor search.
1111

@@ -38,7 +38,7 @@ uv run poe all # Format, test, and all checks
3838

3939
The project structure follows standard Python packaging conventions:
4040

41-
- `iscc_vdb/` - Main package directory
41+
- `iscc_search/` - Main package directory
4242
- `nphd.py` - NphdIndex class for ANNS with variable-length binary vectors
4343
- `metrics.py` - Custom NPHD metric implementation using Numba
4444
- `tests/` - Test files using pytest
@@ -51,13 +51,13 @@ The project structure follows standard Python packaging conventions:
5151

5252
### Core Components
5353

54-
**NphdIndex** (`iscc_vdb/nphd.py`): Main index class that wraps usearch Index with:
54+
**NphdIndex** (`iscc_search/nphd.py`): Main index class that wraps usearch Index with:
5555

5656
- Automatic vector padding/unpadding for variable-length ISCC vectors
5757
- NPHD metric configuration (binary vectors with length signal byte)
5858
- Supports 64-256 bit vectors (configurable via `max_dim` parameter)
5959

60-
**Custom NPHD Metric** (`iscc_vdb/metrics.py`):
60+
**Custom NPHD Metric** (`iscc_search/metrics.py`):
6161

6262
- Compiled Numba function for fast NPHD calculation
6363
- Handles variable-length vectors via length signal in first byte

CONTRIBUTING.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contributing to `iscc-vdb`
1+
# Contributing to `iscc-search`
22

33
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be
44
given.
@@ -9,7 +9,7 @@ You can contribute in many ways:
99

1010
## Report Bugs
1111

12-
Report bugs at https://github.com/iscc/iscc-vdb/issues
12+
Report bugs at https://github.com/iscc/iscc-search/issues
1313

1414
If you are reporting a bug, please include:
1515

@@ -29,12 +29,12 @@ whoever wants to implement it.
2929

3030
## Write Documentation
3131

32-
iscc-vdb could always use more documentation, whether as part of the official docs, in docstrings, or even on
32+
iscc-search could always use more documentation, whether as part of the official docs, in docstrings, or even on
3333
the web in blog posts, articles, and such.
3434

3535
## Submit Feedback
3636

37-
The best way to send feedback is to file an issue at https://github.com/iscc/iscc-vdb/issues.
37+
The best way to send feedback is to file an issue at https://github.com/iscc/iscc-search/issues.
3838

3939
If you are proposing a new feature:
4040

@@ -44,22 +44,22 @@ If you are proposing a new feature:
4444

4545
# Get Started!
4646

47-
Ready to contribute? Here's how to set up `iscc-vdb` for local development. Please note this documentation
47+
Ready to contribute? Here's how to set up `iscc-search` for local development. Please note this documentation
4848
assumes you already have `uv` and `Git` installed and ready to go.
4949

50-
1. Fork the `iscc-vdb` repo on GitHub.
50+
1. Fork the `iscc-search` repo on GitHub.
5151

5252
2. Clone your fork locally:
5353

5454
```bash
5555
cd <directory_in_which_repo_should_be_created>
56-
git clone git@github.com:YOUR_NAME/iscc-vdb.git
56+
git clone git@github.com:YOUR_NAME/iscc-search.git
5757
```
5858

5959
1. Now we need to install the environment. Navigate into the directory
6060

6161
```bash
62-
cd iscc-vdb
62+
cd iscc-search
6363
```
6464

6565
Then, install and activate the environment with:

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ COPY . /app
1818
# Sync the project
1919
RUN uv sync --frozen
2020

21-
CMD [ "python", "iscc_vdb/foo.py" ]
21+
CMD [ "python", "iscc_search/foo.py" ]

README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
# iscc-vdb
1+
# iscc-search
22

3-
[![Release](https://img.shields.io/github/v/release/iscc/iscc-vdb)](https://img.shields.io/github/v/release/iscc/iscc-vdb)
4-
[![Build status](https://img.shields.io/github/actions/workflow/status/iscc/iscc-vdb/main.yml?branch=main)](https://github.com/iscc/iscc-vdb/actions/workflows/main.yml?query=branch%3Amain)
5-
[![codecov](https://codecov.io/gh/iscc/iscc-vdb/branch/main/graph/badge.svg)](https://codecov.io/gh/iscc/iscc-vdb)
6-
[![Commit activity](https://img.shields.io/github/commit-activity/m/iscc/iscc-vdb)](https://img.shields.io/github/commit-activity/m/iscc/iscc-vdb)
7-
[![License](https://img.shields.io/github/license/iscc/iscc-vdb)](https://img.shields.io/github/license/iscc/iscc-vdb)
3+
[![Release](https://img.shields.io/github/v/release/iscc/iscc-search)](https://img.shields.io/github/v/release/iscc/iscc-search)
4+
[![Build status](https://img.shields.io/github/actions/workflow/status/iscc/iscc-search/main.yml?branch=main)](https://github.com/iscc/iscc-search/actions/workflows/main.yml?query=branch%3Amain)
5+
[![codecov](https://codecov.io/gh/iscc/iscc-search/branch/main/graph/badge.svg)](https://codecov.io/gh/iscc/iscc-search)
6+
[![Commit activity](https://img.shields.io/github/commit-activity/m/iscc/iscc-search)](https://img.shields.io/github/commit-activity/m/iscc/iscc-search)
7+
[![License](https://img.shields.io/github/license/iscc/iscc-search)](https://img.shields.io/github/license/iscc/iscc-search)
88

99
> [!WARNING]
1010
> **This project is in early development and not ready for production use.**
1111
>
1212
> The API and features are subject to significant changes. Use at your own risk.
1313
14-
High-performance embedded vector database for variable-length binary [ISCC](https://iscc.codes) codes with fast
14+
High-performance ISCC similarity search engine for variable-length binary [ISCC](https://iscc.codes) codes with fast
1515
approximate nearest neighbor search.
1616

17-
- **Github repository**: <https://github.com/iscc/iscc-vdb/>
18-
- **Documentation** <https://vdb.iscc.codes/>
17+
- **Github repository**: <https://github.com/iscc/iscc-search/>
18+
- **Documentation** <https://search.iscc.codes/>
1919

2020
## Features
2121

@@ -36,21 +36,21 @@ querying ISCC codes at scale.
3636
## Installation
3737

3838
```bash
39-
pip install iscc-vdb
39+
pip install iscc-search
4040
```
4141

4242
For development installation:
4343

4444
```bash
45-
git clone https://github.com/iscc/iscc-vdb.git
46-
cd iscc-vdb
45+
git clone https://github.com/iscc/iscc-search.git
46+
cd iscc-search
4747
uv sync
4848
```
4949

5050
## Quick Start
5151

5252
```python
53-
from iscc_vdb import NphdIndex
53+
from iscc_search import NphdIndex
5454
import numpy as np
5555

5656
# Create index for up to 256-bit vectors
@@ -168,6 +168,8 @@ Contributions are welcome! Please ensure:
168168
- Coverage remains at 100%
169169
- Changes are documented
170170

171+
See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
172+
171173
______________________________________________________________________
172174

173175
Repository initiated with [fpgmaas/cookiecutter-uv](https://github.com/fpgmaas/cookiecutter-uv).

docs/architecture.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ CLI and REST API frontends to work seamlessly with different storage implementat
2323
│ │ CLI Package │ │ Server Package │ │
2424
│ │ (cli/) │ │ (server/) │ │
2525
│ │ │ │ │ │
26-
│ │ - iscc-vdb index │ │ - FastAPI app │ │
27-
│ │ - iscc-vdb add │ │ - Route handlers │ │
28-
│ │ - iscc-vdb search │ │ - Error handling │ │
29-
│ │ - iscc-vdb delete │ │ - Sync endpoints │ │
26+
│ │ - iscc-search index │ │ - FastAPI app │ │
27+
│ │ - iscc-search add │ │ - Route handlers │ │
28+
│ │ - iscc-search search │ │ - Error handling │ │
29+
│ │ - iscc-search delete │ │ - Sync endpoints │ │
3030
│ └──────────┬──────────┘ └──────────┬───────────┘ │
3131
│ │ │ │
3232
│ └────────────────┬───────────────────┘ │
@@ -142,7 +142,7 @@ indexes/
142142
## Module Structure
143143

144144
```
145-
iscc_vdb/
145+
iscc_search/
146146
├── __init__.py
147147
148148
├── protocol.py # IsccIndexProtocol definition
@@ -322,14 +322,14 @@ All methods are synchronous. Backends may use threading/connection pools interna
322322
export ISCC_VDB_INDEXES_URI=/path/to/index_data
323323

324324
# CLI commands
325-
iscc-vdb create myindex
326-
iscc-vdb add myindex /data/
327-
iscc-vdb search myindex "ISCC:..."
328-
iscc-vdb list
329-
iscc-vdb delete myindex
325+
iscc-search create myindex
326+
iscc-search add myindex /data/
327+
iscc-search search myindex "ISCC:..."
328+
iscc-search list
329+
iscc-search delete myindex
330330

331331
# Start API server with LMDB backend
332-
uvicorn iscc_vdb.server.app:app --host 0.0.0.0 --port 8000
332+
uvicorn iscc_search.server.app:app --host 0.0.0.0 --port 8000
333333
```
334334

335335
### Memory Index (Testing)
@@ -339,12 +339,12 @@ uvicorn iscc_vdb.server.app:app --host 0.0.0.0 --port 8000
339339
export ISCC_VDB_INDEXES_URI=memory://
340340

341341
# CLI works with in-memory storage (no persistence)
342-
iscc-vdb create myindex
343-
iscc-vdb add myindex /data/
344-
iscc-vdb search myindex "ISCC:..."
342+
iscc-search create myindex
343+
iscc-search add myindex /data/
344+
iscc-search search myindex "ISCC:..."
345345

346346
# Start API server with in-memory index (for testing)
347-
uvicorn iscc_vdb.server.app:app --host 0.0.0.0 --port 8000
347+
uvicorn iscc_search.server.app:app --host 0.0.0.0 --port 8000
348348
```
349349

350350
### Postgres Index (Future)
@@ -354,8 +354,8 @@ uvicorn iscc_vdb.server.app:app --host 0.0.0.0 --port 8000
354354
export ISCC_VDB_INDEXES_URI=postgresql://user:password@localhost/isccdb
355355

356356
# CLI and server work the same way across all backends
357-
iscc-vdb create myindex
358-
uvicorn iscc_vdb.server.app:app --host 0.0.0.0 --port 8000
357+
iscc-search create myindex
358+
uvicorn iscc_search.server.app:app --host 0.0.0.0 --port 8000
359359
```
360360

361361
## Key Benefits

docs/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# iscc-vdb
1+
# iscc-search
22

3-
[![Release](https://img.shields.io/github/v/release/iscc/iscc-vdb)](https://img.shields.io/github/v/release/iscc/iscc-vdb)
4-
[![Build status](https://img.shields.io/github/actions/workflow/status/iscc/iscc-vdb/main.yml?branch=main)](https://github.com/iscc/iscc-vdb/actions/workflows/main.yml?query=branch%3Amain)
5-
[![Commit activity](https://img.shields.io/github/commit-activity/m/iscc/iscc-vdb)](https://img.shields.io/github/commit-activity/m/iscc/iscc-vdb)
6-
[![License](https://img.shields.io/github/license/iscc/iscc-vdb)](https://img.shields.io/github/license/iscc/iscc-vdb)
3+
[![Release](https://img.shields.io/github/v/release/iscc/iscc-search)](https://img.shields.io/github/v/release/iscc/iscc-search)
4+
[![Build status](https://img.shields.io/github/actions/workflow/status/iscc/iscc-search/main.yml?branch=main)](https://github.com/iscc/iscc-search/actions/workflows/main.yml?query=branch%3Amain)
5+
[![Commit activity](https://img.shields.io/github/commit-activity/m/iscc/iscc-search)](https://img.shields.io/github/commit-activity/m/iscc/iscc-search)
6+
[![License](https://img.shields.io/github/license/iscc/iscc-search)](https://img.shields.io/github/license/iscc/iscc-search)
77

88
Embedded Vector Database for ISCC

docs/modules.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
::: iscc_vdb.metrics
1+
::: iscc_search.metrics
22

3-
::: iscc_vdb.nphd
3+
::: iscc_search.nphd

docs/spec.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Index Entry:
9797

9898
### IsccStore Class
9999

100-
**Module:** `iscc_vdb/store.py`
100+
**Module:** `iscc_search/store.py`
101101

102102
The `IsccStore` class provides durable LMDB-backed storage for ISCC entries and metadata. It serves as the
103103
primary source of truth, with UnitIndex and InstanceIndex acting as derived indexes for search.
@@ -647,31 +647,31 @@ All Python API methods exposed as CLI commands:
647647

648648
```bash
649649
# Add single entry with auto-generated ISCC-ID
650-
iscc-vdb add --iscc-code "ISCC:KAC..."
650+
iscc-search add --iscc-code "ISCC:KAC..."
651651

652652
# Add entry with explicit ISCC-ID
653-
iscc-vdb add --iscc-id "ISCC:IAA..." --iscc-code "ISCC:KAC..."
653+
iscc-search add --iscc-id "ISCC:IAA..." --iscc-code "ISCC:KAC..."
654654

655655
# Add entry with pre-decomposed units
656-
iscc-vdb add --units "ISCC:GAA..." "ISCC:EAA..." "ISCC:IAA..."
656+
iscc-search add --units "ISCC:GAA..." "ISCC:EAA..." "ISCC:IAA..."
657657

658658
# Add from JSON file (batch)
659-
iscc-vdb add --file entries.json
659+
iscc-search add --file entries.json
660660

661661
# Get entry
662-
iscc-vdb get "ISCC:IAACBFKZG52UU"
662+
iscc-search get "ISCC:IAACBFKZG52UU"
663663

664664
# Search
665-
iscc-vdb search --iscc-code "ISCC:KAC..." --count 10
666-
iscc-vdb search --units "ISCC:GAA..." "ISCC:EAA..." --count 5 --exact
665+
iscc-search search --iscc-code "ISCC:KAC..." --count 10
666+
iscc-search search --units "ISCC:GAA..." "ISCC:EAA..." --count 5 --exact
667667

668668
# Remove
669-
iscc-vdb remove "ISCC:IAACBFKZG52UU"
669+
iscc-search remove "ISCC:IAACBFKZG52UU"
670670

671671
# Index management
672-
iscc-vdb save
673-
iscc-vdb rebuild # Rebuild indexes from primary storage
674-
iscc-vdb info # Show index stats (size, unit_types, etc.)
672+
iscc-search save
673+
iscc-search rebuild # Rebuild indexes from primary storage
674+
iscc-search info # Show index stats (size, unit_types, etc.)
675675
```
676676

677677
## REST API Interface

iscc_search/__init__.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"""High-performance ISCC similarity search engine."""
2+
3+
from platformdirs import PlatformDirs
4+
from importlib import metadata
5+
6+
__package_name__ = "iscc-search"
7+
__author__ = "iscc"
8+
__version__ = metadata.version(__package_name__)
9+
dirs = PlatformDirs(appname=__package_name__, appauthor=__author__)
10+
11+
from iscc_search.settings import VdbSettings, vdb_settings # noqa: E402
12+
from iscc_search.nphd import NphdIndex # noqa: E402
13+
from iscc_search.unit import UnitIndex # noqa: E402
14+
from iscc_search.instance import InstanceIndex # noqa: E402
15+
16+
__all__ = ["NphdIndex", "UnitIndex", "InstanceIndex", "VdbSettings", "vdb_settings"]

0 commit comments

Comments
 (0)