attr

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

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

पैसे चुकाकर बने सदस्यों के लिए

bool

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

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

पैरामीटर

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

int

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

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

पैरामीटर

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

int_list

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

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

पैरामीटर

पैरामीटर ब्यौरा
mandatory default = False
अगर सही है, तो वैल्यू को साफ़ तौर पर बताया जाना चाहिए (भले ही उसमें default हो).
allow_empty डिफ़ॉल्ट = True
अगर एट्रिब्यूट की वैल्यू को खाली छोड़ा जा सकता है, तो True.
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 से बदल दिया जाता है. इससे आपको मौजूदा टारगेट की डिपेंडेंसी की सेवा देने वाली कंपनियों को ऐक्सेस करने की अनुमति मिलती है.

सामान्य सोर्स फ़ाइलों के अलावा, इस तरह के एट्रिब्यूट का इस्तेमाल अक्सर टूल के बारे में बताने के लिए किया जाता है -- उदाहरण के लिए, कोई कंपाइलर. इस तरह के टूल को सोर्स फ़ाइलों की तरह ही डिपेंडेंसी माना जाता है. उपयोगकर्ता जब भी अपनी BUILD फ़ाइलों में नियम का इस्तेमाल करें, तो हर बार टूल का लेबल बताने की ज़रूरत न पड़े, इसके लिए आप कैननिकल टूल के लेबल को इस एट्रिब्यूट की 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 = False
अगर सही है, तो वैल्यू को साफ़ तौर पर बताया जाना चाहिए (भले ही उसमें default हो).
providers डिफ़ॉल्ट = []
सेवा देने वाली वे कंपनियां जिन्हें इस एट्रिब्यूट में दिखने वाली डिपेंडेंसी के हिसाब से तय किया जाना चाहिए.

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

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 डिफ़ॉल्ट = True
अगर एट्रिब्यूट की वैल्यू को खाली छोड़ा जा सकता है, तो True.
default dict; or function; डिफ़ॉल्ट = {}
नियम को इंस्टैंशिएट करते समय, इस एट्रिब्यूट के लिए कोई वैल्यू न दिए जाने पर, एक डिफ़ॉल्ट वैल्यू इस्तेमाल करें.डिफ़ॉल्ट वैल्यू बताने के लिए, स्ट्रिंग या 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 डिफ़ॉल्ट = []
सेवा देने वाली वे कंपनियां जिन्हें इस एट्रिब्यूट में दिखने वाली डिपेंडेंसी के हिसाब से तय किया जाना चाहिए.

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

flags sequence of strings; डिफ़ॉल्ट = []
अब काम नहीं करता, इसे हटा दिया जाएगा.
mandatory default = False
अगर सही है, तो वैल्यू को साफ़ तौर पर बताया जाना चाहिए (भले ही उसमें 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 डिफ़ॉल्ट = True
अगर एट्रिब्यूट की वैल्यू को खाली छोड़ा जा सकता है, तो True.
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 डिफ़ॉल्ट = []
सेवा देने वाली वे कंपनियां जिन्हें इस एट्रिब्यूट में दिखने वाली डिपेंडेंसी के हिसाब से तय किया जाना चाहिए.

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

flags sequence of strings; डिफ़ॉल्ट = []
अब काम नहीं करता, इसे हटा दिया जाएगा.
mandatory default = False
अगर सही है, तो वैल्यू को साफ़ तौर पर बताया जाना चाहिए (भले ही उसमें 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 की जगह कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदला जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों को, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से हल किया जाता है. इसमें, ऐसा डेटा स्टोर करने की जगह भी हो जिसका नाम बदला जा सकता है.

विश्लेषण के समय, ctx.outputs का इस्तेमाल करके उससे जुड़े File को वापस पाया जा सकता है.

पैरामीटर

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

output_list

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

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

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

विश्लेषण के समय, ctx.outputs का इस्तेमाल करके उससे जुड़े File को वापस पाया जा सकता है.

पैरामीटर

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

स्ट्रिंग

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

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

पैरामीटर

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

string_dict

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

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

पैरामीटर

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

string_list

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

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

पैरामीटर

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

string_list_dict

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

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

पैरामीटर

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