attr

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

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

सदस्य

बूल

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 मौजूद हो).
values sequence of ints; default = []
एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी दर्ज की जाती है.

int_list

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

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

पैरामीटर

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

लेबल

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

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

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

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

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

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

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

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

आउटपुट

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

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

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

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

पैरामीटर

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

output_list

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

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

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

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

पैरामीटर

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

string_list

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

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

पैरामीटर

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

string_list_dict

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

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

पैरामीटर

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