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