Metadata-Version: 2.4
Name: PyIslamSDK-Quran
Version: 0.1.1
Summary: IslamSDK Quran module with Quranic texts, utilities, and local database.
Author-email: InnoSoft Company <midoghanam@hotmail.com>
License: MIT License
        
        Copyright (c) 2026 InnoSoft
        CEO & Founder: Mohamed Ahmed Ghanam
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
Project-URL: Source Code, https://github.com/InnoSoft-Company/PyIslamSDK-Quran
Project-URL: Bug Tracker, https://github.com/InnoSoft-Company/PyIslamSDK-Quran/issues
Project-URL: Documentation, https://github.com/InnoSoft-Company/PyIslamSDK-Quran#readme
Keywords: islam,quran,adhan,dua,sdk,religion,prayer,dhikr
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# PyIslamSDK-Quran

---

## 🚀 هوية المشروع والإصدارات
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **إصدار PyPI** | [![PyPI Version](https://img.shields.io/pypi/v/PyIslamSDK-Quran.svg)](https://pypi.org/project/PyIslamSDK-Quran/) |
| **إصدار GitHub** | [![GitHub Release](https://img.shields.io/github/v/release/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/releases) |
| **وسم GitHub** | [![GitHub Tag](https://img.shields.io/github/v/tag/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/tags) |
| **الرخصة** | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/blob/main/LICENSE) |
| **حالة PyPI** | [![PyPI Status](https://img.shields.io/pypi/status/PyIslamSDK-Quran.svg)](https://pypi.org/project/PyIslamSDK-Quran/)
---

## 📊 الإحصائيات والتنزيلات
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **إجمالي التنزيلات (Pepy)** | [![Total Downloads](https://static.pepy.tech/personalized-badge/PyIslamSDK-Quran?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/PyIslamSDK-Quran) |
| **التنزيلات الشهرية (Pepy)** | [![Monthly Downloads](https://static.pepy.tech/personalized-badge/PyIslamSDK-Quran?period=monthly&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/project/PyIslamSDK-Quran) |
| **التنزيلات الأسبوعية (Pepy)** | [![Weekly Downloads](https://static.pepy.tech/personalized-badge/PyIslamSDK-Quran?period=weekly&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/project/PyIslamSDK-Quran) |
| **تنزيلات PyPI (يومي)** | [![PyPI Downloads](https://img.shields.io/pypi/dd/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |
| **تنزيلات PyPI (أسبوعي)** | [![PyPI Downloads](https://img.shields.io/pypi/dw/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |
| **تنزيلات PyPI (شهري)** | [![PyPI Downloads](https://img.shields.io/pypi/dm/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |

---

## 🛠️ النشاط والتطوير
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **آخر تحديث** | [![GitHub last commit](https://img.shields.io/github/last-commit/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/commits/main) |
| **نشاط الالتزامات (سنوي)** | [![GitHub commit activity](https://img.shields.io/github/commit-activity/y/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/graphs/commit-activity) |
| **المساهمون** | [![GitHub contributors](https://img.shields.io/github/contributors/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/graphs/contributors) |
| **حجم المستودع** | [![GitHub repo size](https://img.shields.io/github/repo-size/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **حجم الكود** | [![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **اللغة الأساسية** | [![GitHub top language](https://img.shields.io/github/languages/top/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **عدد اللغات** | [![GitHub language count](https://img.shields.io/github/languages/count/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |

---

## ✨ الجودة والاختبارات
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **حالة البناء** | [![Build Status](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/actions/workflows/python-package.yml/badge.svg)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/actions) |
| **تغطية الاختبارات** | [![Coverage](https://img.shields.io/codecov/c/github/InnoSoft-Company/PyIslamSDK-Quran)](https://codecov.io/gh/InnoSoft-Company/PyIslamSDK-Quran) |
| **جودة الكود** | [![Code Quality](https://img.shields.io/lgtm/grade/python/g/InnoSoft-Company/PyIslamSDK-Quran)](https://lgtm.com/projects/g/InnoSoft-Company/PyIslamSDK-Quran) |
| **الكتابة (Typing)** | [![Typing](https://img.shields.io/badge/typing-strict-brightgreen)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **أنواع PyPI** | [![PyPI - Types](https://img.shields.io/pypi/types/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |

---

## 🐍 البيئة والتوافق
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **إصدارات Python** | [![Python Versions](https://img.shields.io/pypi/pyversions/PyIslamSDK-Quran.svg)](https://pypi.org/project/PyIslamSDK-Quran/) |
| **تطبيق PyPI** | [![PyPI Implementation](https://img.shields.io/pypi/implementation/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |
| **عجلة PyPI** | [![PyPI Wheel](https://img.shields.io/pypi/wheel/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |
| **تنسيق PyPI** | [![PyPI Format](https://img.shields.io/pypi/format/PyIslamSDK-Quran)](https://pypi.org/project/PyIslamSDK-Quran/) |

---

## 🤝 المجتمع والتواصل الاجتماعي
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **نجوم GitHub** | [![GitHub stars](https://img.shields.io/github/stars/InnoSoft-Company/PyIslamSDK-Quran?style=social)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **تفريعات GitHub** | [![GitHub forks](https://img.shields.io/github/forks/InnoSoft-Company/PyIslamSDK-Quran?style=social)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **متابعو GitHub** | [![GitHub watchers](https://img.shields.io/github/watchers/InnoSoft-Company/PyIslamSDK-Quran?style=social)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) |
| **متابعو المنظمة** | [![GitHub followers](https://img.shields.io/github/followers/InnoSoft-Company?style=social)](https://github.com/InnoSoft-Company) |
| **مناقشات GitHub** | [![GitHub Discussions](https://img.shields.io/github/discussions/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/discussions) |

---

## 🛠️ الدعم والصيانة
| نوع الشارة | كود Markdown |
| :--- | :--- |
| **المشكلات المفتوحة** | [![GitHub issues](https://img.shields.io/github/issues/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/issues) |
| **المشكلات المغلقة** | [![GitHub issues-closed](https://img.shields.io/github/issues-closed/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/issues?q=is%3Aissue+is%3Aclosed) |
| **طلبات السحب المفتوحة** | [![GitHub pull requests](https://img.shields.io/github/issues-pr/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/pulls) |
| **طلبات السحب المغلقة** | [![GitHub pull requests-closed](https://img.shields.io/github/issues-pr-closed/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/pulls?q=is%3Apr+is%3Aclosed) |
| **المعالم (Milestones)** | [![GitHub milestones](https://img.shields.io/github/milestones/open/InnoSoft-Company/PyIslamSDK-Quran)](https://github.com/InnoSoft-Company/PyIslamSDK-Quran/milestones) |

---

**PyIslamSDK-Quran** هي حزمة Python لتوفير وصول سهل إلى بيانات القرآن الصوتية والقراءات والمعلومات المرتبطة. تعتمد على المكتبة القياسية فقط ولا تحتاج إلى تبعيات خارجية.

[عرض على GitHub](https://github.com/InnoSoft-Company/PyIslamSDK-Quran) | [عرض على PyPI](https://pypi.org/project/PyIslamSDK-Quran/)

---
✨ الإصدار الجديد v0.1.0 يقدم دعمًا كاملاً للاستعلام عن السور والآيات، وتحسينات كبيرة في أداء أوامر CLI.
## التثبيت

```bash
pip install PyIslamSDK-Quran
```

---

بداية سريعة / أمثلة الاستخدام

وحدة الصوتيات (audios)

تتيح لك وحدة audios استرجاع معلومات عن القراء (الروايات) وخوادم الصوت.

الاستيراد والتهيئة

```python
from pyislamsdk_quran.audios import AudioConfig

# إنشاء كائن لسورة الفاتحة (رقم ١) مع قارئ محدد باللغة العربية
audio = AudioConfig(surah_number=1, reciter_ar="عبدالباسط عبدالصمد")
```

الحصول على معلومات الرواية

```python
# استرجاع تفاصيل الرواية (يمكن تحديد اللغة: 'ar' أو 'en')
rewaya_info = audio.get_rewaya(lang="ar")
print(rewaya_info)
# الناتج: {"status": True, "data": [...]} أو {"status": False, "error": ...}
```

الوصول إلى معلومات الخادم (السيرفر)

الصنف الداخلي Servers يوفر دوالاً للحصول على روابط الخوادم الصوتية.

```python
# إنشاء كائن من الصنف Servers (مرتبط بنفس تهيئة الصوت)
servers = audio.Servers()

# الحصول على جميع الخوادم المتاحة (لكل السور/القراء)
all_servers = servers.get_all_servers()
print(all_servers)

# الحصول على الخادم الخاص بالسورة التي تم تهيئتها (سورة ١)
specific_server = servers.get_server()
print(specific_server)
```

---

وحدة السور (quran)

يمكنك استخدام الصنف SurahsConfig للوصول إلى معلومات السور والآيات.

الاستيراد والتهيئة

```python
from pyislamsdk_quran.quran import SurahsConfig

# إنشاء كائن للتعامل مع السور (يمكن تمرير رقم سورة اختياري)
surahs = SurahsConfig()
```

الحصول على جميع السور

```python
all_surahs = surahs.get_all_surahs()
print(all_surahs)
```

البحث عن سورة بالاسم

```python
surah_info = surahs.get_surah(name="الفاتحة")   # اسم افتراضي: الفاتحة
print(surah_info)
```

الحصول على آيات سورة معينة باستخدام رقم السورة

```python
surah_verses = surahs.get_surah_verses(id=1)    # سورة الفاتحة
print(surah_verses)
```

الحصول على السور حسب مكان النزول (مكية أو مدنية)

```python
meccan_surahs = surahs.get_revelation_place(place="مكية")
print(meccan_surahs)
```

كل دالة ترجع قاموسًا يحتوي على مفتاح status (منطقي) وإما data (عند النجاح) أو error (عند الفشل).

المتطلبات

· Python 3.9 أو أحدث (يستخدم مكتبة zoneinfo القياسية؛ بالنسبة لـ Python 3.8 قد تحتاج إلى حزمة backports.zoneinfo).

---

الترخيص

MIT - شركة إينوسوفت (InnoSoft Company)

---

PyIslamSDK-Quran (English)

PyIslamSDK-Quran is a Python package that provides easy access to Quranic data (surahs, verses, revelation places) and audio resources (reciters and rewaya). It uses only the standard library and has no external dependencies.

✨ New version v0.1.0 introduces full support for querying surahs and verses, along with major performance improvements in CLI commands.

View on GitHub | View on PyPI

---

Installation

```bash
pip install PyIslamSDK-Quran
```

---

Quick Start / Usage Examples

Audio Module (audios)

The audios module allows you to retrieve information about Quran reciters (rewaya) and audio servers.

Import and initialize

```python
from pyislamsdk_quran.audios import AudioConfig

# Create an instance for Surah Al-Fatiha (surah 1) with a specific reciter (Arabic name)
audio = AudioConfig(surah_number=1, reciter_ar="عبدالباسط عبدالصمد")
```

Get recitation (rewaya) information

```python
# Retrieve rewaya details in Arabic (or specify 'en' for English)
rewaya_info = audio.get_rewaya(lang="ar")
print(rewaya_info)
# Expected output: {"status": True, "data": [...]} or {"status": False, "error": ...}
```

Access server information

The inner class Servers provides methods to get audio server URLs.

```python
# Create an instance of the Servers class (attached to the same audio configuration)
servers = audio.Servers()

# Get all available servers (for all surahs/reciters)
all_servers = servers.get_all_servers()
print(all_servers)

# Get the specific server for the surah you initialized (surah 1)
specific_server = servers.get_server()
print(specific_server)
```

---

Surahs Module (quran)

Use the SurahsConfig class to access surah and verse information.

Import and initialize

```python
from pyislamsdk_quran.quran import SurahsConfig

# Create an instance (optional surah number can be passed)
surahs = SurahsConfig()
```

Get all surahs

```python
all_surahs = surahs.get_all_surahs()
print(all_surahs)
```

Get verses of a specific surah by its ID

```python
surah_verses = surahs.get_surah_verses(id=1)      # Surah Al-Fatiha
print(surah_verses)
```

Get surahs by revelation place (Meccan or Medinan)

```python
meccan_surahs = surahs.get_revelation_place(place="مكية")   # or "Meccan" if English support is added
print(meccan_surahs)
```

Each method returns a dictionary with a status key (boolean) and either data (on success) or error (on failure).

---

Requirements

· Python 3.9 or later (uses standard library zoneinfo; for Python 3.8 you may need the backports.zoneinfo package).

---

License

MIT - InnoSoft Company
