Skip to main content

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_debuing-0.1.0-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

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

Hashes for ai_debuing-0.1.0.tar.gz
Algorithm Hash digest
SHA256 022d747ef64027b87b23b1b0d535f9161f14a513b668e40b60da0d43acc52c62
MD5 3c02c6b7a9bbf832179a7325601e1ad1
BLAKE2b-256 beebdf8699adf7240d51645741e50314102a682216b66111200beacf2d6ce0b0

See more details on using hashes here.

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

Hashes for ai_debuing-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52487f87df1f77dbc9d23aadc0a097c99175b97e3e8b82536942f7d85aa8df2d
MD5 d91aed6ceef3dd5a1c1e0aa77dc8d128
BLAKE2b-256 b91baf696fd673479543bda2f7ca61e6c10c705ef9c5b8845b221a53de91d576

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page