لهجة برمجية تكتب فيها الكلمات المفتاحية والدوال المدمجة والاستثناءات والمكتبات بالعربية الكاملة. ملفات .apy تُترجم إلى بايثون القياسي في وقت التحميل وتُنفَّذ بواسطة CPython — دون تشعيب للمترجم ودون تعديل على اللغة الأصلية.
الحالة (2026-05-03): المراحل أ/ب/ج مكتملة، وعمل المرحلة د D-002 إلى D-005 مشحون: معجم واحد في lexicon/، أسماء AI عربية، مترجم عكسي Python→لغة الثعبان، أسماء stdlib المعتمدة، أثر أخطاء عربي بثلاثة أوضاع، وملعب مرئي يتضمن لعبة منصة بواجهة Pygame عربية. آخر تشغيل كامل: 2960 اختباراً ناجحاً على Python 3.13 مع 23 تخطياً مقصوداً.
الصفحات: الرئيسية · الملعب · معرض الأمثلة
# تحليل_مبيعات.apy
استورد بانداس باسم بد # pandas
استورد نمباي باسم نم # numpy
استورد سيبورن باسم رسم # seaborn
استورد رياضيات
بيانات = بد.قراءة_جيسون("مبيعات.json")
متوسط = نم.متوسط(بيانات["الإيرادات"])
اطبع(f"متوسط الإيرادات: {رياضيات.تقريب(متوسط, 2)}")
رسم.ضبط_موضوع("darkgrid")
مخطط = رسم.خط_بياني(بيانات=بيانات, x="الشهر", y="الإيرادات")
مخطط.figure.savefig("تقرير_المبيعات.png")
اطبع("تم حفظ التقرير")$ ثعبان تحليل_مبيعات.apy
متوسط الإيرادات: 48750.32
تم حفظ التقريريتطلب Python 3.11 أو أحدث:
git clone https://github.com/GalaxyRuler/lughat-althuban
cd lughat-althuban
pip install -e .للتطوير مع جميع المكتبات المدعومة:
pip install -e ".[all]"يُثبَّت الأمر ثعبان تلقائياً. ثعبان --help وثعبان --version يعملان كما هو متوقع.
$ ثعبان -c '1 / 0'
تتبع_الأخطاء (المكدس الأحدث آخرا):
ملف "<string>", سطر 1, في <الوحدة>
خطأ_قسمة_صفر: القسمة على صفر| الوثيقة | الوصف |
|---|---|
| دليل البدء الشامل | من "مرحبا بالعالم" إلى الاستيراد — خطوة بخطوة |
| المعجم العربي الموحد | الكلمات المفتاحية والدوال والاستثناءات وأسماء المكتبات في مرجع واحد |
| كتاب الوصفات العربي | وصفات عملية قابلة للتشغيل |
| نظرة عامة على المشروع | المعمارية، هيكل المشروع، خارطة الطريق |
| الأمثلة التعليمية | فهرس الأمثلة الأساسية والمتقدمة |
| معرض GitHub Pages للأمثلة | أمثلة قابلة للفتح في الملعب، بما فيها ألعاب مرئية مثل قفزة المدينة وحارس الكويكبات وعروض stdlib وAI |
| سجل التغييرات | ما الذي تغيّر في كل إصدار |
| قاموس وقت التشغيل | الأثر المولّد من المعجم الموحد للقاموس الافتراضي |
تعتمد صفحات docs/ هوية لغة الثعبان: خط Montserrat بوزني Regular وBold، وخلفية عنوان داكنة #111921، ونص فاتح، ولمسات بنفسجية #2c1a66 وبرتقالية #ea6753. تستخدم الصفحات ملف الشعار غير النصي docs/assets/ak-logo-noname.png، مع إبقاء صفحات لغة الثعبان عربية أولاً ومباشرة نحو الملعب والأمثلة.
اكتملت المراحل أ وب وج. المرحلة د نشطة الآن تحت عنوان AI & Reach، وحزم D-002 إلى D-005 مشحونة في هذا الفرع: أسماء AI، مترجم عكسي، أسماء stdlib المعتمدة، وأثر أخطاء عربي كامل. المساهمات الجديدة يجب أن تبدأ من المعجم العربي الموحد عند إضافة مصطلح أو اسم مكتبة، ثم تضيف الاختبارات والوثائق المناسبة.
- خارطة الطريق الحالية:
ROADMAP-PHASE-D.md - خارطة المرحلة ج التاريخية:
ROADMAP-PHASE-C.md - ميثاق المرحلة د:
decisions/0012-phase-d-charter.md - دليل المساهمة:
CONTRIBUTING.md - قائمة المواصفات:
specs/INDEX.md
ثعبان ملف.apy [مُعامِلات...] # تشغيل ملف
ثعبان -c 'اطبع("مرحبا")' # تنفيذ سطر مباشرةً
ثعبان - < ملف.apy # قراءة من المدخل القياسي
ثعبان # البيئة التفاعلية REPL
ثعبان ترجمة-عكسية ملف.py # تحويل Python إلى .apy
ثعبان نسّق ملف.apy # تنسيق الملف تلقائياً
ثعبان راجع ملف.apy # فحص الجودة وإظهار التحذيرات
ثعبان --tracebacks=mixed ملف.apy # أثر عربي مع رسالة Python الأصليةرموز الخروج: 0 نجاح، 1 خطأ في التشغيل أو الترجمة، 2 خطأ في الاستخدام.
# رئيسي.apy
استورد مساعد
مساعد.مرحبا("عالم")# مساعد.apy
دالة مرحبا(اسم):
اطبع(f"مرحبا يا {اسم}")الحزم المختلطة .py / .apy تعمل — ملفات Python التي تستورد وحدات .apy ترى الأسماء المترجمة والمُطبَّعة.
$ ثعبان -c '1 / 0'
تتبع_الأخطاء (المكدس الأحدث آخرا):
ملف "<string>", سطر 1, في <الوحدة>
خطأ_قسمة_صفر: القسمة على صفرأسماء الاستثناءات تأتي من lexicon/core.toml، وقوالب رسائل الأثر من lexicon/messages.toml. الوضع الافتراضي arabic يترجم الاسم والرسالة، وenglish يعرض أثر Python الأصلي، وmixed يعرض اسم الاستثناء بالعربية مع الرسالة الإنجليزية الأصلية.
| الاسم العربي | وحدة Python | الاسم العربي | وحدة Python |
|---|---|---|---|
نظام |
os |
رياضيات |
math |
مسار |
pathlib |
احصاء |
statistics |
نظام_بايثون |
sys |
عشوائي |
random |
مجموعات |
collections |
تسجيل |
logging |
ادوات_تكرار |
itertools |
اتزامن |
asyncio |
ادوات_دوال |
functools |
تشفير |
hashlib |
تاريخ_وقت |
datetime |
ادخال_اخراج |
io |
وقت_نظام |
time |
مدير_سياق |
contextlib |
روزنامه |
calendar |
قاعدة_بيانات |
sqlite3 |
جيسون |
json |
تعابير |
re |
ملف_csv |
csv |
تنميط |
typing |
خيوط |
threading |
مسار_نظام |
os.path |
نصوص |
string |
تنسيق_نص |
textwrap |
عملية_فرعية |
subprocess |
ادوات_ملفات |
shutil |
محلل_وسائط |
argparse |
اسرار |
secrets |
معرف_فريد |
uuid |
— | — |
| الاسم العربي | حزمة Python |
|---|---|
نمباي |
numpy |
بانداس |
pandas |
رسوم_بيانيه |
matplotlib |
سيبورن |
seaborn |
سايباي |
scipy |
تعلم_آلي |
scikit-learn |
| الاسم العربي | حزمة Python |
|---|---|
ذكاء_مفتوح |
openai |
كلود_عربي |
anthropic |
سلسلة_لغه |
langchain_core |
محولات |
transformers |
محولات_جمل |
sentence_transformers |
ثبّتها مع:
pip install -e ".[ai]"| الاسم العربي | حزمة Python |
|---|---|
بيلو |
PIL.Image / Pillow |
لعبه أو لعبة |
pygame / pygame-ce |
ثبّتها مع مجموعة الأسماء الاختيارية:
pip install -e ".[aliases]"| الاسم العربي | حزمة Python |
|---|---|
فلاسك |
flask |
طلبات |
requests |
أيو_هتب |
aiohttp |
فاست_أبي |
fastapi |
دجانغو |
django |
طلبات_حديثه |
httpx |
| الأداة | الأمر | الوصف |
|---|---|---|
| المنسِّق | ثعبان نسّق ملف.apy |
تنسيق تلقائي: المسافات البادئة، والتباعد، وأسلوب التعليقات |
| المدقِّق | ثعبان راجع ملف.apy |
تشخيصات: W001–W004، E001، I001 |
| المترجم العكسي | ثعبان ترجمة-عكسية ملف.py |
تحويل Python إلى لغة الثعبان اعتماداً على Dialect.reverse_names |
| نواة Jupyter | pip install -e ".[kernel]" |
تشغيل دفاتر .apy في Jupyter |
| امتداد VS Code | editors/vscode/ |
إبراز صياغي لملفات .apy |
| إضافة pytest | مُدمجة تلقائياً | اكتشاف وتشغيل ملفات اختبار .apy |
from arabicpython import (
install, # تثبيت خطاف استيراد .apy
uninstall,
run_repl, # تشغيل البيئة التفاعلية REPL
install_excepthook, # توجيه الاستثناءات غير الملتقطة للمترجم
uninstall_excepthook,
format_translated_exception, # تنسيق مجموعة (نوع، قيمة، تتبع) بالعربية
)
from arabicpython.reverse import reverse_translate
from arabicpython.formatter import format_source, format_file
from arabicpython.linter import lint_source, Diagnosticlughat-althuban/
├── arabicpython/ حزمة المحوِّل
│ ├── aliases/ تعيينات TOML مولدة من lexicon/libraries.toml
│ ├── reverse.py مترجم Python → لغة الثعبان
│ ├── formatter.py المنسِّق التلقائي
│ └── linter.py محرك التدقيق والتشخيص
├── arabicpython_kernel/ حزمة نواة Jupyter
├── editors/vscode/ امتداد VS Code
├── tools/ مولد القواعد النحوية وأدوات التطوير
├── decisions/ سجلات قرارات المعمارية (ADRs)
├── lexicon/ مصدر الحقيقة للمصطلحات والكلمات والرسائل
├── dictionaries/ مخرجات القواميس المولدة
├── specs/ حزم المواصفات للتنفيذ
├── tests/ مجموعة pytest (2960 نجاحاً في بيئة all)
├── examples/ برامج .apy قابلة للتشغيل
├── docs/
│ ├── ar/ الوثائق العربية
│ └── wiki/ ويكي المرجع الشامل
└── apps/ تطبيقات عرض متكاملة
المصدر يمر عبر pretokenize (الأرقام العربية ← ASCII، ترميز علامات الترقيم، رفض محارف bidi) ← tokenize الخاصة ببايثون ← معيد كتابة NAME يستشير القاموس العربي↔Python القانوني ← untokenize ← compile ← exec. لا إعادة كتابة لشجرة AST، ولا تشعيب لـ CPython. نفس الأنبوب يدعم كل نقاط الدخول (CLI، REPL، خطاف الاستيراد).
قرارات رئيسية: decisions/0001-architecture.md | decisions/0004-normalization-policy.md
قواعد التطبيع: أ/إ/آ → ا، ة → ه (في النهاية)، ى → ي (في النهاية). جميع مفاتيح TOML يجب أن تجتاز normalize_identifier().
- المخطط (Claude): يكتب سجلات القرارات، يُنسِّق القواميس، يُؤلِّف حزم المواصفات، يراجع التغييرات.
- المنفِّذ: يقرأ الحزم في
specs/NNNN-*.md، يكتب الكود، يُشغِّل الاختبارات.
كل وحدة عمل هي حزمة مواصفات مكتفية بنفسها. انظر specs/0000-template.md وspecs/INDEX.md.
from . import xفي__init__.apyداخل حزمة — الحل البديل:import pkg.sub as sub.- الوصول إلى السمات من
.pyإلى.apyيجب أن يستخدم شكل المعرِّف المُطبَّع وفق ADR-0004 (مثلmodule.قيمهلاmodule.قيمة).
| المرحلة | المحتوى | الحالة |
|---|---|---|
| 0 | قرارات التصميم (8 سجلات ADR) | مكتملة |
| أ | اللهجة الأساسية: التجهيز المسبق، التطبيع، الترجمة، CLI، REPL، خطاف الاستيراد، رسائل الخطأ | مكتملة |
| ب | النظام البيئي: 40+ وحدة عربية، منسِّق، مدقِّق، نواة Jupyter، VS Code، دليل تعليمي | مكتملة |
| ج | معجم موحد، نشر PyPI، مكتبات تطبيقية، وتكاملات متقدمة | مكتملة |
| د | AI & Reach: ملعب ويب، AI aliases، ترجمة عكسية، stdlib canonical، أثر بثلاثة أوضاع | نشطة؛ D-002 إلى D-005 مشحونة |
انظر ROADMAP-PHASE-D.md وCONTRIBUTING.md.
| الوثيقة | الوصف |
|---|---|
| دليل البدء الشامل | من "مرحبا بالعالم" إلى الاستيراد — خطوة بخطوة |
| المعجم العربي الموحد | الكلمات المفتاحية والدوال والاستثناءات وأسماء المكتبات في مرجع واحد |
| كتاب الوصفات | وصفات قائمة بذاتها قابلة للتشغيل المباشر |
| مسرد المصطلحات | مصطلحات مولدة من المعجم الموحد |
| نظرة عامة على المشروع | المعمارية، هيكل المشروع، خارطة الطريق |
| ويكي المشروع | دليل شامل: الكلمات المفتاحية، المكتبات، الأدوات، الأسئلة الشائعة |
| دليل المساهمة | كيفية إضافة وحدات ومساهمات الكود |
| سجل التغييرات | ما الذي تغيّر في كل إصدار |
| ميثاق المرحلة د | خطة D-001 إلى D-017 وحالة D-002 إلى D-005 |
| خارطة الطريق | حالة المرحلة الحالية وما بقي للصقل |
- zhpy (gasolin، 2014) — لهجة بايثون الصينية القائمة على التجزئة المعجمية التي يعتمد هذا المشروع معمارياً عليها.
- قلب لـ Ramsey Nasser — النقد الذي يأخذه هذا المشروع بجدية.
- Hedy — دليل على نجاح التعليم متعدد اللغات والمتدرج في النحو على نطاق واسع.
- السوار / مجمع اللغة العربية (KSAA) — واجهة برمجية للمعجم العربي تُستخدم في أبحاث المصطلحات.
The primary documentation above is in Arabic — the language this project is built for. Below is a concise English reference for contributors and readers not yet fluent in Arabic.
A Python dialect where keywords, built-ins, exceptions, and popular libraries are all written in Arabic. .apy files are translated to standard Python at import time and executed by CPython — no interpreter fork, no language modification.
Status (2026-05-03): Phases A-C complete; Phase D D-002 through D-005 are shipped, with visual playground examples and an Arabic Pygame alias. Full local verification with optional extras: 2960 passed, 23 intentionally skipped on Python 3.13.
License: Apache-2.0.
git clone https://github.com/GalaxyRuler/lughat-althuban
cd lughat-althuban
pip install -e . # installs the ثعبان console script
pip install -e ".[all]" # dev, kernel, aliases, and AI optional targetsثعبان script.apy # run a file
ثعبان -c 'اطبع("مرحبا")' # inline snippet
ثعبان # interactive REPL
ثعبان ترجمة-عكسية file.py # reverse-translate Python to .apy
ثعبان نسّق script.apy # auto-format
ثعبان راجع script.apy # lint- generated lexicon source of truth for core words, aliases, messages, and docs
- Arabic traceback modes:
arabic,english,mixed - 31 stdlib alias modules · AI aliases for OpenAI, Anthropic, LangChain Core, Transformers, and Sentence Transformers · media/game aliases for Pillow and Pygame
- 38 Arabic exception names · translated common interpreter messages
- Formatter · Linter · Jupyter kernel · VS Code extension · pytest plugin — all ship in this repo
- Normalization:
أ/إ/آ → ا, finalة → ه, finalى → ي
See CONTRIBUTING.md. Arabic commit messages are preferred. Larger work should include a spec packet or a clear issue, and any new Arabic term should start in lexicon/.
zhpy (2014) · قلب by Ramsey Nasser · Hedy · Siwar/KSAA Arabic lexicon API.
