Metadata-Version: 2.1
Name: thoughtdb
Version: 0.1.2
Summary: ThoughtDB is a mix between relational and vector database for efficient data retrieval
License: MIT
Author: Andre van Zuydam
Author-email: andrevanzuydam@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: cleantext (>=1.1.4,<2.0.0)
Requires-Dist: llama-cpp-python (==0.2.83)
Requires-Dist: numpy (>=2.0.1,<3.0.0)
Requires-Dist: sqlite-vec (>=0.1.1,<0.2.0)
Requires-Dist: tina4-python (>=0.1.95,<0.2.0)
Description-Content-Type: text/markdown

# ThoughtDB
ThoughtDB is a mix between relational and vector database for efficient data retrieval

## Installation

### Windows
```bash
python -m venv .venv
.\.venv\Scripts\activate
pip install poetry
```

### MacOS / Linux
```bash
python3 -m venv .venv
source ./.venv/bin/activate
pip install poetry
```

```bash
poetry run python app.py 0.0.0.0:8003
```

### Text Embedding Models

Download the following model or model of your choice in GGUF format into the models_db folder
```bash
https://huggingface.co/nomic-ai/nomic-embed-text-v1.5-GGUF/resolve/main/nomic-embed-text-v1.5.Q4_K_M.gguf?download=true
```

# Data Structure

The following is the layout for the ThoughtDB data structure. As we are in Alpha phase this structure may change as we optimize things. 

- Organizations
  - Collections
    - Conversations
      - Sessions
      - History
      - Summaries
    - Document Types
      - Documents
        - Chapters
        - Paragraphs
        - Sentences
        - Words

# Overview

## Installing

Installation should be simple

### Pip
```bash
pip install thoughtdb
```

### Poetry
```bash
poetry add thoughtdb
```

## Creating a new database

Currently, we only support Sqlite3, all the dependencies should be installed by pip or poetry.

```python
from thoughtdb.app import VectorStore


```

# Building

```bash
python3 -m pip install --upgrade build
python3 -m build
python3 -m pip install --upgrade twine
python3 -m twine upload --repository pipy dist/*
```

# Testing

```bash
 pytest tests --verbose
```
