attr

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह किसी नियम या पहलू के एट्रिब्यूट स्कीमा तय करने के लिए, एक टॉप लेवल मॉड्यूल है. हर फ़ंक्शन, एक एट्रिब्यूट के स्कीमा को दिखाने वाला एक ऑब्जेक्ट दिखाता है. इन ऑब्जेक्ट का इस्तेमाल, rule() और aspect() के attrs डिक्शनरी आर्ग्युमेंट की वैल्यू के तौर पर किया जाता है.

एट्रिब्यूट को तय करने और इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, 'नियम' पेज देखें.

सदस्य

बूल

Attribute attr.bool(default=False, doc='', mandatory=False)

बूलियन एट्रिब्यूट के लिए स्कीमा बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
default डिफ़ॉल्ट = गलत
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).

int

Attribute attr.int(default=0, doc='', mandatory=False, values=[])

पूर्णांक एट्रिब्यूट के लिए स्कीमा बनाता है. वैल्यू, साइन की गई 32-बिट की रेंज में होनी चाहिए.

पैरामीटर

पैरामीटर ब्यौरा
default डिफ़ॉल्ट = 0
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
values sequence of ints; डिफ़ॉल्ट = []
एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी दर्ज की जाती है.

int_list

Attribute attr.int_list(mandatory=False, allow_empty=True, *, default=[], doc='')

पूर्णांकों की सूची एट्रिब्यूट के लिए स्कीमा बनाता है. हर एलिमेंट, साइन की गई 32-बिट की रेंज में होना चाहिए.

पैरामीटर

पैरामीटर ब्यौरा
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
default sequence of ints; डिफ़ॉल्ट = []
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.

लेबल

Attribute attr.label(default=None, doc='', executable=False, allow_files=None, allow_single_file=None, mandatory=False, providers=[], allow_rules=None, cfg=None, aspects=[])

लेबल एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है.

इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों का समाधान, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से किया जाता है. इसमें डेटा स्टोर करने की जगह (संभावित रूप से उसका नाम बदला जा सकता है) भी शामिल होता है.

विश्लेषण के समय (नियम के लागू होने के फ़ंक्शन में), ctx.attr से एट्रिब्यूट की वैल्यू हासिल करने पर, लेबल को उनसे जुड़े Target से बदल दिया जाता है. इससे आपको मौजूदा टारगेट की डिपेंडेंसी देने वाली कंपनियों को ऐक्सेस करने में मदद मिलती है.

सामान्य सोर्स फ़ाइलों के अलावा, इस तरह के एट्रिब्यूट का इस्तेमाल अक्सर किसी टूल को रेफ़र करने के लिए किया जाता है -- उदाहरण के लिए, कंपाइलर. ऐसे टूल को सोर्स फ़ाइलों की तरह ही डिपेंडेंसी माना जाता है. जब भी उपयोगकर्ता अपनी बिल्ड फ़ाइलों में नियम का इस्तेमाल करें, तब उन्हें टूल का लेबल बताने की ज़रूरत न पड़े, इसके लिए इस एट्रिब्यूट की default वैल्यू के तौर पर किसी कैननिकल टूल के लेबल को हार्ड कोड किया जा सकता है. अगर आपको उपयोगकर्ताओं को इस डिफ़ॉल्ट सेटिंग को बदलने से भी रोकना है, तो एट्रिब्यूट को निजी बनाएं. इसके लिए, एट्रिब्यूट को अंडरस्कोर से शुरू होने वाला नाम दें. ज़्यादा जानकारी के लिए नियम पेज देखें.

पैरामीटर

पैरामीटर ब्यौरा
default Label; or string; or LateBoundDefault; or NativeComputedDefault; or function; or None; डिफ़ॉल्ट = कोई नहीं
नियम को इंस्टैंशिएट करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें, जैसे कि attr.label(default = "//a:b").
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
executable डिफ़ॉल्ट = गलत
अगर डिपेंडेंसी को एक्ज़ीक्यूट किया जा सकता है, तो 'सही'. इसका मतलब है कि लेबल को एक्ज़ीक्यूटेबल फ़ाइल या किसी ऐसे नियम के बारे में बताया जाना चाहिए जो एक्ज़ीक्यूटेबल फ़ाइल हो. ctx.executable.<attribute_name> का इस्तेमाल करके लेबल को ऐक्सेस करें.
allow_files bool; or sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
File टारगेट की अनुमति है या नहीं. यह True, False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है (उदाहरण के लिए, [".cc", ".cpp"]).
allow_single_file डिफ़ॉल्ट = कोई नहीं
यह लेबल allow_files से मिलता-जुलता है. इसमें यह पाबंदी है कि लेबल किसी एक फ़ाइल से ही जुड़ा होना चाहिए. इसे ctx.file.<attribute_name> से ऐक्सेस करें.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
providers डिफ़ॉल्ट = []
इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के हिसाब से, सेवा देने वाली कंपनियों को दी जानी चाहिए.

