Metadata-Version: 2.1
Name: gllm-tools-binary
Version: 0.1.2
Summary: A library for managing tools in Gen AI applications.
Author: Raymond Christopher
Author-email: raymond.christopher@gdplabs.id
Requires-Python: >=3.11,<3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: e2b-code-interpreter (>=1.5.2,<2.0.0)
Requires-Dist: gllm-inference-binary[anthropic,openai] (>=0.4.0,<0.5.0)
Requires-Dist: langchain-core (>=0.3.63,<0.4.0)
Requires-Dist: mcp (>=1.9.1,<2.0.0)
Requires-Dist: pydantic (>=2.9.1,<3.0.0)
Description-Content-Type: text/markdown

# GLLM Tools

## Description

A library providing a collection of utility tools and functions for Generative AI applications.

## Installation

### Prerequisites
- Python 3.11+ - [Install here](https://www.python.org/downloads/)
- Pip (if using Pip) - [Install here](https://pip.pypa.io/en/stable/installation/)
- Poetry 1.8.1+ (if using Poetry) - [Install here](https://python-poetry.org/docs/#installation)
- Git (if using Git) - [Install here](https://git-scm.com/downloads)
- For artifact registry installation:
  - Google Cloud CLI - [[installed](https://cloud.google.com/sdk/docs/) and [authenticated](https://cloud.google.com/docs/authentication/gcloud)]
  - Access to the [GDP Labs SDK artifact registry](https://console.cloud.google.com/artifacts/python/gdp-labs/asia-southeast2/gen-ai?project=gdp-labs)
- For git installation:
  - Access to the [GDP Labs SDK github repository](https://github.com/GDP-ADMIN/gen-ai-internal)

### 1. Installation from Artifact Registry
Choose one of the following methods to install the package:

#### Using pip
```bash
pip install keyring keyrings.gl-artifactregistry-auth
pip install gllm-tools-binary --index-url https://glsdk.gdplabs.id/gen-ai/simple
```

#### Using Poetry
```bash
poetry source add --priority=explicit gen-ai https://glsdk.gdplabs.id/gen-ai/simple
poetry config http-basic.gen-ai oauth2accesstoken "$(gcloud auth print-access-token)"
poetry add --source gen-ai gllm-tools-binary
```

### 2. Development Installation (Git)
For development purposes, you can install directly from the Git repository:
```bash
poetry add "git+ssh://git@github.com/GDP-ADMIN/gen-ai-internal.git#subdirectory=libs/gllm-tools"
```

## Managing Dependencies
1. Go to root folder of `gllm-tools` module, e.g. `cd libs/gllm-tools`.
2. Run `poetry shell` to create a virtual environment.
3. Run `poetry lock` to create a lock file if you haven't done it yet.
4. Run `poetry install` to install the `gllm-tools` requirements for the first time.
5. Run `poetry update` if you update any dependency module version at `pyproject.toml`.

## Contributing
Please refer to this [Python Style Guide](https://docs.google.com/document/d/1uRggCrHnVfDPBnG641FyQBwUwLoFw0kTzNqRm92vUwM/edit?usp=sharing)
to get information about code style, documentation standard, and SCA that you need to use when contributing to this project

1. Activate `pre-commit` hooks using `pre-commit install`
2. Run `poetry shell` to create a virtual environment.
3. Run `poetry lock` to create a lock file if you haven't done it yet.
4. Run `poetry install` to install the `gllm-tools` requirements for the first time.
5. Run `which python` to get the path to be referenced at Visual Studio Code interpreter path (`Ctrl`+`Shift`+`P` or `Cmd`+`Shift`+`P`)
6. Try running the unit test to see if it's working:
```bash
poetry run pytest -s tests/unit_tests/
```

## Components

The main components of the GLLM Tools are listed here alongside their documentations.

### MCP (Model Context Protocol)

The MCP documentation can be found [here](./gllm_tools/mcp/README.md).

