
إطار عمل لتحويل وإزالة التعتيم من كود بايثون يعتمد على AST

Noctyra هو إطار عمل قائم على AST مصمم لتحويل الشيفرات وإزالة التعتيم عنها. يوفر مسارًا معياريًا لتحليل وتبسيط شيفرة بايثون المصدرية عن طريق حل التعبيرات والمنطق المعقدين.
يهدف المشروع إلى توفير بيئة مرنة لمعالجة شجرة بناء الجملة المجردة (AST) الخاصة بلغة بايثون. باستخدام سلسلة من المحولات القابلة للربط، يمكن لـ Noctyra:
تأكد من تثبيت uv لإدارة التبعيات.
uv sync
لمعالجة سكريبت مستهدف، استخدم الأمر التالي:
python main.py <input_file> [options]
الخيارات:
file: مسار ملف بايثون المدخل (مطلوب).--output: اسم ملف الشيفرة المحولة (الافتراضي: out.py).--iterations: تعيين عدد ثابت من مراحل التحويل (الافتراضي: 0 للكشف التلقائي).--max-iterations: الحد الأقصى لمراحل التحويل في الوضع التلقائي (الافتراضي: 100).--debug: تفعيل التسجيل المفصل لتصحيح أخطاء التحويل (يبدو رائعًا).يستخدم هذا المشروع uv لإدارة التبعيات وملف Makefile للمهام الشائعة.
uv sync --all-extras --dev
قبل تقديم طلب سحب (PR) أو دفع التغييرات، تأكد من اجتياز جميع الفحوصات:
make testmake formatmake typecheck(مستخدمو Windows: تعمل هذه الأوامر تلقائيًا عبر make.bat.)
يتم إجراء فحوصات تلقائية عند كل دفع عبر GitHub Actions، تشمل التدقيق اللغوي باستخدام Ruff، والتحقق من الأنواع باستخدام Mypy، واختبارات الوحدة باستخدام Pytest.
يتضمن Noctyra محرك تقييم داخلي مع حدود أساسية للموارد. ومع ذلك، عند التعامل مع شيفرات غير موثوقة، يُوصى بشدة بتشغيل المسار داخل بيئة معزولة (مثل حاوية أو صندوق رمل) لمنع الآثار الجانبية المحتملة أو استنزاف الموارد.