quran-validator 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quran_validator-1.0.0/PKG-INFO +12 -0
- quran_validator-1.0.0/pyproject.toml +25 -0
- quran_validator-1.0.0/quran_validator/__init__.py +58 -0
- quran_validator-1.0.0/quran_validator/data/quran-surahs.min.json +1 -0
- quran_validator-1.0.0/quran_validator/data/quran-verses.min.json +1 -0
- quran_validator-1.0.0/quran_validator/llm_integration.py +541 -0
- quran_validator-1.0.0/quran_validator/normalizer.py +311 -0
- quran_validator-1.0.0/quran_validator/types.py +129 -0
- quran_validator-1.0.0/quran_validator/validator.py +395 -0
- quran_validator-1.0.0/quran_validator.egg-info/PKG-INFO +12 -0
- quran_validator-1.0.0/quran_validator.egg-info/SOURCES.txt +16 -0
- quran_validator-1.0.0/quran_validator.egg-info/dependency_links.txt +1 -0
- quran_validator-1.0.0/quran_validator.egg-info/requires.txt +3 -0
- quran_validator-1.0.0/quran_validator.egg-info/top_level.txt +1 -0
- quran_validator-1.0.0/setup.cfg +4 -0
- quran_validator-1.0.0/tests/test_llm_integration.py +72 -0
- quran_validator-1.0.0/tests/test_normalizer.py +104 -0
- quran_validator-1.0.0/tests/test_validator.py +346 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: quran-validator
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Validate and verify Quranic verses in LLM-generated text with high accuracy
|
|
5
|
+
Author: Yazin Alirhayim
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: quran,arabic,validation,llm,islamic
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Topic :: Text Processing :: Linguistic
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "quran-validator"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "Validate and verify Quranic verses in LLM-generated text with high accuracy"
|
|
9
|
+
requires-python = ">=3.10"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
authors = [{ name = "Yazin Alirhayim" }]
|
|
12
|
+
keywords = ["quran", "arabic", "validation", "llm", "islamic"]
|
|
13
|
+
classifiers = [
|
|
14
|
+
"Programming Language :: Python :: 3",
|
|
15
|
+
"Topic :: Text Processing :: Linguistic",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
[project.optional-dependencies]
|
|
19
|
+
dev = ["pytest>=7.0"]
|
|
20
|
+
|
|
21
|
+
[tool.setuptools.packages.find]
|
|
22
|
+
include = ["quran_validator*"]
|
|
23
|
+
|
|
24
|
+
[tool.setuptools.package-data]
|
|
25
|
+
quran_validator = ["data/*.json"]
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""quran-validator: Validate and verify Quranic verses in LLM-generated text."""
|
|
2
|
+
|
|
3
|
+
from .validator import QuranValidator, create_validator
|
|
4
|
+
from .llm_integration import (
|
|
5
|
+
LLMProcessor,
|
|
6
|
+
create_llm_processor,
|
|
7
|
+
quick_validate,
|
|
8
|
+
SYSTEM_PROMPTS,
|
|
9
|
+
)
|
|
10
|
+
from .normalizer import (
|
|
11
|
+
normalize_arabic,
|
|
12
|
+
remove_diacritics,
|
|
13
|
+
contains_arabic,
|
|
14
|
+
extract_arabic_segments,
|
|
15
|
+
calculate_similarity,
|
|
16
|
+
find_differences,
|
|
17
|
+
NormalizeOptions,
|
|
18
|
+
)
|
|
19
|
+
from .types import (
|
|
20
|
+
QuranVerse,
|
|
21
|
+
QuranSurah,
|
|
22
|
+
ValidationResult,
|
|
23
|
+
DetectionResult,
|
|
24
|
+
ValidatorOptions,
|
|
25
|
+
MatchType,
|
|
26
|
+
FabricationAnalysis,
|
|
27
|
+
WordAnalysis,
|
|
28
|
+
ProcessedOutput,
|
|
29
|
+
QuoteAnalysis,
|
|
30
|
+
LLMProcessorOptions,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
__all__ = [
|
|
34
|
+
"QuranValidator",
|
|
35
|
+
"create_validator",
|
|
36
|
+
"LLMProcessor",
|
|
37
|
+
"create_llm_processor",
|
|
38
|
+
"quick_validate",
|
|
39
|
+
"SYSTEM_PROMPTS",
|
|
40
|
+
"normalize_arabic",
|
|
41
|
+
"remove_diacritics",
|
|
42
|
+
"contains_arabic",
|
|
43
|
+
"extract_arabic_segments",
|
|
44
|
+
"calculate_similarity",
|
|
45
|
+
"find_differences",
|
|
46
|
+
"NormalizeOptions",
|
|
47
|
+
"QuranVerse",
|
|
48
|
+
"QuranSurah",
|
|
49
|
+
"ValidationResult",
|
|
50
|
+
"DetectionResult",
|
|
51
|
+
"ValidatorOptions",
|
|
52
|
+
"MatchType",
|
|
53
|
+
"FabricationAnalysis",
|
|
54
|
+
"WordAnalysis",
|
|
55
|
+
"ProcessedOutput",
|
|
56
|
+
"QuoteAnalysis",
|
|
57
|
+
"LLMProcessorOptions",
|
|
58
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"number":1,"name":"الفاتحة","englishName":"Al-Fatiha","revelationType":"Meccan","versesCount":7},{"number":2,"name":"البقرة","englishName":"Al-Baqara","revelationType":"Medinan","versesCount":286},{"number":3,"name":"آل عمران","englishName":"Aal-i-Imran","revelationType":"Medinan","versesCount":200},{"number":4,"name":"النساء","englishName":"An-Nisa","revelationType":"Medinan","versesCount":176},{"number":5,"name":"المائدة","englishName":"Al-Ma'ida","revelationType":"Medinan","versesCount":120},{"number":6,"name":"الأنعام","englishName":"Al-An'am","revelationType":"Meccan","versesCount":165},{"number":7,"name":"الأعراف","englishName":"Al-A'raf","revelationType":"Meccan","versesCount":206},{"number":8,"name":"الأنفال","englishName":"Al-Anfal","revelationType":"Medinan","versesCount":75},{"number":9,"name":"التوبة","englishName":"At-Tawba","revelationType":"Medinan","versesCount":129},{"number":10,"name":"يونس","englishName":"Yunus","revelationType":"Meccan","versesCount":109},{"number":11,"name":"هود","englishName":"Hud","revelationType":"Meccan","versesCount":123},{"number":12,"name":"يوسف","englishName":"Yusuf","revelationType":"Meccan","versesCount":111},{"number":13,"name":"الرعد","englishName":"Ar-Ra'd","revelationType":"Medinan","versesCount":43},{"number":14,"name":"إبراهيم","englishName":"Ibrahim","revelationType":"Meccan","versesCount":52},{"number":15,"name":"الحجر","englishName":"Al-Hijr","revelationType":"Meccan","versesCount":99},{"number":16,"name":"النحل","englishName":"An-Nahl","revelationType":"Meccan","versesCount":128},{"number":17,"name":"الإسراء","englishName":"Al-Isra","revelationType":"Meccan","versesCount":111},{"number":18,"name":"الكهف","englishName":"Al-Kahf","revelationType":"Meccan","versesCount":110},{"number":19,"name":"مريم","englishName":"Maryam","revelationType":"Meccan","versesCount":98},{"number":20,"name":"طه","englishName":"Ta-Ha","revelationType":"Meccan","versesCount":135},{"number":21,"name":"الأنبياء","englishName":"Al-Anbiya","revelationType":"Meccan","versesCount":112},{"number":22,"name":"الحج","englishName":"Al-Hajj","revelationType":"Medinan","versesCount":78},{"number":23,"name":"المؤمنون","englishName":"Al-Mu'minun","revelationType":"Meccan","versesCount":118},{"number":24,"name":"النور","englishName":"An-Nur","revelationType":"Medinan","versesCount":64},{"number":25,"name":"الفرقان","englishName":"Al-Furqan","revelationType":"Meccan","versesCount":77},{"number":26,"name":"الشعراء","englishName":"Ash-Shu'ara","revelationType":"Meccan","versesCount":227},{"number":27,"name":"النمل","englishName":"An-Naml","revelationType":"Meccan","versesCount":93},{"number":28,"name":"القصص","englishName":"Al-Qasas","revelationType":"Meccan","versesCount":88},{"number":29,"name":"العنكبوت","englishName":"Al-Ankabut","revelationType":"Meccan","versesCount":69},{"number":30,"name":"الروم","englishName":"Ar-Rum","revelationType":"Meccan","versesCount":60},{"number":31,"name":"لقمان","englishName":"Luqman","revelationType":"Meccan","versesCount":34},{"number":32,"name":"السجدة","englishName":"As-Sajda","revelationType":"Meccan","versesCount":30},{"number":33,"name":"الأحزاب","englishName":"Al-Ahzab","revelationType":"Medinan","versesCount":73},{"number":34,"name":"سبأ","englishName":"Saba","revelationType":"Meccan","versesCount":54},{"number":35,"name":"فاطر","englishName":"Fatir","revelationType":"Meccan","versesCount":45},{"number":36,"name":"يس","englishName":"Ya-Sin","revelationType":"Meccan","versesCount":83},{"number":37,"name":"الصافات","englishName":"As-Saffat","revelationType":"Meccan","versesCount":182},{"number":38,"name":"ص","englishName":"Sad","revelationType":"Meccan","versesCount":88},{"number":39,"name":"الزمر","englishName":"Az-Zumar","revelationType":"Meccan","versesCount":75},{"number":40,"name":"غافر","englishName":"Ghafir","revelationType":"Meccan","versesCount":85},{"number":41,"name":"فصلت","englishName":"Fussilat","revelationType":"Meccan","versesCount":54},{"number":42,"name":"الشورى","englishName":"Ash-Shura","revelationType":"Meccan","versesCount":53},{"number":43,"name":"الزخرف","englishName":"Az-Zukhruf","revelationType":"Meccan","versesCount":89},{"number":44,"name":"الدخان","englishName":"Ad-Dukhan","revelationType":"Meccan","versesCount":59},{"number":45,"name":"الجاثية","englishName":"Al-Jathiya","revelationType":"Meccan","versesCount":37},{"number":46,"name":"الأحقاف","englishName":"Al-Ahqaf","revelationType":"Meccan","versesCount":35},{"number":47,"name":"محمد","englishName":"Muhammad","revelationType":"Medinan","versesCount":38},{"number":48,"name":"الفتح","englishName":"Al-Fath","revelationType":"Medinan","versesCount":29},{"number":49,"name":"الحجرات","englishName":"Al-Hujurat","revelationType":"Medinan","versesCount":18},{"number":50,"name":"ق","englishName":"Qaf","revelationType":"Meccan","versesCount":45},{"number":51,"name":"الذاريات","englishName":"Adh-Dhariyat","revelationType":"Meccan","versesCount":60},{"number":52,"name":"الطور","englishName":"At-Tur","revelationType":"Meccan","versesCount":49},{"number":53,"name":"النجم","englishName":"An-Najm","revelationType":"Meccan","versesCount":62},{"number":54,"name":"القمر","englishName":"Al-Qamar","revelationType":"Meccan","versesCount":55},{"number":55,"name":"الرحمن","englishName":"Ar-Rahman","revelationType":"Medinan","versesCount":78},{"number":56,"name":"الواقعة","englishName":"Al-Waqi'a","revelationType":"Meccan","versesCount":96},{"number":57,"name":"الحديد","englishName":"Al-Hadid","revelationType":"Medinan","versesCount":29},{"number":58,"name":"المجادلة","englishName":"Al-Mujadila","revelationType":"Medinan","versesCount":22},{"number":59,"name":"الحشر","englishName":"Al-Hashr","revelationType":"Medinan","versesCount":24},{"number":60,"name":"الممتحنة","englishName":"Al-Mumtahina","revelationType":"Medinan","versesCount":13},{"number":61,"name":"الصف","englishName":"As-Saff","revelationType":"Medinan","versesCount":14},{"number":62,"name":"الجمعة","englishName":"Al-Jumu'a","revelationType":"Medinan","versesCount":11},{"number":63,"name":"المنافقون","englishName":"Al-Munafiqun","revelationType":"Medinan","versesCount":11},{"number":64,"name":"التغابن","englishName":"At-Taghabun","revelationType":"Medinan","versesCount":18},{"number":65,"name":"الطلاق","englishName":"At-Talaq","revelationType":"Medinan","versesCount":12},{"number":66,"name":"التحريم","englishName":"At-Tahrim","revelationType":"Medinan","versesCount":12},{"number":67,"name":"الملك","englishName":"Al-Mulk","revelationType":"Meccan","versesCount":30},{"number":68,"name":"القلم","englishName":"Al-Qalam","revelationType":"Meccan","versesCount":52},{"number":69,"name":"الحاقة","englishName":"Al-Haqqa","revelationType":"Meccan","versesCount":52},{"number":70,"name":"المعارج","englishName":"Al-Ma'arij","revelationType":"Meccan","versesCount":44},{"number":71,"name":"نوح","englishName":"Nuh","revelationType":"Meccan","versesCount":28},{"number":72,"name":"الجن","englishName":"Al-Jinn","revelationType":"Meccan","versesCount":28},{"number":73,"name":"المزمل","englishName":"Al-Muzzammil","revelationType":"Meccan","versesCount":20},{"number":74,"name":"المدثر","englishName":"Al-Muddaththir","revelationType":"Meccan","versesCount":56},{"number":75,"name":"القيامة","englishName":"Al-Qiyama","revelationType":"Meccan","versesCount":40},{"number":76,"name":"الإنسان","englishName":"Al-Insan","revelationType":"Medinan","versesCount":31},{"number":77,"name":"المرسلات","englishName":"Al-Mursalat","revelationType":"Meccan","versesCount":50},{"number":78,"name":"النبأ","englishName":"An-Naba","revelationType":"Meccan","versesCount":40},{"number":79,"name":"النازعات","englishName":"An-Nazi'at","revelationType":"Meccan","versesCount":46},{"number":80,"name":"عبس","englishName":"Abasa","revelationType":"Meccan","versesCount":42},{"number":81,"name":"التكوير","englishName":"At-Takwir","revelationType":"Meccan","versesCount":29},{"number":82,"name":"الانفطار","englishName":"Al-Infitar","revelationType":"Meccan","versesCount":19},{"number":83,"name":"المطففين","englishName":"Al-Mutaffifin","revelationType":"Meccan","versesCount":36},{"number":84,"name":"الانشقاق","englishName":"Al-Inshiqaq","revelationType":"Meccan","versesCount":25},{"number":85,"name":"البروج","englishName":"Al-Buruj","revelationType":"Meccan","versesCount":22},{"number":86,"name":"الطارق","englishName":"At-Tariq","revelationType":"Meccan","versesCount":17},{"number":87,"name":"الأعلى","englishName":"Al-A'la","revelationType":"Meccan","versesCount":19},{"number":88,"name":"الغاشية","englishName":"Al-Ghashiya","revelationType":"Meccan","versesCount":26},{"number":89,"name":"الفجر","englishName":"Al-Fajr","revelationType":"Meccan","versesCount":30},{"number":90,"name":"البلد","englishName":"Al-Balad","revelationType":"Meccan","versesCount":20},{"number":91,"name":"الشمس","englishName":"Ash-Shams","revelationType":"Meccan","versesCount":15},{"number":92,"name":"الليل","englishName":"Al-Layl","revelationType":"Meccan","versesCount":21},{"number":93,"name":"الضحى","englishName":"Ad-Duha","revelationType":"Meccan","versesCount":11},{"number":94,"name":"الشرح","englishName":"Ash-Sharh","revelationType":"Meccan","versesCount":8},{"number":95,"name":"التين","englishName":"At-Tin","revelationType":"Meccan","versesCount":8},{"number":96,"name":"العلق","englishName":"Al-Alaq","revelationType":"Meccan","versesCount":19},{"number":97,"name":"القدر","englishName":"Al-Qadr","revelationType":"Meccan","versesCount":5},{"number":98,"name":"البينة","englishName":"Al-Bayyina","revelationType":"Medinan","versesCount":8},{"number":99,"name":"الزلزلة","englishName":"Az-Zalzala","revelationType":"Medinan","versesCount":8},{"number":100,"name":"العاديات","englishName":"Al-Adiyat","revelationType":"Meccan","versesCount":11},{"number":101,"name":"القارعة","englishName":"Al-Qari'a","revelationType":"Meccan","versesCount":11},{"number":102,"name":"التكاثر","englishName":"At-Takathur","revelationType":"Meccan","versesCount":8},{"number":103,"name":"العصر","englishName":"Al-Asr","revelationType":"Meccan","versesCount":3},{"number":104,"name":"الهمزة","englishName":"Al-Humaza","revelationType":"Meccan","versesCount":9},{"number":105,"name":"الفيل","englishName":"Al-Fil","revelationType":"Meccan","versesCount":5},{"number":106,"name":"قريش","englishName":"Quraysh","revelationType":"Meccan","versesCount":4},{"number":107,"name":"الماعون","englishName":"Al-Ma'un","revelationType":"Meccan","versesCount":7},{"number":108,"name":"الكوثر","englishName":"Al-Kawthar","revelationType":"Meccan","versesCount":3},{"number":109,"name":"الكافرون","englishName":"Al-Kafirun","revelationType":"Meccan","versesCount":6},{"number":110,"name":"النصر","englishName":"An-Nasr","revelationType":"Medinan","versesCount":3},{"number":111,"name":"المسد","englishName":"Al-Masad","revelationType":"Meccan","versesCount":5},{"number":112,"name":"الإخلاص","englishName":"Al-Ikhlas","revelationType":"Meccan","versesCount":4},{"number":113,"name":"الفلق","englishName":"Al-Falaq","revelationType":"Meccan","versesCount":5},{"number":114,"name":"الناس","englishName":"An-Nas","revelationType":"Meccan","versesCount":6}]
|