Metadata-Version: 2.4
Name: textloom
Version: 0.1.0
Summary: Lightweight text processing utilities for normalization, transliteration, and deduplication
Author: Alexander
License: MIT
Project-URL: Homepage, https://github.com/avtomatik/textloom
Project-URL: Repository, https://github.com/avtomatik/textloom
Project-URL: Issues, https://github.com/avtomatik/textloom/issues
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.md
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# TextLoom

[![Lint](https://github.com/avtomatik/textloom/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/avtomatik/textloom/actions/workflows/ci.yml)
[![Python Version](https://img.shields.io/pypi/pyversions/textloom)](https://pypi.org/project/textloom/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

Lightweight text processing utilities for Python.

TextLoom provides a small collection of reusable tools for:

* Transliteration
* Text normalization
* Identifier generation
* Filename normalization
* Name deduplication

The library was extracted from larger data-processing projects to provide a focused and **dependency-free toolkit** for text handling.

## Installation

```bash
pip install textloom
````

## Usage

```python
import textloom as tl
```

### Transliteration

```python
tl.transliterate("Привет Мир")
# "Privet Mir"
```

### Text normalization

```python
tl.normalize_text("  Привет   Мир  ")
# "privet mir"
```

### Identifier normalization

```python
tl.normalize_identifier("Цена товара")
# "tsena_tovara"
```

### Filename normalization

```python
tl.normalize_filename("Мой файл.xlsx")
# "moy-fayl.xlsx"
```

### Deduplication

```python
tl.deduplicate_names(["name", "name", "name"])
# ["name", "name_2", "name_3"]
```

## Design Goals

* Zero runtime dependencies
* Predictable behavior
* Small, intuitive API
* Reusable across projects
* Easy to extend

## License

MIT License. See the [LICENSE](LICENSE) file for details.
