attr

किसी समस्या की शिकायत करें सोर्स देखें रात · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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

सदस्य

बूल

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

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

पैरामीटर

पैरामीटर ब्यौरा
default डिफ़ॉल्ट रूप से False
है अगर नियम को इंस्टैंशिएट करते समय इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.
doc स्ट्रिंग या 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 int के sequence; डिफ़ॉल्ट []
है एट्रिब्यूट के लिए इस्तेमाल की जा सकने वाली वैल्यू की सूची. अगर कोई दूसरी वैल्यू दी जाती है, तो गड़बड़ी का मैसेज दिखता है.

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 से बदल दिया जाता है. इससे आपको मौजूदा टारगेट की डिपेंडेंसी देने वाली कंपनियों को ऐक्सेस करने में मदद मिलती है.

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

पैरामीटर

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

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; या फ़ंक्शन; डिफ़ॉल्ट {}
है नियम को इंस्टैंशिएट करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा सकता है.डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या 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 स्ट्रिंग का क्रम या None; डिफ़ॉल्ट रूप से None
किन नियम टारगेट (क्लास का नाम) की अनुमति है. इस सुविधा के इस्तेमाल पर रोक लगा दी गई है. इसे सिर्फ़ साथ काम करने के लिए रखा जाता है. इसके बजाय, सेवा देने वाली कंपनियों का इस्तेमाल करें.
providers डिफ़ॉल्ट रूप से []
है इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के हिसाब से, सेवा देने वाली कंपनियों को दी जानी चाहिए.

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

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

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

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

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

आउटपुट

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

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

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

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

पैरामीटर

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

output_list

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

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

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

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

पैरामीटर

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

स्ट्रिंग

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

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

पैरामीटर

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

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 स्ट्रिंग का सीक्वेंस; या 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 हो.