
Sigma नियमों को क्वेरी में पार्स और परिवर्तित करने के लिए Python लाइब्रेरी (और जो कुछ भी आप कल्पना कर सकते हैं)
pySigma एक python लाइब्रेरी है जो Sigma नियमों को क्वेरीज़ में पार्स और कन्वर्ट करती है। यह लेगेसी Sigma टूलचेन (sigmac) का प्रतिस्थापन है, जिसका डिज़ाइन बहुत साफ़-सुथरा है और यह लगभग पूरी तरह से परीक्षित है।
क्वेरी भाषाओं में कन्वर्ज़न के समर्थन के लिए बैकएंड्स और लॉग डेटा मॉडल के लिए नियमों को रूपांतरित करने के लिए प्रोसेसिंग पाइपलाइन्स को अलग समर्पित प्रोजेक्ट्स में रखा गया है ताकि pySigma स्वयं स्लिम और वेंडर-अज्ञेय बना रहे। अवलोकन प्राप्त करने के लिए नीचे Related Projects अनुभाग देखें।
pySigma का उपयोग शुरू करने के लिए, आपको Python 3.11 या बाद का संस्करण चाहिए। इसे अपने पसंदीदा python पैकेज मैनेजर का उपयोग करके इंस्टॉल करें। उदाहरण:
pip install pysigma
pipenv install pysigma
poetry add pysigma
कुछ उपयोग उदाहरणों के साथ दस्तावेज़ीकरण यहाँ पाया जा सकता है।
pySigma के साथ बैकएंड बनाना बहुत आसान हो गया है। हम "Cookie Cutter Template" का उपयोग करने और इस README के "Related Projects" अनुभाग में सूचीबद्ध मौजूदा बैकएंड्स की समीक्षा करने की सलाह देते हैं।
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 द्वारा dev निर्भरताओं के भाग के रूप में इंस्टॉल किया जाता है। रिपॉज़िटरी को क्लोन करने और निर्भरताएँ इंस्टॉल करने के बाद git hooks इंस्टॉल करने के लिए poetry run pre-commit install चलाएँ।
पुल रिक्वेस्ट का स्वागत है। कृपया चर्चा बिंदुओं के रूप में कोई भी issues/PRs दर्ज करने में संकोच न करें।
Micah Babinski की यह ब्लॉग पोस्ट एक डेवलपर के दृष्टिकोण से प्रक्रिया को समझाती है।
यह प्रोजेक्ट वर्तमान में इनके द्वारा मेंटेन किया जाता है:
pySigma एक मोनोलिथिक लाइब्रेरी नहीं है जो कोर के अलावा सब कुछ सपोर्ट करने का प्रयास करती हो। लक्ष्य क्वेरी भाषाओं और लॉग डेटा मॉडल के लिए समर्थन अतिरिक्त पैकेजों द्वारा प्रदान किया जाता है जो pySigma को एक्सटेंड करते हैं:
यदि अन्यथा उल्लेख न किया गया हो, तो सभी पैकेज आपके पसंदीदा Python पैकेज मैनेजर द्वारा PyPI से भी इंस्टॉल किए जा सकते हैं।
GNU Lesser General Public License v2.1. विवरण के लिए, कृपया पूरी लाइसेंस फ़ाइल यहाँ देखें।