इस आर्ग्युमेंट का फ़ॉर्मैट, सेवा देने वाली कंपनियों की सूचियों की सूची है -- provider() से मिले *Info ऑब्जेक्ट (या लेगसी प्रोवाइडर के मामले में, उसकी स्ट्रिंग का नाम). डिपेंडेंसी के लिए ज़रूरी है कि इनर लिस्ट में से कम से कम एक में शामिल सभी प्रोवाइडर का ज़िक्र हो. सुविधा के तौर पर, यह आर्ग्युमेंट, प्रोवाइडर की एक लेवल वाली सूची भी हो सकता है. इस स्थिति में, इसे एक एलिमेंट वाली बाहरी सूची में रैप किया जाता है.

allow_rules sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
कौनसे नियम टारगेट (क्लास का नाम) की अनुमति है. इस सुविधा के इस्तेमाल पर रोक लगा दी गई है. इसे सिर्फ़ साथ काम करने के लिए रखा जाता है. इसके बजाय, सेवा देने वाली कंपनियों का इस्तेमाल करें.
cfg डिफ़ॉल्ट = कोई नहीं
एट्रिब्यूट का कॉन्फ़िगरेशन. यह या तो "exec" हो सकता है, जिससे पता चलता है कि डिपेंडेंसी execution platform के लिए बनाई गई है या "target" के लिए बनाई गई है, जिससे पता चलता है कि डिपेंडेंसी target platform के लिए बनाई गई है. इस अंतर का एक सामान्य उदाहरण यह है कि मोबाइल ऐप्लिकेशन बनाते समय, जहां target platform, Android या iOS है, जबकि execution platform, Linux, macOS या Windows है. अगर executable 'सही है' पर सेट है, तो टारगेट कॉन्फ़िगरेशन में गलती से होस्ट टूल बनाने से बचने के लिए, यह पैरामीटर ज़रूरी है. "target" का कोई सिमैंटिक असर नहीं होता. इसलिए, executable को 'गलत' होने पर सेट न करें. ऐसा तब न करें, जब इससे आपके इरादों को बेहतर बनाने में मदद मिले.
aspects sequence of Aspects; डिफ़ॉल्ट = []
ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट में तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए.

label_keyed_string_dict

Attribute attr.label_keyed_string_dict(allow_empty=True, *, default={}, doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])

डिक्शनरी को होल्ड करने वाले एट्रिब्यूट के लिए स्कीमा बनाता है. इसमें कुंजियों के लेबल होते हैं और वैल्यू, स्ट्रिंग होती हैं. यह एक डिपेंडेंसी एट्रिब्यूट है.

इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों का समाधान, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से किया जाता है. इसमें डेटा स्टोर करने की जगह (संभावित रूप से उसका नाम बदला जा सकता है) भी शामिल होता है.

विश्लेषण के समय (नियम के लागू होने के फ़ंक्शन में), ctx.attr से एट्रिब्यूट की वैल्यू हासिल करने पर, लेबल को उनसे जुड़े Target से बदल दिया जाता है. इससे आपको मौजूदा टारगेट की डिपेंडेंसी देने वाली कंपनियों को ऐक्सेस करने में मदद मिलती है.

पैरामीटर

पैरामीटर ब्यौरा
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
default dict; or function; default = {}
नियम को इंस्टैंशिएट करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.डिफ़ॉल्ट वैल्यू बताने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें, जैसे कि attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"}).
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
allow_files bool; or sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
File टारगेट की अनुमति है या नहीं. यह True, False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है (उदाहरण के लिए, [".cc", ".cpp"]).
allow_rules sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
कौनसे नियम टारगेट (क्लास का नाम) की अनुमति है. इस सुविधा के इस्तेमाल पर रोक लगा दी गई है. इसे सिर्फ़ साथ काम करने के लिए रखा जाता है. इसके बजाय, सेवा देने वाली कंपनियों का इस्तेमाल करें.
providers डिफ़ॉल्ट = []
इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के हिसाब से, सेवा देने वाली कंपनियों को दी जानी चाहिए.

