

[](https://badge.fury.io/py/anltk)
[](https://www.boost.org/LICENSE_1_0.txt)
[](https://pepy.tech/project/anltk)
# Arabic Natural Language Toolkit (ANLTK)
ANLTK is a set of Arabic natural language processing tools. developed with focus on simplicity and performance.
## ANLTK is a C++ library, with python bindings
## Installation
for python :
```
pip install anltk
```
## Building
Note: Currently only tested on Linux, prebuilt python wheels are available for Linux, Windows, Macos on [pypi](https://pypi.org/project/anltk/)
### Dependencies
* [utfcpp](https://github.com/nemtrif/utfcpp.git), automatically downloaded.
* [utf8proc](https://github.com/JuliaStrings/utf8proc), automatically downloaded.
* C++ Compiler that supports c++17.
* Python3, [meson](https://mesonbuild.com/), [ninja](https://ninja-build.org/)
* [Task](https://taskfile.dev/) (optional, for simplified build commands)
### Building C++ Library
```bash
git clone https://github.com/Abdullah-AlAttar/anltk.git
cd anltk/
# Using taskfile (recommended)
task configure
task build
task test
# Or manually with meson
meson build --buildtype=release -Dbuild_tests=false
cd build
ninja
```
### Building Python Bindings
```bash
# Complete setup (creates venv, installs deps, builds package)
task py:setup
# Or step by step:
task py:venv # Create virtual environment
task py:deps # Install build dependencies
task py:install # Install in development mode
# Test the installation
task py:test # Run quick tests
# Build wheel for distribution
task py:wheel # Build wheel package
# Clean build artifacts
task clean # Clean all build artifacts
```
### Manual Python Build (without taskfile)
```bash
python3 -m venv .venv
.venv/bin/pip install --upgrade pip meson-python build pybind11 ninja patchelf
.venv/bin/pip install -e .
```
## Usage Examples
### C++ API
```c++
#include "anltk/anltk.hpp"
#include <iostream>
#include <string>
int main()
{
std::string ar_text = "أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ";
std::cout << anltk::transliterate(ar_text, anltk::CharMapping::AR2BW) << '\n';
// >bjd hwz HTy klmn sEfS qr$t vx* DZg
std::string text = "فَرَاشَةٌ مُلَوَّنَةٌ تَطِيْرُ في البُسْتَانِ، حُلْوَةٌ مُهَنْدَمَةٌ تُدْهِشُ الإِنْسَانَ.";
std::cout << anltk::remove_tashkeel(text) << '\n';
// فراشة ملونة تطير في البستان، حلوة مهندمة تدهش الإنسان.
// Third paramters is a stop_list, charactres in this list won't be removed
std::cout << anltk::remove_non_alpha(text, " ") << '\n';
// فراشة ملونة تطير في البستان حلوة مهندمة تدهش الإنسان
anltk::TafqitOptions opts;
std::cout<< anltk::tafqit(15000120, opts) <<'\n';
// خمسة عشر مليونًا ومائة وعشرون
}
```
### Python API
```python
import anltk
ar = "أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ"
bw = anltk.transliterate(ar, anltk.AR2BW)
print(bw)
# >bjd hwz HTy klmn sEfS qr$t vx* DZg
print(anltk.remove_tashkeel("فَرَاشَةٌ مُلَوَّنَةٌ تَطِيْرُ في البُسْتَانِ، حُلْوَةٌ مُهَنْدَمَةٌ تُدْهِشُ الإِنْسَانَ."))
# فراشة ملونة تطير في البستان، حلوة مهندمة تدهش الإنسان.
print(anltk.tafqit(15000120))
# خمسة عشر مليونًا ومائة وعشرون
```
**For list of features see [Features.md](Features.md)**
## Benchmarks
Processing a file containing 500000 Line, 6787731 Word, 112704541 Character. the task is to remove diacritics / transliterate to buckwalter
### **Buckwatler transliteration**
| Method | Time | | |
|------------------|---------------|---|---|
| anltk python-api | 1.379 seconds | | |
| python [camel_tools](https://github.com/CAMeL-Lab/camel_tools) | 11.46 seconds | | |
### **Remove Diacritics**
| Method | Time | | |
|------------------|---------------|---|---|
| anltk python-api | 0.989 seconds | | |
| python [camel_tools](https://github.com/CAMeL-Lab/camel_tools) | 4.892 seconds | | |
Raw data
{
"_id": null,
"home_page": null,
"name": "anltk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "NLP, Arabic, python, arabic, c++",
"author": null,
"author_email": "Abdullah Alattar <abdullah.mohammad.alattar@gmail.com>",
"download_url": null,
"platform": null,
"description": "\n\n[](https://badge.fury.io/py/anltk)\n[](https://www.boost.org/LICENSE_1_0.txt)\n[](https://pepy.tech/project/anltk)\n\n# Arabic Natural Language Toolkit (ANLTK)\n\nANLTK is a set of Arabic natural language processing tools. developed with focus on simplicity and performance.\n\n## ANLTK is a C++ library, with python bindings\n\n## Installation\n\nfor python :\n\n```\npip install anltk\n```\n\n## Building\n\nNote: Currently only tested on Linux, prebuilt python wheels are available for Linux, Windows, Macos on [pypi](https://pypi.org/project/anltk/)\n\n### Dependencies\n\n* [utfcpp](https://github.com/nemtrif/utfcpp.git), automatically downloaded.\n* [utf8proc](https://github.com/JuliaStrings/utf8proc), automatically downloaded.\n* C++ Compiler that supports c++17.\n* Python3, [meson](https://mesonbuild.com/), [ninja](https://ninja-build.org/)\n* [Task](https://taskfile.dev/) (optional, for simplified build commands)\n\n### Building C++ Library\n\n```bash\ngit clone https://github.com/Abdullah-AlAttar/anltk.git\ncd anltk/\n\n# Using taskfile (recommended)\ntask configure\ntask build\ntask test\n\n# Or manually with meson\nmeson build --buildtype=release -Dbuild_tests=false\ncd build\nninja\n```\n\n### Building Python Bindings\n\n```bash\n# Complete setup (creates venv, installs deps, builds package)\ntask py:setup\n\n# Or step by step:\ntask py:venv # Create virtual environment\ntask py:deps # Install build dependencies\ntask py:install # Install in development mode\n\n# Test the installation\ntask py:test # Run quick tests\n\n# Build wheel for distribution\ntask py:wheel # Build wheel package\n\n# Clean build artifacts\ntask clean # Clean all build artifacts\n```\n\n### Manual Python Build (without taskfile)\n\n```bash\npython3 -m venv .venv\n.venv/bin/pip install --upgrade pip meson-python build pybind11 ninja patchelf\n.venv/bin/pip install -e .\n```\n\n## Usage Examples\n\n### C++ API\n\n```c++\n#include \"anltk/anltk.hpp\"\n#include <iostream>\n#include <string>\n\nint main()\n{\n\n std::string ar_text = \"\u0623\u0628\u062c\u062f \u0647\u0648\u0632 \u062d\u0637\u064a \u0643\u0644\u0645\u0646 \u0633\u0639\u0641\u0635 \u0642\u0631\u0634\u062a \u062b\u062e\u0630 \u0636\u0638\u063a\";\n\n std::cout << anltk::transliterate(ar_text, anltk::CharMapping::AR2BW) << '\\n';\n // >bjd hwz HTy klmn sEfS qr$t vx* DZg\n\n std::string text = \"\u0641\u064e\u0631\u064e\u0627\u0634\u064e\u0629\u064c \u0645\u064f\u0644\u064e\u0648\u0651\u064e\u0646\u064e\u0629\u064c \u062a\u064e\u0637\u0650\u064a\u0652\u0631\u064f \u0641\u064a \u0627\u0644\u0628\u064f\u0633\u0652\u062a\u064e\u0627\u0646\u0650\u060c \u062d\u064f\u0644\u0652\u0648\u064e\u0629\u064c \u0645\u064f\u0647\u064e\u0646\u0652\u062f\u064e\u0645\u064e\u0629\u064c \u062a\u064f\u062f\u0652\u0647\u0650\u0634\u064f \u0627\u0644\u0625\u0650\u0646\u0652\u0633\u064e\u0627\u0646\u064e.\";\n\n std::cout << anltk::remove_tashkeel(text) << '\\n';\n // \u0641\u0631\u0627\u0634\u0629 \u0645\u0644\u0648\u0646\u0629 \u062a\u0637\u064a\u0631 \u0641\u064a \u0627\u0644\u0628\u0633\u062a\u0627\u0646\u060c \u062d\u0644\u0648\u0629 \u0645\u0647\u0646\u062f\u0645\u0629 \u062a\u062f\u0647\u0634 \u0627\u0644\u0625\u0646\u0633\u0627\u0646.\n\n // Third paramters is a stop_list, charactres in this list won't be removed\n std::cout << anltk::remove_non_alpha(text, \" \") << '\\n';\n // \u0641\u0631\u0627\u0634\u0629 \u0645\u0644\u0648\u0646\u0629 \u062a\u0637\u064a\u0631 \u0641\u064a \u0627\u0644\u0628\u0633\u062a\u0627\u0646 \u062d\u0644\u0648\u0629 \u0645\u0647\u0646\u062f\u0645\u0629 \u062a\u062f\u0647\u0634 \u0627\u0644\u0625\u0646\u0633\u0627\u0646\n\n anltk::TafqitOptions opts;\n std::cout<< anltk::tafqit(15000120, opts) <<'\\n';\n // \u062e\u0645\u0633\u0629 \u0639\u0634\u0631 \u0645\u0644\u064a\u0648\u0646\u064b\u0627 \u0648\u0645\u0627\u0626\u0629 \u0648\u0639\u0634\u0631\u0648\u0646\n}\n\n```\n\n### Python API\n\n```python\nimport anltk\n\n\nar = \"\u0623\u0628\u062c\u062f \u0647\u0648\u0632 \u062d\u0637\u064a \u0643\u0644\u0645\u0646 \u0633\u0639\u0641\u0635 \u0642\u0631\u0634\u062a \u062b\u062e\u0630 \u0636\u0638\u063a\"\nbw = anltk.transliterate(ar, anltk.AR2BW)\nprint(bw)\n# >bjd hwz HTy klmn sEfS qr$t vx* DZg\n\nprint(anltk.remove_tashkeel(\"\u0641\u064e\u0631\u064e\u0627\u0634\u064e\u0629\u064c \u0645\u064f\u0644\u064e\u0648\u0651\u064e\u0646\u064e\u0629\u064c \u062a\u064e\u0637\u0650\u064a\u0652\u0631\u064f \u0641\u064a \u0627\u0644\u0628\u064f\u0633\u0652\u062a\u064e\u0627\u0646\u0650\u060c \u062d\u064f\u0644\u0652\u0648\u064e\u0629\u064c \u0645\u064f\u0647\u064e\u0646\u0652\u062f\u064e\u0645\u064e\u0629\u064c \u062a\u064f\u062f\u0652\u0647\u0650\u0634\u064f \u0627\u0644\u0625\u0650\u0646\u0652\u0633\u064e\u0627\u0646\u064e.\"))\n\n# \u0641\u0631\u0627\u0634\u0629 \u0645\u0644\u0648\u0646\u0629 \u062a\u0637\u064a\u0631 \u0641\u064a \u0627\u0644\u0628\u0633\u062a\u0627\u0646\u060c \u062d\u0644\u0648\u0629 \u0645\u0647\u0646\u062f\u0645\u0629 \u062a\u062f\u0647\u0634 \u0627\u0644\u0625\u0646\u0633\u0627\u0646.\n\nprint(anltk.tafqit(15000120))\n# \u062e\u0645\u0633\u0629 \u0639\u0634\u0631 \u0645\u0644\u064a\u0648\u0646\u064b\u0627 \u0648\u0645\u0627\u0626\u0629 \u0648\u0639\u0634\u0631\u0648\u0646\n```\n\n**For list of features see [Features.md](Features.md)**\n\n## Benchmarks\n\nProcessing a file containing 500000 Line, 6787731 Word, 112704541 Character. the task is to remove diacritics / transliterate to buckwalter\n\n### **Buckwatler transliteration**\n\n| Method | Time | | |\n|------------------|---------------|---|---|\n| anltk python-api | 1.379 seconds | | |\n| python [camel_tools](https://github.com/CAMeL-Lab/camel_tools) | 11.46 seconds | | |\n\n### **Remove Diacritics**\n\n| Method | Time | | |\n|------------------|---------------|---|---|\n| anltk python-api | 0.989 seconds | | |\n| python [camel_tools](https://github.com/CAMeL-Lab/camel_tools) | 4.892 seconds | | |\n",
"bugtrack_url": null,
"license": "Boost Software License 1.0",
"summary": "Arabic Natural Language Toolkit (ANLTK)",
"version": "1.0.8",
"project_urls": {
"Bug Tracker": "https://github.com/Abdullah-AlAttar/anltk/issues",
"Homepage": "https://github.com/Abdullah-AlAttar/anltk",
"Source": "https://github.com/Abdullah-AlAttar/anltk"
},
"split_keywords": [
"nlp",
" arabic",
" python",
" arabic",
" c++"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6b1b63c6363a8937c0146349589d71e5c2344b8d81d97612f22625049835ef76",
"md5": "a1e534326523bf8edf8ef8baf001f8d2",
"sha256": "b1b2c7b01da6d6244a9fde5bb5642aadd454a3e0510d8a9bd03482af85fd379f"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a1e534326523bf8edf8ef8baf001f8d2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 251333,
"upload_time": "2025-11-09T13:35:17",
"upload_time_iso_8601": "2025-11-09T13:35:17.592742Z",
"url": "https://files.pythonhosted.org/packages/6b/1b/63c6363a8937c0146349589d71e5c2344b8d81d97612f22625049835ef76/anltk-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3ef782f0032f63e7c2d76a89cd62933ed2c418db35e73e596ac2fe83a82a5d03",
"md5": "01e943368ef87db0d0399f7680193cca",
"sha256": "5f6d6caa92ea8d2062719d13b2f515bef169b8f6a706fc38c47d00a42195a6a3"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "01e943368ef87db0d0399f7680193cca",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 274120,
"upload_time": "2025-11-09T13:35:19",
"upload_time_iso_8601": "2025-11-09T13:35:19.814374Z",
"url": "https://files.pythonhosted.org/packages/3e/f7/82f0032f63e7c2d76a89cd62933ed2c418db35e73e596ac2fe83a82a5d03/anltk-1.0.8-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e2f2c90c7fd8b1b6b25a9f9b7195cf3d0da11c590c0ba8e0608c604a97c9d8b1",
"md5": "2f9b367ab042f12e6c6b9ccaada1cbaa",
"sha256": "be502b1db75d96817572891bdde663ed6e26dafee9e77b5658b1a6deae46f6ba"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "2f9b367ab042f12e6c6b9ccaada1cbaa",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 1187164,
"upload_time": "2025-11-09T13:35:21",
"upload_time_iso_8601": "2025-11-09T13:35:21.722609Z",
"url": "https://files.pythonhosted.org/packages/e2/f2/c90c7fd8b1b6b25a9f9b7195cf3d0da11c590c0ba8e0608c604a97c9d8b1/anltk-1.0.8-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "31ba3622e06617ff80df288880c689bb0dd8b59c70e514fcd736201313cf2865",
"md5": "0e78c831b6d1ea99170d870c6d4d2999",
"sha256": "6ed7ebb4c9b86251be69e58e3f2f35e27477ac6a8d5ba58f06e023ca2124f645"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "0e78c831b6d1ea99170d870c6d4d2999",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 252927,
"upload_time": "2025-11-09T13:35:23",
"upload_time_iso_8601": "2025-11-09T13:35:23.436714Z",
"url": "https://files.pythonhosted.org/packages/31/ba/3622e06617ff80df288880c689bb0dd8b59c70e514fcd736201313cf2865/anltk-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5adea744df5556caafcfd0079b2dfe02fbff0d109188d7e9c0762e8134bc3916",
"md5": "bb878c170d7c6e25f2d1de50ff9c03f0",
"sha256": "8385adfe365cdfd53b4808b9743a85ecbff56fdf614e52231b77d3ea3ff6b57c"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "bb878c170d7c6e25f2d1de50ff9c03f0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 275594,
"upload_time": "2025-11-09T13:35:25",
"upload_time_iso_8601": "2025-11-09T13:35:25.292627Z",
"url": "https://files.pythonhosted.org/packages/5a/de/a744df5556caafcfd0079b2dfe02fbff0d109188d7e9c0762e8134bc3916/anltk-1.0.8-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5599600db229ce16cc99e090b6c575ccd80617985921e7bad427b5bacd1d6b07",
"md5": "1a531ccde4d7e43bb013788ba4b9bfa4",
"sha256": "0bf05c32fda9b8ef72fecec6de483e34eab934f593792601a4813fc759c5a0f8"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "1a531ccde4d7e43bb013788ba4b9bfa4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 1188517,
"upload_time": "2025-11-09T13:35:27",
"upload_time_iso_8601": "2025-11-09T13:35:27.115253Z",
"url": "https://files.pythonhosted.org/packages/55/99/600db229ce16cc99e090b6c575ccd80617985921e7bad427b5bacd1d6b07/anltk-1.0.8-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3f9e01c9f3b6e6dd204c1d8d4815c591599badc0a82a606f3b725f3647e54bb4",
"md5": "c21da18561e65407ee6e888e95be7977",
"sha256": "39743e8cff0823d856fcb9b5255fa0dcffed9c4eff91e507bc63fd16dc5a0050"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "c21da18561e65407ee6e888e95be7977",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 257751,
"upload_time": "2025-11-09T13:35:28",
"upload_time_iso_8601": "2025-11-09T13:35:28.877992Z",
"url": "https://files.pythonhosted.org/packages/3f/9e/01c9f3b6e6dd204c1d8d4815c591599badc0a82a606f3b725f3647e54bb4/anltk-1.0.8-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8af8c4a66ea8d38df96d0aa0ca9d71982079bcddcb0b9fa3bdd88190f6f6a6a9",
"md5": "340dae81905fb3c699ee29af2ade8b4e",
"sha256": "6ebf6b45d8c435c91cf4d9c3851e89cf2c14827d14a72e58fca4a1cecb4284c5"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "340dae81905fb3c699ee29af2ade8b4e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 276956,
"upload_time": "2025-11-09T13:35:30",
"upload_time_iso_8601": "2025-11-09T13:35:30.274892Z",
"url": "https://files.pythonhosted.org/packages/8a/f8/c4a66ea8d38df96d0aa0ca9d71982079bcddcb0b9fa3bdd88190f6f6a6a9/anltk-1.0.8-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cb888489baf35a6474ea4755927b0633432f26cb7fe779ba07f4607fb36426c5",
"md5": "19b09d022496c8e50ba3b67c61c9a192",
"sha256": "f02fb704956a70dcfac9cb2ed23fa0569c0e4db163e5c2b86e78ee427dfd3b75"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "19b09d022496c8e50ba3b67c61c9a192",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 1189525,
"upload_time": "2025-11-09T13:35:32",
"upload_time_iso_8601": "2025-11-09T13:35:32.137927Z",
"url": "https://files.pythonhosted.org/packages/cb/88/8489baf35a6474ea4755927b0633432f26cb7fe779ba07f4607fb36426c5/anltk-1.0.8-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6895f4b2b72599f4d5f8c76ca3713b39334804091d704d5d87dc51fd69a35888",
"md5": "b3e63d9fd0f9bbb76fbfa35d024d7d6a",
"sha256": "29a7d69305c2252a2442e644a85e212e0aa21326a81b50ec4c8d374f65ca6fc2"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "b3e63d9fd0f9bbb76fbfa35d024d7d6a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 257847,
"upload_time": "2025-11-09T13:35:33",
"upload_time_iso_8601": "2025-11-09T13:35:33.927165Z",
"url": "https://files.pythonhosted.org/packages/68/95/f4b2b72599f4d5f8c76ca3713b39334804091d704d5d87dc51fd69a35888/anltk-1.0.8-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b3fe6ada7265c094d85d1779c17e8fb389bac30f989c4992e217397833975b9e",
"md5": "0bb31110d95331373a887b652a6bebc4",
"sha256": "c8885a2348b18bb8cfa834d6b77f054ebb9d9a771ea7393793d950b8d3a6e35c"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "0bb31110d95331373a887b652a6bebc4",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 276472,
"upload_time": "2025-11-09T13:35:35",
"upload_time_iso_8601": "2025-11-09T13:35:35.124877Z",
"url": "https://files.pythonhosted.org/packages/b3/fe/6ada7265c094d85d1779c17e8fb389bac30f989c4992e217397833975b9e/anltk-1.0.8-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "99d0ae3bbb5fdfaa3a2149b92409b151496c4e46803d92cfb6ea0c28c39654e0",
"md5": "29b466105370cb4fb312f91c18b0c7fb",
"sha256": "4c7e5f68ba5ad2bb1e99e63c6506faf2145ed52f2296d7a26d859daab633ee55"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "29b466105370cb4fb312f91c18b0c7fb",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 1189375,
"upload_time": "2025-11-09T13:35:36",
"upload_time_iso_8601": "2025-11-09T13:35:36.939223Z",
"url": "https://files.pythonhosted.org/packages/99/d0/ae3bbb5fdfaa3a2149b92409b151496c4e46803d92cfb6ea0c28c39654e0/anltk-1.0.8-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "01743521736f6ae38bb7e1309c1046a917148f2d364fcac9fa315b95d721d4a5",
"md5": "8b03f76d3429dd5f745020a33bd6d838",
"sha256": "55072bd48f9e4230e246d80c46b5768bd28e4c611ea7823a2f937a8d8e27d956"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp314-cp314-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "8b03f76d3429dd5f745020a33bd6d838",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": ">=3.7",
"size": 256682,
"upload_time": "2025-11-09T13:35:38",
"upload_time_iso_8601": "2025-11-09T13:35:38.340816Z",
"url": "https://files.pythonhosted.org/packages/01/74/3521736f6ae38bb7e1309c1046a917148f2d364fcac9fa315b95d721d4a5/anltk-1.0.8-cp314-cp314-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cf92960f7ab0575fc206e384fc5c48d5a60d8c78c76c3f1137f9c6d43f67060d",
"md5": "d50dc0477d9f7bf2fdf32c367440b680",
"sha256": "a919b1b4ef0815b04c01e9f85631d6d52091c923c215810be2734529b614701f"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "d50dc0477d9f7bf2fdf32c367440b680",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": ">=3.7",
"size": 276986,
"upload_time": "2025-11-09T13:35:40",
"upload_time_iso_8601": "2025-11-09T13:35:40.124624Z",
"url": "https://files.pythonhosted.org/packages/cf/92/960f7ab0575fc206e384fc5c48d5a60d8c78c76c3f1137f9c6d43f67060d/anltk-1.0.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ab718953baebb8a03a334a6b36e0bb8f24c8befeacadcfb1d6f92770b410da87",
"md5": "04329b63c447dcd46b9e70d3b35b7dbc",
"sha256": "661563b6096fd085afbed55fca86a6562479c3f56e3deb2bbd8e4a08c602ab49"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp314-cp314-win_amd64.whl",
"has_sig": false,
"md5_digest": "04329b63c447dcd46b9e70d3b35b7dbc",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": ">=3.7",
"size": 1235190,
"upload_time": "2025-11-09T13:35:41",
"upload_time_iso_8601": "2025-11-09T13:35:41.948155Z",
"url": "https://files.pythonhosted.org/packages/ab/71/8953baebb8a03a334a6b36e0bb8f24c8befeacadcfb1d6f92770b410da87/anltk-1.0.8-cp314-cp314-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "57455c52b8d3a0025ccfea70540ff84dbd671e1c94b027331203908f8a140417",
"md5": "d4c7d08e85ccea65609f565a32470b8b",
"sha256": "9576300c09487572618855c95cef981d38a3f489cd9e10c5ba636b92f37f902c"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "d4c7d08e85ccea65609f565a32470b8b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 251666,
"upload_time": "2025-11-09T13:35:43",
"upload_time_iso_8601": "2025-11-09T13:35:43.895590Z",
"url": "https://files.pythonhosted.org/packages/57/45/5c52b8d3a0025ccfea70540ff84dbd671e1c94b027331203908f8a140417/anltk-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ae509f3822c82d9e4e1ef7ffb523c5178e662013d833eaa734e3be2e8e352abb",
"md5": "857e9d2d4ed2a7117030af6685c46a5a",
"sha256": "36929c2637f938a81285d790bba901a62ff469b1eca61cd31a527b91a5c62329"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "857e9d2d4ed2a7117030af6685c46a5a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 274938,
"upload_time": "2025-11-09T13:35:45",
"upload_time_iso_8601": "2025-11-09T13:35:45.073203Z",
"url": "https://files.pythonhosted.org/packages/ae/50/9f3822c82d9e4e1ef7ffb523c5178e662013d833eaa734e3be2e8e352abb/anltk-1.0.8-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "078c814929096092ca44559de998b31f006936cb0fc6a51da8a6cd4b663ace47",
"md5": "1bdb488300838269d8d567dcce82b4b0",
"sha256": "cc2557ca82ae0792c5949ebb4c0bb6b3ce0de1951f1e089654fd44bffc09d830"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "1bdb488300838269d8d567dcce82b4b0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 1188204,
"upload_time": "2025-11-09T13:35:46",
"upload_time_iso_8601": "2025-11-09T13:35:46.713307Z",
"url": "https://files.pythonhosted.org/packages/07/8c/814929096092ca44559de998b31f006936cb0fc6a51da8a6cd4b663ace47/anltk-1.0.8-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "965b8349019a7687d2ec3e7f0cebb8f4b82fd8235c33f077c282dbd974796e22",
"md5": "10ebd26cde2e6baced178c1c50f0e630",
"sha256": "570bd76078c6c059eb52be3f76864982d2baabfbed0ac030a7c1ccfdef160eac"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "10ebd26cde2e6baced178c1c50f0e630",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 251546,
"upload_time": "2025-11-09T13:35:48",
"upload_time_iso_8601": "2025-11-09T13:35:48.092795Z",
"url": "https://files.pythonhosted.org/packages/96/5b/8349019a7687d2ec3e7f0cebb8f4b82fd8235c33f077c282dbd974796e22/anltk-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4689ed747557ca08b8ad9b9ac4e1e09d5f7c8804829b061882e14e3f33c5d844",
"md5": "cf5f19e70b094e969c64c7ac4a00241c",
"sha256": "7087a0847fc77c2db8cea95f93fb72b245da7fb2caf4257dd271ae27d93c187e"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "cf5f19e70b094e969c64c7ac4a00241c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 274151,
"upload_time": "2025-11-09T13:35:49",
"upload_time_iso_8601": "2025-11-09T13:35:49.365692Z",
"url": "https://files.pythonhosted.org/packages/46/89/ed747557ca08b8ad9b9ac4e1e09d5f7c8804829b061882e14e3f33c5d844/anltk-1.0.8-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7a4676908bce51a63ec8318cdd1cc3537237dde3e4c5eabb9bab89ca5b751d0c",
"md5": "51a566a70a167bdb05d54df73fcb2631",
"sha256": "db715c27aa99d190f9457f4f3dac89a439f97751e90936de1b5b30fcf6a94c1d"
},
"downloads": -1,
"filename": "anltk-1.0.8-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "51a566a70a167bdb05d54df73fcb2631",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 1188372,
"upload_time": "2025-11-09T13:35:51",
"upload_time_iso_8601": "2025-11-09T13:35:51.045116Z",
"url": "https://files.pythonhosted.org/packages/7a/46/76908bce51a63ec8318cdd1cc3537237dde3e4c5eabb9bab89ca5b751d0c/anltk-1.0.8-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-09 13:35:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Abdullah-AlAttar",
"github_project": "anltk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pybind11",
"specs": [
[
"==",
"2.9.2"
]
]
}
],
"lcname": "anltk"
}