Metadata-Version: 2.4
Name: entirius-py-idx-normalizator
Version: 2.0.0
Summary: Identifier (idx/SKU/EAN) normalizer and validator
Project-URL: Repository, https://github.com/entirius/entirius-py-idx-normalizator
Author: Entirius
License-Expression: MPL-2.0
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: python-slugify>=8.0
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# idx-normalizator

Normalizers and validators for product identifiers — index/idx (slugified, length-capped
with an md5 suffix), SKU, and EAN.

## Installation

```shell
pip install entirius-py-idx-normalizator
```

## Usage

```python
from idx_normalizator import normalize_idx, validate_idx, validate_sku, normalize_ean

normalize_idx("Example Cammel Name")   # "example-cammel-name"
validate_idx("example-cammel-name")    # raises ValueError if not a valid idx
validate_sku("ABC-123")                # raises ValueError on forbidden chars / length
normalize_ean(" 5901234 ")             # "5901234"
```

## Development

```shell
make install     # sync dependencies (uv)
make check       # lint + format check (ruff)
make test        # test suite (pytest)
```

Development and agent instructions: [AGENTS.md](AGENTS.md).

## License

Mozilla Public License 2.0 — see [LICENSE](LICENSE).
