# Development Guide

## Requirements

- Python 3.12+
- PostgreSQL with pgvector and ParadeDB (for integration tests)

## Installation

### Clone the repository

```shell
git clone git@gitlab.com:deepika6190303/deepika-open-toolbox/dot-search.git
cd dot-search
```

### Python environment

```shell
uv venv --python python3.12
uv sync
```

## Testing

Unit tests (SQLite, no PostgreSQL required):

```shell
uv run pytest tests/test_serialize.py tests/test_fusion.py tests/test_embed.py tests/store/test_sqlite.py
```

All tests (requires PostgreSQL with pgvector + ParadeDB):

```shell
uv run pytest tests/
```

## Example

```shell
uv run examples/basic.py
```

## Usage in development mode

1. Create a Python 3.12 environment

```shell
mkdir -p /tmp/test-dot-search && cd /tmp/test-dot-search
uv venv --python 3.12
source .venv/bin/activate
```

2. Install the package

```shell
uv pip install "git+ssh://git@gitlab.com/deepika6190303/deepika-open-toolbox/dot-search.git@main"
```

> Replace `main` with a tag (e.g. `v0.1.0`) for reproducible installs.
