Automatic AI-powered error explainer — catches unhandled exceptions and suggests fixes via an AI API. tele @Q_B_H
Project description
ai_debugger v0.2.0
مكتبة Python تلتقط أي خطأ غير معالج تلقائياً وترسل السكريبت كاملاً مع سياق المتغيرات إلى خادم ذكاء اصطناعي، ثم تعرض الحل المقترح في التيرمينال بتنسيق مُلوَّن قبل الـ traceback الأصلي.
ما الجديد في v0.2.0؟
| الميزة | الوصف |
|---|---|
| قراءة السكريبت كاملاً | يُرسَل كود المستخدم بالكامل مع الخطأ للذكاء الاصطناعي |
| متغيرات كل Frame | قيم جميع المتغيرات المحلية لكل خطوة في traceback تُرسَل ضمن السياق |
| Verbose Mode | يعرض المتغيرات أيضاً في التيرمينال للمستخدم |
| مؤشر انتظار | رسالة "⏳ جاري الاستشارة..." تظهر أثناء طلب الـ API |
التثبيت
pip install .
# أو في وضع التطوير:
pip install -e .
الاستخدام
الأساسي
import ai_debugger # سطر واحد — يفعّل كل شيء تلقائياً
x = 1 / 0 # سيُلتقط، سيُقرأ الملف كاملاً، سيُرسَل للذكاء الاصطناعي
مع Verbose Mode (عرض المتغيرات في التيرمينال)
import ai_debugger
ai_debugger.set_verbose(True)
name = "أحمد"
scores = [90, 85, 0]
result = 100 / scores[2] # سيظهر اسم + scores في التيرمينال
التحكم في المكتبة
عبر الكود
import ai_debugger
ai_debugger.disable() # تعطيل مؤقت
ai_debugger.enable() # إعادة تفعيل
ai_debugger.set_verbose(True) # تفعيل عرض المتغيرات
ai_debugger.set_verbose(False) # إيقاف عرض المتغيرات
عبر متغيرات البيئة
# تعطيل المكتبة كلياً
AI_DEBUGGER_OFF=1 python script.py
# تفعيل Verbose Mode
AI_DEBUGGER_VERBOSE=1 python script.py
# كلاهما
AI_DEBUGGER_OFF=1 AI_DEBUGGER_VERBOSE=1 python script.py
ما يُرسَل للذكاء الاصطناعي عند كل خطأ
=== معلومات الخطأ ===
نوع الخطأ: ZeroDivisionError
الرسالة: division by zero
الملف: script.py، السطر: 12، الدالة: process_item
=== Traceback كامل ===
File "script.py", line 20, in run_pipeline
...
=== قيم المتغيرات وقت الخطأ ===
[process_item] في script.py السطر 12:
item = 1
divisor = 0
=== كود السكريبت كاملاً (script.py) ===
... [كامل محتوى الملف] ...
شكل الإخراج في التيرمينال
⏳ جاري الاستشارة مع المساعد الذكي ...
┌────────────────────────────────────────────────────────────────────────┐
│ 💡 اقتراح المساعد الذكي
│
│ المشكلة: divisor يساوي صفر لأن value - value = 0 دائماً.
│ الإصلاح: تحقق من قيمة المقسوم عليه قبل القسمة:
│ if divisor != 0:
│ result = item / divisor
└────────────────────────────────────────────────────────────────────────┘
Traceback (most recent call last):
...
ZeroDivisionError: division by zero
المتطلبات
| الحزمة | الإصدار |
|---|---|
| Python | >= 3.8 |
| requests | >= 2.28 |
| colorama | >= 0.4.6 |
هيكل الملفات
ai_debugger/
__init__.py ← نقطة الدخول، تفعيل الـ hook تلقائياً
core.py ← كل المنطق (hook، API، قراءة الملف، تنسيق الإخراج)
pyproject.toml
README_ai_debugger.md
test_ai_debugger.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ai_debuing-0.1.0.tar.gz
(2.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_debuing-0.1.0.tar.gz.
File metadata
- Download URL: ai_debuing-0.1.0.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
022d747ef64027b87b23b1b0d535f9161f14a513b668e40b60da0d43acc52c62
|
|
| MD5 |
3c02c6b7a9bbf832179a7325601e1ad1
|
|
| BLAKE2b-256 |
beebdf8699adf7240d51645741e50314102a682216b66111200beacf2d6ce0b0
|
File details
Details for the file ai_debuing-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ai_debuing-0.1.0-py3-none-any.whl
- Upload date:
- Size: 2.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52487f87df1f77dbc9d23aadc0a097c99175b97e3e8b82536942f7d85aa8df2d
|
|
| MD5 |
d91aed6ceef3dd5a1c1e0aa77dc8d128
|
|
| BLAKE2b-256 |
b91baf696fd673479543bda2f7ca61e6c10c705ef9c5b8845b221a53de91d576
|