Metadata-Version: 2.1
Name: galtea
Version: 4.23.2
Summary: Galtea software development kit
Home-page: https://galtea.ai/
License: Apache-2.0
Keywords: MLOps,ML Experiment Tracking,ML Model Registry,ML Model Store,ML Metadata Store
Author: galtea.ai
Author-email: info@galtea.ai
Requires-Python: >=3.9
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: langfuse
Provides-Extra: langfuse-langchain
Requires-Dist: importlib-metadata (>=8.7.0,<9.0.0)
Requires-Dist: langchain (>=0.1.0,<2.0.0) ; extra == "langfuse-langchain"
Requires-Dist: langfuse (>=3.0.0,<5.0.0) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "langfuse" or extra == "langfuse-langchain")
Requires-Dist: opentelemetry-api (>=1.20.0,<2.0.0)
Requires-Dist: opentelemetry-sdk (>=1.20.0,<2.0.0)
Requires-Dist: packaging (>=23.2,<26.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: termcolor (>=2.5.0,<3.0.0)
Project-URL: Documentation, https://docs.galtea.ai/
Project-URL: Repository, https://github.com/Galtea-AI/galtea
Description-Content-Type: text/markdown

# Galtea SDK

<p align="center">
  <img src="https://galtea.ai/img/galtea_mod.png" alt="Galtea" width="500" height="auto"/>
</p>

<p align="center">
  <strong>Comprehensive AI/LLM Testing & Evaluation Framework</strong>
</p>

<p align="center">
	<a href="https://pypi.org/project/galtea/">
		<img src="https://img.shields.io/pypi/v/galtea.svg" alt="PyPI version">
	</a>
	<a href="https://pypi.org/project/galtea/">
		<img src="https://img.shields.io/pypi/pyversions/galtea.svg" alt="Python versions">
	</a>
	<a href="https://www.apache.org/licenses/LICENSE-2.0">
		<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License">
	</a>
</p>

## Overview

Galtea SDK empowers AI engineers, ML engineers and data scientists to rigorously test and evaluate their AI products. With a focus on reliability and transparency, Galtea offers:

1. **Automated Test Dataset Generation** - Create comprehensive test datasets tailored to your AI product
2. **Sophisticated Product Evaluation** - Evaluate your AI products across multiple dimensions

## Documentation

**All SDK usage and API documentation has moved to our official docs:** [Galtea SDK Documentation](https://docs.galtea.ai/sdk/introduction)

---

## Development

This project uses Poetry for dependency management and packaging.

### Development Setup

```bash
# Activate the virtual environment (spawns a subshell)
poetry shell

# Install dependencies
poetry install
```

> Exit the virtual environment with the `exit` command.

### Using with Jupyter Notebooks

To use the Poetry virtual environment as a Jupyter kernel (e.g. for the example notebooks in `examples/`):

```bash
# Ensure dev dependencies are installed (includes ipykernel)
poetry install

# Register the virtualenv as a Jupyter kernel
poetry run python -m ipykernel install --user --name galtea-sdk --display-name "Galtea SDK"
```

Then select the **"Galtea SDK"** kernel in your notebook editor (VS Code, JupyterLab, etc.).

### Running Tests

Tests are located in the `tests/` directory and cover core functionality including file validation, string utilities, and model utilities.

#### Run All Tests

```bash
# Using Poetry (recommended)
poetry run pytest

# Or using Make
make test

# Using virtual environment directly
python -m pytest tests/
```

#### Run Tests with Verbose Output

```bash
poetry run pytest -v
```

#### Run Specific Test File

```bash
poetry run pytest tests/test_file_validation.py
```

#### Run Specific Test Class or Method

```bash
# Run a specific test class
poetry run pytest tests/test_file_validation.py::TestValidateKnowledgeBaseFile

# Run a specific test method
poetry run pytest tests/test_file_validation.py::TestValidateKnowledgeBaseFile::test_valid_txt_file
```

#### Run Tests with Coverage

```bash
poetry run pytest --cov=galtea --cov-report=html
```

This will generate a coverage report in the `htmlcov/` directory.

### Building the Project

To build the project:

```bash
poetry build
```

This will create distribution packages (wheel and source distribution) in the `dist/` directory.

## License

Apache License 2.0
