attr

समस्या की शिकायत करें सोर्स देखें Nightly · 7.4 . 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 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 int का sequence; डिफ़ॉल्ट []
है नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू.
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 Label; या string; या LateBoundDefault; या NativeComputedDefault; या function; या None; डिफ़ॉल्ट None
नियम को लागू करते समय, अगर इस एट्रिब्यूट के लिए कोई वैल्यू नहीं दी जाती है, तो इस्तेमाल करने के लिए डिफ़ॉल्ट वैल्यू. डिफ़ॉल्ट वैल्यू तय करने के लिए, स्ट्रिंग या Label फ़ंक्शन का इस्तेमाल करें. उदाहरण के लिए, attr.label(default = "//a:b").
doc स्ट्रिंग या 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" या "target" हो सकता है. "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 या 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 स्ट्रिंग का क्रम या None; डिफ़ॉल्ट रूप से None
किन नियम टारगेट (क्लास का नाम) की अनुमति है. इसे बंद कर दिया गया है (सिर्फ़ काम करने के लिए रखा गया है). इसके बजाय, प्रोवाइडर का इस्तेमाल करें.
providers [] डिफ़ॉल्ट है
इस एट्रिब्यूट में दिखने वाली किसी भी डिपेंडेंसी के हिसाब से, सेवा देने वाली कंपनियों को तय करना ज़रूरी है.

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

flags string का क्रम; डिफ़ॉल्ट रूप से []
यह काम नहीं करता है, इसे हटा दिया जाएगा.
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 एट्रिब्यूट, Target की सूची टाइप का होगा.

इस एट्रिब्यूट में यूनीक 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" या "target" हो सकता है. "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 के बजाय कोई स्ट्रिंग दी जाती है, तो उसे लेबल कंस्ट्रक्टर का इस्तेमाल करके बदल दिया जाएगा. लेबल पाथ के मिलते-जुलते हिस्सों का समाधान, इंस्टैंशिएट किए गए टारगेट के पैकेज के हिसाब से किया जाता है. इसमें डेटा स्टोर करने की जगह (संभावित रूप से उसका नाम बदला जा सकता है) भी शामिल होता है.

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

पैरामीटर

पैरामीटर ब्यौरा
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 स्ट्रिंग या 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 string या 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 मौजूद हो.