इस आर्ग्युमेंट का फ़ॉर्मैट, सेवा देने वाली कंपनियों की सूचियों की सूची है -- provider() से मिले *Info ऑब्जेक्ट (या लेगसी प्रोवाइडर के मामले में, उसकी स्ट्रिंग का नाम). डिपेंडेंसी के लिए ज़रूरी है कि इनर लिस्ट में से कम से कम एक में शामिल सभी प्रोवाइडर का ज़िक्र हो. सुविधा के तौर पर, यह आर्ग्युमेंट, प्रोवाइडर की एक लेवल वाली सूची भी हो सकता है. इस स्थिति में, इसे एक एलिमेंट वाली बाहरी सूची में रैप किया जाता है.

flags sequence of strings; डिफ़ॉल्ट = []
बहिष्कृत, निकाल दिया जाएगा.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
cfg डिफ़ॉल्ट = कोई नहीं
एट्रिब्यूट का कॉन्फ़िगरेशन. यह या तो "exec" हो सकता है, जिससे पता चलता है कि डिपेंडेंसी execution platform के लिए बनाई गई है या "target" के लिए बनाई गई है, जिससे पता चलता है कि डिपेंडेंसी target platform के लिए बनाई गई है. इस अंतर का एक सामान्य उदाहरण यह है कि मोबाइल ऐप्लिकेशन बनाते समय, जहां target platform, Android या iOS है, जबकि execution platform, Linux, macOS या Windows है.
aspects sequence of Aspects; डिफ़ॉल्ट = []
ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट में तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए.

label_list

Attribute attr.label_list(allow_empty=True, *, default=[], doc='', allow_files=None, allow_rules=None, providers=[], flags=[], mandatory=False, cfg=None, aspects=[])

'लेबल की सूची' एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है.

इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों का समाधान, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से किया जाता है. इसमें डेटा स्टोर करने की जगह (संभावित रूप से उसका नाम बदला जा सकता है) भी शामिल होता है.

विश्लेषण के समय (नियम के लागू होने के फ़ंक्शन में), ctx.attr से एट्रिब्यूट की वैल्यू हासिल करने पर, लेबल को उनसे जुड़े Target से बदल दिया जाता है. इससे आपको मौजूदा टारगेट की डिपेंडेंसी देने वाली कंपनियों को ऐक्सेस करने में मदद मिलती है.

पैरामीटर

पैरामीटर ब्यौरा
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
default sequence of Labels; or function; डिफ़ॉल्ट = []
नियम को इंस्टैंशिएट करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.डिफ़ॉल्ट वैल्यू बताने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें, जैसे कि attr.label_list(default = ["//a:b", "//a:c"]).
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
allow_files bool; or sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
File टारगेट की अनुमति है या नहीं. यह True, False (डिफ़ॉल्ट) या अनुमति वाले फ़ाइल एक्सटेंशन की सूची हो सकती है (उदाहरण के लिए, [".cc", ".cpp"]).
allow_rules sequence of strings; or None; डिफ़ॉल्ट = कोई नहीं
कौनसे नियम टारगेट (क्लास का नाम) की अनुमति है. इस सुविधा के इस्तेमाल पर रोक लगा दी गई है. इसे सिर्फ़ साथ काम करने के लिए रखा जाता है. इसके बजाय, सेवा देने वाली कंपनियों का इस्तेमाल करें.
providers डिफ़ॉल्ट = []
इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के हिसाब से, सेवा देने वाली कंपनियों को दी जानी चाहिए.

इस आर्ग्युमेंट का फ़ॉर्मैट, सेवा देने वाली कंपनियों की सूचियों की सूची है -- provider() से मिले *Info ऑब्जेक्ट (या लेगसी प्रोवाइडर के मामले में, उसकी स्ट्रिंग का नाम). डिपेंडेंसी के लिए ज़रूरी है कि इनर लिस्ट में से कम से कम एक में शामिल सभी प्रोवाइडर का ज़िक्र हो. सुविधा के तौर पर, यह आर्ग्युमेंट, प्रोवाइडर की एक लेवल वाली सूची भी हो सकता है. इस स्थिति में, इसे एक एलिमेंट वाली बाहरी सूची में रैप किया जाता है.

