
مكتبة بايثون لتحليل وتحويل قواعد Sigma إلى استعلامات (وأي شيء آخر يمكنك تخيله)
pySigma هي مكتبة بايثون تقوم بتحليل قواعد Sigma وتحويلها إلى استعلامات. وهي بديل
لسلسلة أدوات Sigma القديمة (sigmac) بتصميم أنظف بكثير وهي مُختبرة بالكامل تقريبًا.
الواجهات الخلفية لدعم التحويل إلى لغات الاستعلام وخطوط المعالجة لتحويل
القواعد لنماذج بيانات السجلات مفصولة إلى مشاريع مخصصة للحفاظ على pySigma نفسها خفيفة
ومحايدة تجاه الموردين. راجع قسم المشاريع ذات الصلة أدناه للحصول على نظرة عامة.
لبدء استخدام pySigma، تحتاج إلى Python 3.11 أو أحدث. قم بتثبيته باستخدام مدير حزم بايثون المفضل لديك. أمثلة:
pip install pysigma
pipenv install pysigma
poetry add pysigma
يمكن العثور على الوثائق مع بعض أمثلة الاستخدام هنا.
أصبح إنشاء واجهة خلفية أسهل بكثير مع pySigma. نوصي باستخدام "Cookie Cutter Template" ومراجعة الواجهات الخلفية الموجودة المدرجة في قسم "المشاريع ذات الصلة" في هذا الملف.
pySigma Cookie Cutter Template
تقدم pySigma عددًا من الميزات الإضافية مقارنة بـ sigmac الشامل، بالإضافة إلى بعض التغييرات.
sigma-cli هو المكافئ لـ sigmac للتحويل عبر سطر الأوامر
استخدم sigma list modifiers
استخدم sigma plugin list --plugin-type backend
نظرة عامة على التحويل

خطوط المعالجة

يتم وصف المزيد من التفاصيل في الوثائق.
يستخدم pySigma إطار pytest كإطار اختبار. ما عليك سوى تشغيل pytest لتشغيل جميع الاختبارات. شغّل pytest --cov=sigma للحصول على تقرير التغطية.
لبناء حزمتك الخاصة شغّل poetry build.
لفحص الكود شغّل poetry run black. للتحقق من أخطاء الفحص شغّل poetry run black --check.
يستخدم هذا المشروع أيضًا pre-commit، والذي يتم تثبيته بواسطة poetry كجزء من تبعيات التطوير. لتثبيت خطافات git شغّل poetry run pre-commit install بعد استنساخ المستودع وتثبيت التبعيات.
طلبات السحب مرحب بها. لا تتردد في تقديم أي مشكلات/طلبات سحب كنقاط للنقاش.
هذا المنشور من Micah Babinski يشرح العملية من منظور المطور.
يتم صيانة المشروع حاليًا بواسطة:
pySigma ليست مكتبة متجانسة تحاول دعم كل شيء بل النواة فقط. يتم توفير الدعم للغات الاستعلام المستهدفة ونماذج بيانات السجلات بواسطة حزم إضافية توسّع pySigma:
يمكن أيضًا تثبيت جميع الحزم من PyPI إن لم يُذكر خلاف ذلك بواسطة مدير حزم بايثون الذي تختاره.
GNU Lesser General Public License v2.1. للتفاصيل، يرجى الاطلاع على ملف الترخيص الكامل الموجود هنا.