Metadata-Version: 2.2
Name: gllm-inference-binary
Version: 0.6.13.post1
Summary: A library containing components related to model inferences in Gen AI applications.
Author-email: Henry Wicaksono <henry.wicaksono@gdplabs.id>, "Delfia N. A. Putri" <delfia.n.a.putri@gdplabs.id>
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
Requires-Dist: gllm-core-binary<0.5.0,>=0.4.21
Requires-Dist: aiofiles<26.0.0,>=24.0.0
Requires-Dist: aiohttp<4.0.0,>=3.12.14
Requires-Dist: av<17.0.0,>=16.1.0
Requires-Dist: filetype<2.0.0,>=1.2.0
Requires-Dist: httpx<0.29.0,>=0.28.0
Requires-Dist: jinja2<4.0.0,>=3.1.4
Requires-Dist: jsonref<2.0.0,>=1.1.0
Requires-Dist: jsonschema<5.0.0,>=4.24.0
Requires-Dist: langchain<2.0.0,>=0.3.8
Requires-Dist: numpy<2.0.0,>=1.26; python_version < "3.12"
Requires-Dist: numpy<3.0.0,>=1.26; python_version >= "3.12" and python_version < "3.13"
Requires-Dist: numpy<3.0.0,>=2.2; python_version >= "3.13"
Requires-Dist: pandas<3.0.0,>=2.2.3
Requires-Dist: prompt-toolkit<4.0.0,>=3.0.0
Requires-Dist: protobuf<7.0.0,>=5.29.4
Requires-Dist: python-magic<0.5.0,>=0.4.27; sys_platform != "win32"
Requires-Dist: python-magic-bin<0.5.0,>=0.4.14; sys_platform == "win32"
Requires-Dist: sentencepiece<0.3.0,>=0.2.0
Requires-Dist: sounddevice<0.6.0,>=0.5.0; sys_platform == "win32"
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<0.7.0,>=0.6.7; extra == "dev"
Provides-Extra: anthropic
Requires-Dist: anthropic<1.0.0,>=0.60.0; extra == "anthropic"
Provides-Extra: bedrock
Requires-Dist: aioboto3<16.0.0,>=15.0.0; extra == "bedrock"
Provides-Extra: cohere
Requires-Dist: cohere<6.0.0,>=5.18.0; extra == "cohere"
Provides-Extra: datasaur
Requires-Dist: openai<3.0.0,>=2.7.0; extra == "datasaur"
Provides-Extra: google
Requires-Dist: google-genai<2.0.0,>=1.52.0; extra == "google"
Provides-Extra: huggingface
Requires-Dist: huggingface-hub<0.31.0,>=0.30.0; extra == "huggingface"
Requires-Dist: transformers<5.0.0,>=4.52.0; extra == "huggingface"
Provides-Extra: litellm
Requires-Dist: litellm<2.0.0,>=1.83.0; extra == "litellm"
Provides-Extra: livekit
Requires-Dist: livekit<2.0.0,>=1.0.23; extra == "livekit"
Requires-Dist: livekit-agents<2.0.0,>=1.3.12; extra == "livekit"
Requires-Dist: soxr<2.0.0,>=1.0.0; extra == "livekit"
Provides-Extra: openai
Requires-Dist: openai<3.0.0,>=2.7.0; extra == "openai"
Provides-Extra: portkey-ai
Requires-Dist: portkey-ai<2.0.0,>=1.14.4; extra == "portkey-ai"
Provides-Extra: twelvelabs
Requires-Dist: twelvelabs<2.0.0,>=1.1.0; extra == "twelvelabs"
Provides-Extra: voyage
Requires-Dist: voyageai<0.4.0,>=0.3.0; python_version < "3.13" and extra == "voyage"
Provides-Extra: xai
Requires-Dist: xai_sdk<2.0.0,>=1.0.0; extra == "xai"

# GLLM Inference

## Description
A library containing components related to model inferences in Gen 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/)

Extras (required only for Artifact Registry installations):
1. gcloud CLI (for authentication) — [Install here](https://cloud.google.com/sdk/docs/install), then log in using:
   ```bash
   gcloud auth login
   ```

---

### Option 1: Install from Artifact Registry

This option 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-inference
```

---

### Option 2: Install from PyPI

This option requires no authentication.
However, it installs the **binary wheel** version of the package, which is fully usable but **does not include source code**.

```bash
uv pip install gllm-inference-binary
```

---

## 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-inference
```

---

### 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.