flags sequence of strings; डिफ़ॉल्ट = []
बहिष्कृत, निकाल दिया जाएगा.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
cfg डिफ़ॉल्ट = कोई नहीं
एट्रिब्यूट का कॉन्फ़िगरेशन. यह या तो "exec" हो सकता है, जिससे पता चलता है कि डिपेंडेंसी execution platform के लिए बनाई गई है या "target" के लिए बनाई गई है, जिससे पता चलता है कि डिपेंडेंसी target platform के लिए बनाई गई है. इस अंतर का एक सामान्य उदाहरण यह है कि मोबाइल ऐप्लिकेशन बनाते समय, जहां target platform, Android या iOS है, जबकि execution platform, Linux, macOS या Windows है.
aspects sequence of Aspects; डिफ़ॉल्ट = []
ऐसे आसपेक्ट जिन्हें इस एट्रिब्यूट में तय की गई डिपेंडेंसी या डिपेंडेंसी पर लागू किया जाना चाहिए.

आउटपुट

Attribute attr.output(doc='', mandatory=False)

आउटपुट (लेबल) एट्रिब्यूट के लिए स्कीमा बनाता है.

इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों का समाधान, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से किया जाता है. इसमें डेटा स्टोर करने की जगह (संभावित रूप से उसका नाम बदला जा सकता है) भी शामिल होता है.

विश्लेषण के समय, संबंधित File को ctx.outputs का इस्तेमाल करके वापस पाया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).

output_list

Attribute attr.output_list(allow_empty=True, *, doc='', mandatory=False)

आउटपुट की लिस्ट वाले एट्रिब्यूट के लिए स्कीमा बनाता है.

इस एट्रिब्यूट में यूनीक Label वैल्यू शामिल हैं. अगर Label की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों का समाधान, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से किया जाता है. इसमें डेटा स्टोर करने की जगह (संभावित रूप से उसका नाम बदला जा सकता है) भी शामिल होता है.

विश्लेषण के समय, संबंधित File को ctx.outputs का इस्तेमाल करके वापस पाया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).

स्ट्रिंग

Attribute attr.string(default='', doc='', mandatory=False, values=[])

स्ट्रिंग एट्रिब्यूट के लिए स्कीमा बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
default string; or NativeComputedDefault; डिफ़ॉल्ट = ''
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
values sequence of strings; डिफ़ॉल्ट = []
एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी दर्ज की जाती है.

string_dict

Attribute attr.string_dict(allow_empty=True, *, default={}, doc='', mandatory=False)

डिक्शनरी को होल्ड करने वाले एट्रिब्यूट के लिए स्कीमा बनाता है, जिसमें कुंजियां और वैल्यू स्ट्रिंग होती हैं.

पैरामीटर

पैरामीटर ब्यौरा
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
default default = {}
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).

string_list

Attribute attr.string_list(mandatory=False, allow_empty=True, *, default=[], doc='')

स्ट्रिंग की सूची एट्रिब्यूट के लिए स्कीमा बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
default sequence of strings; or NativeComputedDefault; डिफ़ॉल्ट = []
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.

string_list_dict

Attribute attr.string_list_dict(allow_empty=True, *, default={}, doc='', mandatory=False)

डिक्शनरी को होल्ड करने वाले एट्रिब्यूट के लिए स्कीमा बनाता है. इसमें कुंजियां स्ट्रिंग होती हैं और वैल्यू, स्ट्रिंग की सूचियां होती हैं.

पैरामीटर

पैरामीटर ब्यौरा
allow_empty डिफ़ॉल्ट = सही
एट्रिब्यूट की वैल्यू को खाली छोड़ने पर, 'सही' होता है.
default default = {}
अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc डिफ़ॉल्ट = ''
एट्रिब्यूट के बारे में जानकारी, जिसे दस्तावेज़ जनरेट करने वाले टूल की मदद से हासिल किया जा सकता है.
mandatory डिफ़ॉल्ट = गलत
अगर सही है, तो वैल्यू साफ़ तौर पर बताई जानी चाहिए (भले ही उसमें default मौजूद हो).