Metadata-Version: 2.4
Name: tokens-lab
Version: 0.5.8
Summary: LLM utilities with agents, file parsing, and preprocessing built in.
Author-email: Mohamed Moslemani <moslemanomohamed@gmail.com>, Youssef Moussallem <youssefaamoussallem@hotmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/mohamed-moslemani/LLM_Lab
Project-URL: Repository, https://github.com/mohamed-moslemani/LLM_Lab
Project-URL: Issues, https://github.com/mohamed-moslemani/LLM_Lab/issues
Keywords: llm,agents,rag,langchain,llm-tools
Classifier: Programming Language :: Python :: 3
Classifier: Typing :: Typed
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: langgraph>=0.2.0
Requires-Dist: typing-extensions>=4.8.0
Requires-Dist: openai<3,>=2.13
Requires-Dist: langchain<2,>=0.3.27
Requires-Dist: langchain-text-splitters<2,>=0.3.11
Requires-Dist: langchain-experimental<1,>=0.4.1
Requires-Dist: pdfplumber>=0.11.0
Requires-Dist: python-docx>=1.0.0
Requires-Dist: python-pptx>=0.6.21
Requires-Dist: pypdfium2>=4.0.0
Requires-Dist: pdf2image>=1.16.0
Requires-Dist: Pillow>=9.0.0
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: pandas>=2.3.3
Requires-Dist: python-dateutil>=2.8.0
Requires-Dist: httpx>=0.24.0
Provides-Extra: azure
Requires-Dist: azure-storage-blob>=12.0.0; extra == "azure"
Requires-Dist: python-dotenv>=1.0.0; extra == "azure"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: ruff>=0.4.0; extra == "dev"
Requires-Dist: mypy>=1.8; extra == "dev"

# tokens-lab

LLM utilities with agents, file parsing, and preprocessing built in.

## Features

- **Agent Framework**: LangGraph-based agents with OpenAI integration
- **File Text I/O**: Parse PDFs, DOCX, PPTX, and images with ease
- **Preprocessing**: Text normalization and cleaning utilities
- **Azure Integration**: Azure Storage and service utilities
- **ML Tools**: String similarity and text analysis
- **Utilities**: Date, Excel, JSON, and Pandas helpers
- **Logging**: Structured logging support
- **Exception Handling**: Custom exception hierarchy

## Installation

```bash
pip install tokens-lab
```

## Quick Start

### LLM Agent

```python
from llm_lab.agent import Agent
from llm_lab.agent.litellm_client import LiteLLMClient

client = LiteLLMClient(model="gpt-4", api_key="your-api-key")
agent = Agent(client=client)
response = agent.process("Hello, how can you help me?")
```

### File Parsing

```python
from llm_lab.filetextio import parsers

content = parsers.parse_document("document.pdf")
```

### Text Preprocessing

```python
from llm_lab.preprocessing import text_normalization

clean_text = text_normalization.normalize_text("messy   text  ")
```

## Documentation

For complete documentation, visit: [https://pwc-me-adv-strategyand.github.io/LLM_Lab/](https://pwc-me-adv-strategyand.github.io/LLM_Lab/)

## Requirements

- Python >= 3.10

## License

MIT
