Metadata-Version: 2.4
Name: arabseg
Version: 0.19.0
Summary: Deterministic, tashkeel-preserving Arabic morphological segmentation
Author: Eman Khater
Keywords: arabic,natural-language-processing,morphology,segmentation,tashkeel,diacritics,modern-standard-arabic
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
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: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyYAML<7.0,>=6.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: twine>=5.1; extra == "dev"
Dynamic: license-file


## Unicode and repertoire validation

ArabSeg now exposes an inventory-backed Unicode layer derived from the R1.2
Unicode 17 character inventory:

```python
from arabseg import CharacterClassifier, CharacterInventory, UnicodeValidator

result = UnicodeValidator().validate("كِتَابٌ")
assert result.valid
```

This milestone validates only S1.2 layers U and R. Grapheme structure,
combining-mark order, normalization diagnostics, and full-vocalization rules
remain separate later milestones.
