"الختمة" مكتبة إسلامية ناشئة مفتوحة المصدر بلغة البايثون

“الختمة” مكتبة إسلامية ناشئة مفتوحة المصدر بلغة البايثون

الختمة هي مكتبة متخصصة بالمتعلقات أو الملحقات الإسلامية(كالقرآن الكريم، الأحاديث، الأذكار، إلخ…).
تحتوي هذه المكتبة حاليًا على حزمتين:

  • حزمة القرآن الكريم:.
    • استخراج جميع الأيات القرآنية وكاقة معلوماتها.
    • إمكانية البحث عن الأيات الكريمة.
    • إمكانية تحميل صور صفحات القرآن الكريم.
    • المكتبة مزودة بعدّة لغات. ومنها:
      • اللغة الإنجليزية
      • اللغة الصينية
      • اللغة التركية
      • اللغة الروسية
      • وغيرها …
  • حزمة تختيم القرآن الكريم.
    • كتابة عدد أيام التختيم، وإعطاء الخطة المناسبة لذلك بالتفاصيل

لماذا الختمة؟

الختمة أتّت لتوحيد جميع المتعلقات الإسلامية في مكان واحد، ويكون سهل الاستخدام. خلال الفترة السابقة (قبل تطويري لختمة) رأيت أن جميع المتعلقات الإسلامية مشتتة ولا يوجد مصدر واحد يجمع هذه المتعلقات والتعامل معه.

بعض من قدرات المكتبة

لنأخذ مثلًا سورة الفاتحة، نريد أن نستدعيها نكتب الأمر التالي(عند كتابة الأمر، وضعنا متغير أسمه sura عدد العناصر في المتغير سيكون مساوي لإجمالي عدد الأيات في السورة. بمعنى آخر سورة الفاتحة عدد أياتها مع البسملة 7 أيات، لذا فإن عدد العناصر داخل متغير sura هي 7، وكل عنصر يحتوي على معلومات مفصلة عن الأية):

>>> from AL_Khatma.quran import Quran # تقوم هنا بأستدعاء المكتبة
>>> quran = Quran() # أستدعاء للكائن
>>> sura  = quran.show_block_aya(1, []) # أمر أستدعاء السورة بناءًا على ترتيبها في الفهرس مع كافة أياتها ومعلوماتها
>>> sura
([{'ID': 1, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 1, 'line_start': 2, 'line_end': 2, 'verses_text': 'بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'بسم الله الرحمن الرحيم', 'verses_text_english': 'In the name of Allah, the Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Bismi Allahi alrrahmani alrraheemi'}, {'ID': 2, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 2, 'line_start': 3, 'line_end': 3, 'verses_text': 'ٱلۡحَمۡدُ لِلَّهِ رَبِّ ٱلۡعَٰلَمِينَ', 'verses_text_without_diacritical': 'الحمد لله رب العالمين', 'verses_text_english': '[All] praise is [due] to Allah, Lord of the worlds', 'verses_text_transliteration': 'Alhamdu lillahi rabbi alAAalameena'}, {'ID': 3, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 3, 'line_start': 4, 'line_end': 4, 'verses_text': 'ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'الرحمن الرحيم', 'verses_text_english': 'The Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Alrrahmani alrraheemi'}, {'ID': 4, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 4, 'line_start': 4, 'line_end': 4, 'verses_text': 'مَٰلِكِ يَوۡمِ ٱلدِّينِ', 'verses_text_without_diacritical': 'مالك يوم الدين', 'verses_text_english': 'Sovereign of the Day of Recompense', 'verses_text_transliteration': 'Maliki yawmi alddeeni'}, {'ID': 5, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 5, 'line_start': 5, 'line_end': 5, 'verses_text': 'إِيَّاكَ نَعۡبُدُ وَإِيَّاكَ نَسۡتَعِينُ', 'verses_text_without_diacritical': 'إياك نعبد وإياك نستعين', 'verses_text_english': 'It is You we worship and You we ask for help', 'verses_text_transliteration': 'Iyyaka naAAbudu waiyyaka nastaAAeenu'}, {'ID': 6, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 6, 'line_start': 5, 'line_end': 6, 'verses_text': 'ٱهۡدِنَا ٱلصِّرَٰطَ ٱلۡمُسۡتَقِيمَ', 'verses_text_without_diacritical': 'اهدنا الصراط المستقيم', 'verses_text_english': 'Guide us to the straight path', 'verses_text_transliteration': 'Ihdina alssirata almustaqeema'}, {'ID': 7, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 7, 'line_start': 6, 'line_end': 8, 'verses_text': 'صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ وَلَا ٱلضَّآلِّينَ', 'verses_text_without_diacritical': 'صراط الذين أنعمت عليهم غير المغضوب عليهم ولا الضالين', 'verses_text_english': 'The path of those upon whom You have bestowed favor, not of those who have evoked [Your] anger or of those who are astray', 'verses_text_transliteration': 'Sirata allatheena anAAamta AAalayhim ghayri almaghdoobi AAalayhim wala alddalleena'}], [])
>>> len(sura) # عدد العناصر المرجعة من أمر `quran.show_block_aya`
2
>>> sura[0][0] # طباعة معلومات الأية المحددة
{'ID': 1, 'Name': 'الفَاتِحة', 'Transliteration': 'Al-Fātiḥah', 'translation': 'The Opener', 'type': 'meccan', 'total_verses': 7, 'verses_no': 1, 'jozz': 1, 'page': 1, 'verses_number': 1, 'line_start': 2, 'line_end': 2, 'verses_text': 'بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ', 'verses_text_without_diacritical': 'بسم الله الرحمن الرحيم', 'verses_text_english': 'In the name of Allah, the Entirely Merciful, the Especially Merciful', 'verses_text_transliteration': 'Bismi Allahi alrrahmani alrraheemi'}
>>> sura[0][0]['verses_text_without_diacritical'] # طباعة شيء محدد من القاموس
'بسم الله الرحمن الرحيم'

وهنالك المزيد من الأوامر …

أيّن المكتبة؟

المكتبة مُتاحة رسميًا بالكامل على github، يحتوي على دليل مفصل على طريقة استعمال المكتبة.
(يمكنك الذهاب مباشرةً بالضغط هنا ^_^)

ما مستقبل الختمة؟

المكتبة ناشئة، وهذا يعني أنها في حالة تطوير مستمر. وستضمّ بجانب الحزمتين أربعة حزم -بمشيئة الله- يتمّ العمل عليها. وأيضا نستقبل جميع الملاحظات والاقتراحات. وأي مشكلة تواجهك عند أستخدامك للمكتبة.
وفضلًا وليس أمرًا ومن أجل تحسين البرنامج يرجى وضعها في الصفحة المخصصة للمشكلات على موقع github.

4 إعجابات