attr

समस्या की शिकायत करें सोर्स देखें

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

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

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

bool

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

बूलियन एट्रिब्यूट के लिए स्कीमा बनाता है. इससे जुड़ा ctx.attr एट्रिब्यूट, bool की तरह का होगा.

पैरामीटर

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

int

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

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

पैरामीटर

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

int_list

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

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

पैरामीटर

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

लेबल

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

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

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

label_keyed_string_dict

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

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

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

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

पैरामीटर

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

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

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

label_list

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

'लेबल की सूची' एट्रिब्यूट के लिए स्कीमा बनाता है. यह एक डिपेंडेंसी एट्रिब्यूट है. संबंधित ctx.attr एट्रिब्यूट, Targets की सूची के टाइप की होगी.

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

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

पैरामीटर

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

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

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

आउटपुट

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

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

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

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

पैरामीटर

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

output_list

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

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

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

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

पैरामीटर

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

स्ट्रिंग

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

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

पैरामीटर

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

string_dict

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

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

पैरामीटर

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

string_list

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

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

पैरामीटर

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

string_list_dict

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

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

पैरामीटर

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