--- id: pyarabic version: "0.6.15" license: GPL license_treatment: copyleft maintenance: abandoned --- # PyArabic — Arabic text tools for Python License: copyleft · Maintenance: abandoned · Downloads: 152.3K/mo ## What it is and what it does PyArabic is a specialized library for processing Arabic text in Python. It provides a collection of functions organized into modules—araby.py for general text operations (stripping diacritics, tokenization, character classification), number.py for converting between numerals and Arabic words, and named.py for named-entity recognition. The library works with Unicode-encoded Arabic strings and handles Arabic-specific challenges like ligatures, hamza variants, and diacritical marks (harakat). The package is designed for developers building Arabic natural language processing pipelines, text normalization workflows, or linguistic analysis tools. It depends only on six and installs with low friction. However, the project is abandoned—the last release was over four years ago—so it receives no maintenance, bug fixes, or updates. It is suitable only for stable use cases where the existing feature set is sufficient. Use it for: - Strip diacritical marks from Arabic text for stemming or lemmatization in search or NLP pipelines. - Tokenize Arabic documents into words or sentences for text analysis or corpus processing. - Normalize Arabic script variants (hamza, ligatures) to standardize text before comparison or indexing. - Convert numeric values to Arabic words or extract numeric phrases from Arabic text for document parsing. - Classify and detect Arabic letters and character groups for text validation or linguistic analysis. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyArabic provides functions to manipulate Arabic text and letters—detecting character types, removing diacritics, tokenizing into words or sentences, and normalizing Arabic script variants. Yes, if you need stable Arabic text manipulation and the existing feature set meets your requirements. The low install friction and lack of security vulnerabilities make it safe to use. However, the abandoned maintenance status means no bug fixes or updates will be forthcoming—do not install if you expect ongoing support or compatibility with future Python versions. Suitable for production use only in stable, unchanging workflows. ## Install pip install pyarabic uv add pyarabic poetry add pyarabic ## Installing PyArabic Before you install: Install friction is low; the package depends only on six. However, maintenance is abandoned—the last release was 1518 days ago, and no recent commits or updates are evident. Use only if the existing functionality meets your needs without expecting bug fixes or feature additions. License in practice: PyArabic is licensed under GPL (copyleft). Any derivative work or distribution must also be released under GPL; proprietary or closed-source projects cannot incorporate it without legal risk. Quickstart: pip install pyarabic import pyarabic.araby as araby text = u'السلام عليكم' stripped = araby.strip_tashkeel(text) Requires Python with Unicode support (native in Python 3; Python 2 requires proper encoding declarations). Arabic text must be defined with u'' prefix or UTF-8 encoding declaration. Verify before relying: - Whether the package works reliably with modern Python versions (3.9+) given its abandoned status. - Performance characteristics when processing large Arabic corpora. - Compatibility with recent versions of the six dependency. ## Package facts - License: GPL (copyleft) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 152.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags arabic text processing, arabic letter classification, remove arabic diacritics, arabic tokenization, arabic string normalization, arabic nlp utilities, arabic character detection, arabic-nlp, text-processing, abandoned-but-stable [View on SkillFed](https://skillfed.io/packages/pyarabic) · [View on PyPI](https://pypi.org/project/pyarabic/)