d-vecdb-server


Named-vecdb-server JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryComplete d-vecDB server package with embedded binaries - zero configuration required
upload_time2025-09-03 04:22:33
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords vector database similarity search machine learning embeddings rust
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # d-vecDB Server Python Package

[![PyPI version](https://badge.fury.io/py/d-vecdb-server.svg)](https://badge.fury.io/py/d-vecdb-server)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A Python package that provides the d-vecDB server with embedded pre-built binaries. This package allows you to run the high-performance d-vecDB vector database server directly from Python with a single `pip install` command.

## Prerequisites

- **Python**: 3.8 or higher
- **Operating System**: Linux (x86_64), macOS (Intel/Apple Silicon), or Windows (x86_64)
- **Memory**: Minimum 512MB RAM available
- **Disk Space**: At least 100MB for binaries and data storage
- **Network**: Available ports for REST API (default: 8080) and gRPC (default: 9090)

## Installation Options

### Option 1: Standard Installation (Recommended)

```bash
# Install the server package
pip install d-vecdb-server

# Verify installation
d-vecdb-server version
```

> **Note**: The package includes embedded binaries and is ready to use immediately after installation.

### Option 2: Development Installation

```bash
# Clone the repository
git clone https://github.com/rdmurugan/d-vecDB.git
cd d-vecDB/d-vecdb-server-python

# Install in development mode
pip install -e .

# Verify installation
d-vecdb-server version
```

### Option 3: Virtual Environment Installation (Recommended for Development)

```bash
# Create virtual environment
python -m venv d-vecdb-env

# Activate virtual environment
# On Linux/macOS:
source d-vecdb-env/bin/activate
# On Windows:
d-vecdb-env\Scripts\activate

# Install package
pip install d-vecdb-server

# Verify installation
d-vecdb-server version
```

### Option 4: Install with Python Client

```bash
# Install server with Python client for complete functionality  
pip install 'd-vecdb-server[client]'

# Or install separately
pip install d-vecdb-server
pip install d-vecdb  # Python client library
```

## Quick Start

### Command Line Usage

```bash
# Show version (includes binary status)
d-vecdb-server version

# Start the server (foreground)
d-vecdb-server start

# Start in background
d-vecdb-server start --daemon

# Start with custom settings
d-vecdb-server start --host 0.0.0.0 --port 8081 --data-dir ./my-data

# Stop the server
d-vecdb-server stop

# Check server status
d-vecdb-server status
```

### Python API

```python
from d_vecdb_server import DVecDBServer

# Create and start server
server = DVecDBServer(
    host="127.0.0.1",
    port=8080,
    data_dir="./vector-data"
)

# Start the server
server.start()

print(f"Server running: {server.is_running()}")
print(f"REST API: http://{server.host}:{server.port}")
print(f"gRPC API: {server.host}:{server.grpc_port}")

# Stop the server
server.stop()
```

### Context Manager

```python
from d_vecdb_server import DVecDBServer

# Automatically start and stop server
with DVecDBServer(port=8080) as server:
    print(f"Server is running on port {server.port}")
    # Server will be automatically stopped when exiting the context
```

## Configuration

### Step-by-Step Server Configuration

#### Step 1: Choose Your Configuration Method

You can configure the server in three ways:
1. **Command line arguments** (quick setup)
2. **Python API parameters** (programmatic setup)
3. **Configuration file** (persistent setup)

#### Step 2: Basic Configuration

**Default Configuration:**
- **Host**: 127.0.0.1 (localhost only)
- **REST Port**: 8080
- **gRPC Port**: 9090  
- **Data Directory**: Temporary directory (auto-generated)
- **Log Level**: info

#### Step 3: Create Data Directory (Optional)

```bash
# Create persistent data directory
mkdir -p /path/to/your/vector-data
chmod 755 /path/to/your/vector-data
```

#### Step 4: Configuration Options

**Option A: Command Line Configuration**

```bash
# Basic configuration
d-vecdb-server start --host 0.0.0.0 --port 8081 --data-dir ./data

# Advanced configuration
d-vecdb-server start \
  --host 0.0.0.0 \
  --port 8081 \
  --grpc-port 9091 \
  --data-dir /path/to/data \
  --log-level debug \
  --daemon
```

**Option B: Python API Configuration**

```python
from d_vecdb_server import DVecDBServer

# Basic configuration
server = DVecDBServer(
    host="0.0.0.0",           # Listen on all interfaces
    port=8081,                # Custom REST port
    grpc_port=9091,           # Custom gRPC port
    data_dir="/path/to/data", # Persistent data directory
    log_level="debug"         # Verbose logging
)

server.start()
```

**Option C: Configuration File Setup**

1. Create a configuration file:

```bash
# Create config directory
mkdir -p ~/.config/d-vecdb

# Create configuration file
cat > ~/.config/d-vecdb/server.toml << EOF
[server]
host = "0.0.0.0"
port = 8080
grpc_port = 9090
workers = 8

[storage]
data_dir = "/path/to/your/data"
wal_sync_interval = "1s"
memory_map_size = "1GB"

[index]
hnsw_max_connections = 32
hnsw_ef_construction = 400
hnsw_max_layer = 16

[monitoring]
enable_metrics = true
prometheus_port = 9091
log_level = "info"
EOF
```

2. Use the configuration file:

```bash
# Start with configuration file
d-vecdb-server start --config ~/.config/d-vecdb/server.toml
```

#### Step 5: Verify Configuration

```bash
# Check server status
d-vecdb-server status

# Test REST API endpoint
curl http://localhost:8080/health

# Check metrics (if enabled)
curl http://localhost:9091/metrics
```

#### Step 6: Production Configuration Tips

```toml
# Production-ready configuration example
[server]
host = "0.0.0.0"          # Accept connections from any IP
port = 8080               # Standard HTTP port
grpc_port = 9090          # Standard gRPC port
workers = 16              # Match CPU cores

[storage]
data_dir = "/var/lib/d-vecdb"  # Persistent storage location
wal_sync_interval = "5s"       # Longer interval for better performance
memory_map_size = "8GB"        # More memory for larger datasets

[index]
hnsw_max_connections = 64      # Higher connections for better recall
hnsw_ef_construction = 800     # Higher construction for better quality
hnsw_max_layer = 16           # Default is usually fine

[monitoring]
enable_metrics = true
prometheus_port = 9091
log_level = "warn"            # Less verbose for production
```

## API Reference

### DVecDBServer Class

#### Constructor

```python
DVecDBServer(
    host: str = "127.0.0.1",
    port: int = 8080,
    grpc_port: int = 9090,
    data_dir: Optional[str] = None,
    log_level: str = "info",
    config_file: Optional[str] = None
)
```

#### Methods

- **`start(background: bool = True, timeout: int = 30) -> bool`**
  - Start the server process
  - Returns `True` if successful

- **`stop(timeout: int = 10) -> bool`**
  - Stop the server process
  - Returns `True` if successful

- **`restart(timeout: int = 30) -> bool`**
  - Restart the server
  - Returns `True` if successful

- **`is_running() -> bool`**
  - Check if server is running
  - Returns `True` if running

- **`get_status() -> Dict[str, Any]`**
  - Get detailed server status
  - Returns status dictionary

### Command Line Interface

```bash
d-vecdb-server [OPTIONS] COMMAND

Commands:
  start    Start the server
  stop     Stop the server  
  status   Check server status
  version  Show version information

Options:
  --host HOST           Server host (default: 127.0.0.1)
  --port PORT           REST API port (default: 8080)
  --grpc-port PORT      gRPC port (default: 9090)
  --data-dir DIR        Data directory
  --config FILE         Configuration file
  --log-level LEVEL     Log level (debug/info/warn/error)

Start Options:
  --daemon              Run in background
```

## Platform Support

- **Linux**: x86_64 (with musl for better compatibility)
- **macOS**: Intel (x86_64) and Apple Silicon (ARM64)
- **Windows**: x86_64

## Advanced Setup

### Environment Variables

You can also configure the server using environment variables:

```bash
# Set environment variables
export DVECDB_HOST="0.0.0.0"
export DVECDB_PORT="8080"
export DVECDB_GRPC_PORT="9090"
export DVECDB_DATA_DIR="/var/lib/d-vecdb"
export DVECDB_LOG_LEVEL="info"
export RUST_LOG="info"

# Start server (will use environment variables)
d-vecdb-server start
```

### Docker Setup (Alternative)

If you prefer Docker deployment:

```bash
# Pull the Docker image
docker pull rdmurugan/d-vecdb:latest

# Run with custom configuration
docker run -d \
  --name d-vecdb-server \
  -p 8080:8080 \
  -p 9090:9090 \
  -v /path/to/data:/data \
  rdmurugan/d-vecdb:latest
```

### Service Configuration (Linux)

Create a systemd service for automatic startup:

```bash
# Create service file
sudo cat > /etc/systemd/system/d-vecdb.service << EOF
[Unit]
Description=d-vecDB Vector Database Server
After=network.target

[Service]
Type=simple
User=d-vecdb
Group=d-vecdb
WorkingDirectory=/var/lib/d-vecdb
ExecStart=/usr/local/bin/d-vecdb-server start --config /etc/d-vecdb/server.toml
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# Enable and start service
sudo systemctl enable d-vecdb
sudo systemctl start d-vecdb
sudo systemctl status d-vecdb
```

## Troubleshooting

### Installation Issues

**Binary Not Found (should not happen with pip install):**
```bash
# Check if binary is available
d-vecdb-server version

# If you still get binary not found errors:
# 1. Reinstall the package
pip uninstall d-vecdb-server
pip install d-vecdb-server

# 2. For development installations:
pip install -e . --force-reinstall
```

**Permission Denied:**
```bash
# Install in user directory
pip install --user d-vecdb-server

# Or use virtual environment
python -m venv venv && source venv/bin/activate
pip install d-vecdb-server
```

### Runtime Issues

**Port Already in Use:**
```bash
# Check what's using the port
lsof -i :8080  # On Linux/macOS
netstat -ano | findstr :8080  # On Windows

# Use different port
d-vecdb-server start --port 8081
```

**Server Won't Start:**
```bash
# Check server logs
d-vecdb-server start  # Run in foreground to see errors

# Check disk space
df -h  # On Linux/macOS

# Check permissions on data directory
ls -la /path/to/data/directory
```

**Connection Refused:**
```bash
# Verify server is running
d-vecdb-server status

# Check if ports are accessible
telnet localhost 8080

# For remote connections, ensure host is set to 0.0.0.0
d-vecdb-server start --host 0.0.0.0
```

### Performance Issues

**Slow Performance:**
```toml
# Optimize configuration for better performance
[storage]
memory_map_size = "4GB"  # Increase based on available RAM

[index]
hnsw_max_connections = 64
hnsw_ef_construction = 800

[server]
workers = 16  # Match your CPU cores
```

**High Memory Usage:**
```toml
# Reduce memory usage
[storage]
memory_map_size = "512MB"  # Reduce if needed

[index]
hnsw_max_connections = 16
hnsw_ef_construction = 200
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Using with Python Client

After installing the server, you can use it with the Python client:

```bash
# Install the Python client
pip install d-vecdb
```

```python
from d_vecdb_server import DVecDBServer
from d_vecdb import VectorDBClient
import numpy as np

# Start the server
with DVecDBServer(port=8080) as server:
    # Connect client
    client = VectorDBClient(host=server.host, port=server.port)
    
    # Create collection
    client.create_collection_simple("documents", 128, "cosine")
    
    # Insert vectors
    vector = np.random.random(128)
    client.insert_simple("documents", "doc1", vector)
    
    # Search
    query = np.random.random(128)
    results = client.search_simple("documents", query, limit=5)
    print(f"Found {len(results)} similar vectors")
```

## Next Steps

After installation and configuration:

1. **Start using the REST API**: Visit `http://localhost:8080/docs` for API documentation
2. **Use Python client**: See example above for Python integration
3. **Check examples**: See the main repository for usage examples
4. **Join community**: Report issues and get support

## Links

- **Main Repository**: https://github.com/rdmurugan/d-vecDB
- **Python Client**: https://pypi.org/project/d-vecdb/
- **Docker Hub**: https://hub.docker.com/r/rdmurugan/d-vecdb
- **Issues & Support**: https://github.com/rdmurugan/d-vecDB/issues
- **Documentation**: https://github.com/rdmurugan/d-vecDB#readme

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "d-vecdb-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "vector database, similarity search, machine learning, embeddings, rust",
    "author": null,
    "author_email": "Durai <durai@infinidatum.com>",
    "download_url": "https://files.pythonhosted.org/packages/cc/2b/cfa9ccdb65b82c1e7d52aebcd00311c1aa1f644bb839cafda0c4851cfd4e/d_vecdb_server-0.1.4.tar.gz",
    "platform": null,
    "description": "# d-vecDB Server Python Package\n\n[![PyPI version](https://badge.fury.io/py/d-vecdb-server.svg)](https://badge.fury.io/py/d-vecdb-server)\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA Python package that provides the d-vecDB server with embedded pre-built binaries. This package allows you to run the high-performance d-vecDB vector database server directly from Python with a single `pip install` command.\n\n## Prerequisites\n\n- **Python**: 3.8 or higher\n- **Operating System**: Linux (x86_64), macOS (Intel/Apple Silicon), or Windows (x86_64)\n- **Memory**: Minimum 512MB RAM available\n- **Disk Space**: At least 100MB for binaries and data storage\n- **Network**: Available ports for REST API (default: 8080) and gRPC (default: 9090)\n\n## Installation Options\n\n### Option 1: Standard Installation (Recommended)\n\n```bash\n# Install the server package\npip install d-vecdb-server\n\n# Verify installation\nd-vecdb-server version\n```\n\n> **Note**: The package includes embedded binaries and is ready to use immediately after installation.\n\n### Option 2: Development Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/rdmurugan/d-vecDB.git\ncd d-vecDB/d-vecdb-server-python\n\n# Install in development mode\npip install -e .\n\n# Verify installation\nd-vecdb-server version\n```\n\n### Option 3: Virtual Environment Installation (Recommended for Development)\n\n```bash\n# Create virtual environment\npython -m venv d-vecdb-env\n\n# Activate virtual environment\n# On Linux/macOS:\nsource d-vecdb-env/bin/activate\n# On Windows:\nd-vecdb-env\\Scripts\\activate\n\n# Install package\npip install d-vecdb-server\n\n# Verify installation\nd-vecdb-server version\n```\n\n### Option 4: Install with Python Client\n\n```bash\n# Install server with Python client for complete functionality  \npip install 'd-vecdb-server[client]'\n\n# Or install separately\npip install d-vecdb-server\npip install d-vecdb  # Python client library\n```\n\n## Quick Start\n\n### Command Line Usage\n\n```bash\n# Show version (includes binary status)\nd-vecdb-server version\n\n# Start the server (foreground)\nd-vecdb-server start\n\n# Start in background\nd-vecdb-server start --daemon\n\n# Start with custom settings\nd-vecdb-server start --host 0.0.0.0 --port 8081 --data-dir ./my-data\n\n# Stop the server\nd-vecdb-server stop\n\n# Check server status\nd-vecdb-server status\n```\n\n### Python API\n\n```python\nfrom d_vecdb_server import DVecDBServer\n\n# Create and start server\nserver = DVecDBServer(\n    host=\"127.0.0.1\",\n    port=8080,\n    data_dir=\"./vector-data\"\n)\n\n# Start the server\nserver.start()\n\nprint(f\"Server running: {server.is_running()}\")\nprint(f\"REST API: http://{server.host}:{server.port}\")\nprint(f\"gRPC API: {server.host}:{server.grpc_port}\")\n\n# Stop the server\nserver.stop()\n```\n\n### Context Manager\n\n```python\nfrom d_vecdb_server import DVecDBServer\n\n# Automatically start and stop server\nwith DVecDBServer(port=8080) as server:\n    print(f\"Server is running on port {server.port}\")\n    # Server will be automatically stopped when exiting the context\n```\n\n## Configuration\n\n### Step-by-Step Server Configuration\n\n#### Step 1: Choose Your Configuration Method\n\nYou can configure the server in three ways:\n1. **Command line arguments** (quick setup)\n2. **Python API parameters** (programmatic setup)\n3. **Configuration file** (persistent setup)\n\n#### Step 2: Basic Configuration\n\n**Default Configuration:**\n- **Host**: 127.0.0.1 (localhost only)\n- **REST Port**: 8080\n- **gRPC Port**: 9090  \n- **Data Directory**: Temporary directory (auto-generated)\n- **Log Level**: info\n\n#### Step 3: Create Data Directory (Optional)\n\n```bash\n# Create persistent data directory\nmkdir -p /path/to/your/vector-data\nchmod 755 /path/to/your/vector-data\n```\n\n#### Step 4: Configuration Options\n\n**Option A: Command Line Configuration**\n\n```bash\n# Basic configuration\nd-vecdb-server start --host 0.0.0.0 --port 8081 --data-dir ./data\n\n# Advanced configuration\nd-vecdb-server start \\\n  --host 0.0.0.0 \\\n  --port 8081 \\\n  --grpc-port 9091 \\\n  --data-dir /path/to/data \\\n  --log-level debug \\\n  --daemon\n```\n\n**Option B: Python API Configuration**\n\n```python\nfrom d_vecdb_server import DVecDBServer\n\n# Basic configuration\nserver = DVecDBServer(\n    host=\"0.0.0.0\",           # Listen on all interfaces\n    port=8081,                # Custom REST port\n    grpc_port=9091,           # Custom gRPC port\n    data_dir=\"/path/to/data\", # Persistent data directory\n    log_level=\"debug\"         # Verbose logging\n)\n\nserver.start()\n```\n\n**Option C: Configuration File Setup**\n\n1. Create a configuration file:\n\n```bash\n# Create config directory\nmkdir -p ~/.config/d-vecdb\n\n# Create configuration file\ncat > ~/.config/d-vecdb/server.toml << EOF\n[server]\nhost = \"0.0.0.0\"\nport = 8080\ngrpc_port = 9090\nworkers = 8\n\n[storage]\ndata_dir = \"/path/to/your/data\"\nwal_sync_interval = \"1s\"\nmemory_map_size = \"1GB\"\n\n[index]\nhnsw_max_connections = 32\nhnsw_ef_construction = 400\nhnsw_max_layer = 16\n\n[monitoring]\nenable_metrics = true\nprometheus_port = 9091\nlog_level = \"info\"\nEOF\n```\n\n2. Use the configuration file:\n\n```bash\n# Start with configuration file\nd-vecdb-server start --config ~/.config/d-vecdb/server.toml\n```\n\n#### Step 5: Verify Configuration\n\n```bash\n# Check server status\nd-vecdb-server status\n\n# Test REST API endpoint\ncurl http://localhost:8080/health\n\n# Check metrics (if enabled)\ncurl http://localhost:9091/metrics\n```\n\n#### Step 6: Production Configuration Tips\n\n```toml\n# Production-ready configuration example\n[server]\nhost = \"0.0.0.0\"          # Accept connections from any IP\nport = 8080               # Standard HTTP port\ngrpc_port = 9090          # Standard gRPC port\nworkers = 16              # Match CPU cores\n\n[storage]\ndata_dir = \"/var/lib/d-vecdb\"  # Persistent storage location\nwal_sync_interval = \"5s\"       # Longer interval for better performance\nmemory_map_size = \"8GB\"        # More memory for larger datasets\n\n[index]\nhnsw_max_connections = 64      # Higher connections for better recall\nhnsw_ef_construction = 800     # Higher construction for better quality\nhnsw_max_layer = 16           # Default is usually fine\n\n[monitoring]\nenable_metrics = true\nprometheus_port = 9091\nlog_level = \"warn\"            # Less verbose for production\n```\n\n## API Reference\n\n### DVecDBServer Class\n\n#### Constructor\n\n```python\nDVecDBServer(\n    host: str = \"127.0.0.1\",\n    port: int = 8080,\n    grpc_port: int = 9090,\n    data_dir: Optional[str] = None,\n    log_level: str = \"info\",\n    config_file: Optional[str] = None\n)\n```\n\n#### Methods\n\n- **`start(background: bool = True, timeout: int = 30) -> bool`**\n  - Start the server process\n  - Returns `True` if successful\n\n- **`stop(timeout: int = 10) -> bool`**\n  - Stop the server process\n  - Returns `True` if successful\n\n- **`restart(timeout: int = 30) -> bool`**\n  - Restart the server\n  - Returns `True` if successful\n\n- **`is_running() -> bool`**\n  - Check if server is running\n  - Returns `True` if running\n\n- **`get_status() -> Dict[str, Any]`**\n  - Get detailed server status\n  - Returns status dictionary\n\n### Command Line Interface\n\n```bash\nd-vecdb-server [OPTIONS] COMMAND\n\nCommands:\n  start    Start the server\n  stop     Stop the server  \n  status   Check server status\n  version  Show version information\n\nOptions:\n  --host HOST           Server host (default: 127.0.0.1)\n  --port PORT           REST API port (default: 8080)\n  --grpc-port PORT      gRPC port (default: 9090)\n  --data-dir DIR        Data directory\n  --config FILE         Configuration file\n  --log-level LEVEL     Log level (debug/info/warn/error)\n\nStart Options:\n  --daemon              Run in background\n```\n\n## Platform Support\n\n- **Linux**: x86_64 (with musl for better compatibility)\n- **macOS**: Intel (x86_64) and Apple Silicon (ARM64)\n- **Windows**: x86_64\n\n## Advanced Setup\n\n### Environment Variables\n\nYou can also configure the server using environment variables:\n\n```bash\n# Set environment variables\nexport DVECDB_HOST=\"0.0.0.0\"\nexport DVECDB_PORT=\"8080\"\nexport DVECDB_GRPC_PORT=\"9090\"\nexport DVECDB_DATA_DIR=\"/var/lib/d-vecdb\"\nexport DVECDB_LOG_LEVEL=\"info\"\nexport RUST_LOG=\"info\"\n\n# Start server (will use environment variables)\nd-vecdb-server start\n```\n\n### Docker Setup (Alternative)\n\nIf you prefer Docker deployment:\n\n```bash\n# Pull the Docker image\ndocker pull rdmurugan/d-vecdb:latest\n\n# Run with custom configuration\ndocker run -d \\\n  --name d-vecdb-server \\\n  -p 8080:8080 \\\n  -p 9090:9090 \\\n  -v /path/to/data:/data \\\n  rdmurugan/d-vecdb:latest\n```\n\n### Service Configuration (Linux)\n\nCreate a systemd service for automatic startup:\n\n```bash\n# Create service file\nsudo cat > /etc/systemd/system/d-vecdb.service << EOF\n[Unit]\nDescription=d-vecDB Vector Database Server\nAfter=network.target\n\n[Service]\nType=simple\nUser=d-vecdb\nGroup=d-vecdb\nWorkingDirectory=/var/lib/d-vecdb\nExecStart=/usr/local/bin/d-vecdb-server start --config /etc/d-vecdb/server.toml\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\n# Enable and start service\nsudo systemctl enable d-vecdb\nsudo systemctl start d-vecdb\nsudo systemctl status d-vecdb\n```\n\n## Troubleshooting\n\n### Installation Issues\n\n**Binary Not Found (should not happen with pip install):**\n```bash\n# Check if binary is available\nd-vecdb-server version\n\n# If you still get binary not found errors:\n# 1. Reinstall the package\npip uninstall d-vecdb-server\npip install d-vecdb-server\n\n# 2. For development installations:\npip install -e . --force-reinstall\n```\n\n**Permission Denied:**\n```bash\n# Install in user directory\npip install --user d-vecdb-server\n\n# Or use virtual environment\npython -m venv venv && source venv/bin/activate\npip install d-vecdb-server\n```\n\n### Runtime Issues\n\n**Port Already in Use:**\n```bash\n# Check what's using the port\nlsof -i :8080  # On Linux/macOS\nnetstat -ano | findstr :8080  # On Windows\n\n# Use different port\nd-vecdb-server start --port 8081\n```\n\n**Server Won't Start:**\n```bash\n# Check server logs\nd-vecdb-server start  # Run in foreground to see errors\n\n# Check disk space\ndf -h  # On Linux/macOS\n\n# Check permissions on data directory\nls -la /path/to/data/directory\n```\n\n**Connection Refused:**\n```bash\n# Verify server is running\nd-vecdb-server status\n\n# Check if ports are accessible\ntelnet localhost 8080\n\n# For remote connections, ensure host is set to 0.0.0.0\nd-vecdb-server start --host 0.0.0.0\n```\n\n### Performance Issues\n\n**Slow Performance:**\n```toml\n# Optimize configuration for better performance\n[storage]\nmemory_map_size = \"4GB\"  # Increase based on available RAM\n\n[index]\nhnsw_max_connections = 64\nhnsw_ef_construction = 800\n\n[server]\nworkers = 16  # Match your CPU cores\n```\n\n**High Memory Usage:**\n```toml\n# Reduce memory usage\n[storage]\nmemory_map_size = \"512MB\"  # Reduce if needed\n\n[index]\nhnsw_max_connections = 16\nhnsw_ef_construction = 200\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Using with Python Client\n\nAfter installing the server, you can use it with the Python client:\n\n```bash\n# Install the Python client\npip install d-vecdb\n```\n\n```python\nfrom d_vecdb_server import DVecDBServer\nfrom d_vecdb import VectorDBClient\nimport numpy as np\n\n# Start the server\nwith DVecDBServer(port=8080) as server:\n    # Connect client\n    client = VectorDBClient(host=server.host, port=server.port)\n    \n    # Create collection\n    client.create_collection_simple(\"documents\", 128, \"cosine\")\n    \n    # Insert vectors\n    vector = np.random.random(128)\n    client.insert_simple(\"documents\", \"doc1\", vector)\n    \n    # Search\n    query = np.random.random(128)\n    results = client.search_simple(\"documents\", query, limit=5)\n    print(f\"Found {len(results)} similar vectors\")\n```\n\n## Next Steps\n\nAfter installation and configuration:\n\n1. **Start using the REST API**: Visit `http://localhost:8080/docs` for API documentation\n2. **Use Python client**: See example above for Python integration\n3. **Check examples**: See the main repository for usage examples\n4. **Join community**: Report issues and get support\n\n## Links\n\n- **Main Repository**: https://github.com/rdmurugan/d-vecDB\n- **Python Client**: https://pypi.org/project/d-vecdb/\n- **Docker Hub**: https://hub.docker.com/r/rdmurugan/d-vecdb\n- **Issues & Support**: https://github.com/rdmurugan/d-vecDB/issues\n- **Documentation**: https://github.com/rdmurugan/d-vecDB#readme\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Complete d-vecDB server package with embedded binaries - zero configuration required",
    "version": "0.1.4",
    "project_urls": {
        "Bug Reports": "https://github.com/rdmurugan/d-vecDB/issues",
        "Documentation": "https://github.com/rdmurugan/d-vecDB#readme",
        "Homepage": "https://github.com/rdmurugan/d-vecDB",
        "Source": "https://github.com/rdmurugan/d-vecDB"
    },
    "split_keywords": [
        "vector database",
        " similarity search",
        " machine learning",
        " embeddings",
        " rust"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b7d8bfa22821d37139dbb3d0d3bee67c5cceab0dead8ff0e3cd38d4edc0c72b7",
                "md5": "42193dcc32c95dc725f792c6c47c976b",
                "sha256": "479e14498d94dd8678d3c88b4e27d3bf1c450eec4279f2a0abef2eda8be3d5a0"
            },
            "downloads": -1,
            "filename": "d_vecdb_server-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "42193dcc32c95dc725f792c6c47c976b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 7300758,
            "upload_time": "2025-09-03T04:22:28",
            "upload_time_iso_8601": "2025-09-03T04:22:28.401252Z",
            "url": "https://files.pythonhosted.org/packages/b7/d8/bfa22821d37139dbb3d0d3bee67c5cceab0dead8ff0e3cd38d4edc0c72b7/d_vecdb_server-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc2bcfa9ccdb65b82c1e7d52aebcd00311c1aa1f644bb839cafda0c4851cfd4e",
                "md5": "2f6cbec4ca77917785df6fd60ccb397e",
                "sha256": "d7fdd523a9eadec60b773ea4f2b5ffd55923c09d4783aa95e04f4216e6b4f389"
            },
            "downloads": -1,
            "filename": "d_vecdb_server-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "2f6cbec4ca77917785df6fd60ccb397e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 7281301,
            "upload_time": "2025-09-03T04:22:33",
            "upload_time_iso_8601": "2025-09-03T04:22:33.324906Z",
            "url": "https://files.pythonhosted.org/packages/cc/2b/cfa9ccdb65b82c1e7d52aebcd00311c1aa1f644bb839cafda0c4851cfd4e/d_vecdb_server-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-03 04:22:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rdmurugan",
    "github_project": "d-vecDB",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "d-vecdb-server"
}
        
Elapsed time: 1.05980s