Metadata-Version: 2.2
Name: gllm-datastore-binary
Version: 0.5.73
Summary: A library containing data store components for Gen AI applications.
Author-email: Berty C L Tobing <berty.c.l.tobing@gdplabs.id>, Kadek Denaya <kadek.d.r.diana@gdplabs.id>
Requires-Python: <3.13,>=3.11
Description-Content-Type: text/markdown
Requires-Dist: gllm-core-binary<0.5.0,>=0.3.0
Requires-Dist: gllm-inference-binary<0.7.0,>=0.6.0
Requires-Dist: cryptography<47.0.0,>=46.0.5
Requires-Dist: nebula3-python<4.0.0,>=3.8.3
Requires-Dist: neo4j<6.0.0,>=5.28.1
Requires-Dist: nest-asyncio==1.6.0
Requires-Dist: pandas<3.0.0,>=2.2.3
Requires-Dist: pysqlite3-binary<0.6.0,>=0.5.4; sys_platform == "linux"
Requires-Dist: sqlalchemy<3.0.0,>=2.0.37
Requires-Dist: python-levenshtein<0.27.0,>=0.26.1
Requires-Dist: urllib3<3.0.0,>=2.6.0
Requires-Dist: langchain-core<2.0.0,>=1.0.0
Provides-Extra: dev
Requires-Dist: coverage<8.0.0,>=7.4.4; extra == "dev"
Requires-Dist: mypy<2.0.0,>=1.15.0; extra == "dev"
Requires-Dist: pre-commit<4.0.0,>=3.7.0; extra == "dev"
Requires-Dist: pytest<10.0.0,>=9.0.3; extra == "dev"
Requires-Dist: pytest-asyncio<2.0.0,>=1.0.0; extra == "dev"
Requires-Dist: pytest-cov<6.0.0,>=5.0.0; extra == "dev"
Requires-Dist: ruff<1.0.0,>=0.6.7; extra == "dev"
Provides-Extra: chroma
Requires-Dist: chromadb<0.7.0,>=0.6.3; extra == "chroma"
Requires-Dist: langchain-chroma<2.0.0,>=0.2.2; extra == "chroma"
Requires-Dist: posthog<6.0.0,>=2.4.0; extra == "chroma"
Provides-Extra: elasticsearch
Requires-Dist: elasticsearch<8.20.0,>=8.19.0; extra == "elasticsearch"
Requires-Dist: langchain-elasticsearch<2.0.0,>=0.3.0; extra == "elasticsearch"
Provides-Extra: fuzzy
Provides-Extra: kg
Requires-Dist: asyncpg<0.31.0,>=0.30.0; extra == "kg"
Requires-Dist: Jinja2<4.0.0,>=3.1.4; extra == "kg"
Requires-Dist: lightrag-hku<2.0.0,>=1.4.13; extra == "kg"
Requires-Dist: llama-index-core<0.15.0,>=0.14.0; extra == "kg"
Requires-Dist: llama-index-graph-stores-nebula<0.6.0,>=0.5.0; extra == "kg"
Requires-Dist: llama-index-graph-stores-neo4j<0.6.0,>=0.5.0; extra == "kg"
Requires-Dist: FalkorDB<2.0.0,>=1.0.0; extra == "kg"
Requires-Dist: graphiti-core<0.29.0,>=0.28.0; extra == "kg"
Provides-Extra: redis
Requires-Dist: redis<6.0.0,>=5.2.1; extra == "redis"
Requires-Dist: redisvl[sentence-transformers]<0.7.0,>=0.6.0; extra == "redis"
Requires-Dist: torch<3.0.0,>2.0.0; extra == "redis"
Provides-Extra: opensearch
Requires-Dist: opensearch-py[async]<4.0.0,>=3.0.0; extra == "opensearch"
Requires-Dist: langchain-community<0.5.0,>=0.3.0; extra == "opensearch"
Provides-Extra: milvus
Requires-Dist: pymilvus<3.0.0,>=2.6.6; extra == "milvus"
Provides-Extra: pgvector
Requires-Dist: pgvector<0.5.0,>=0.4.2; extra == "pgvector"

# GLLM Datastore

## Description

A library for managing data storage and retrieval operations in Generative AI applications.

---

## Installation

### Prerequisites

Mandatory:

1. Python 3.11+ — [Install here](https://www.python.org/downloads/)
2. pip — [Install here](https://pip.pypa.io/en/stable/installation/)
3. uv — [Install here](https://docs.astral.sh/uv/getting-started/installation/)
4. gcloud CLI (for authentication) — [Install here](https://cloud.google.com/sdk/docs/install), then log in using:

   ```bash
   gcloud auth login
   ```

---

### Install from Artifact Registry

This requires authentication via the `gcloud` CLI.

```bash
uv pip install \
  --extra-index-url "https://oauth2accesstoken:$(gcloud auth print-access-token)@glsdk.gdplabs.id/gen-ai-internal/simple/" \
  gllm-datastore
```

---

## Local Development Setup

### Prerequisites

1. Python 3.11+ — [Install here](https://www.python.org/downloads/)
2. pip — [Install here](https://pip.pypa.io/en/stable/installation/)
3. uv — [Install here](https://docs.astral.sh/uv/getting-started/installation/)
4. gcloud CLI — [Install here](https://cloud.google.com/sdk/docs/install), then log in using:

   ```bash
   gcloud auth login
   ```

5. Git — [Install here](https://git-scm.com/downloads)
6. Access to the [GDP Labs SDK GitHub repository](https://github.com/GDP-ADMIN/gl-sdk)

---

### 1. Clone Repository

```bash
git clone git@github.com:GDP-ADMIN/gl-sdk.git
cd gl-sdk/libs/gllm-datastore
```

---

### 2. Setup Authentication

Set the following environment variables to authenticate with internal package indexes:

```bash
export UV_INDEX_GEN_AI_INTERNAL_USERNAME=oauth2accesstoken
export UV_INDEX_GEN_AI_INTERNAL_PASSWORD="$(gcloud auth print-access-token)"
export UV_INDEX_GEN_AI_USERNAME=oauth2accesstoken
export UV_INDEX_GEN_AI_PASSWORD="$(gcloud auth print-access-token)"
```

---

### 3. Quick Setup

Run:

```bash
make setup
```

---

### 4. Activate Virtual Environment

```bash
source .venv/bin/activate
```

---

## Local Development Utilities

The following Makefile commands are available for quick operations:

### Install uv

```bash
make install-uv
```

### Install Pre-Commit

```bash
make install-pre-commit
```

### Install Dependencies

```bash
make install
```

### Update Dependencies

```bash
make update
```

### Run Tests

```bash
make test
```

---

## Contributing

Please refer to the [Python Style Guide](https://docs.google.com/document/d/1uRggCrHnVfDPBnG641FyQBwUwLoFw0kTzNqRm92vUwM/edit?usp=sharing)
for information about code style, documentation standards, and SCA requirements.
