|  |  | 
__builtin__.object
Config
Item
Choice
Comment
Menu
Symbol
exceptions.Exception(exceptions.BaseException)
Internal_Error
Kconfig_Syntax_Error
 
 
| class Choice(Item)
 |  |  | Represents a choice statement. A choice can be in one of three modes: 
 "n" - The choice is not visible and no symbols can be selected.
 
 "m" - Any number of symbols can be set to "m". The rest will be "n". This
 is safe since potentially conflicting options don't actually get
 compiled into the kernel simultaneously with "m".
 
 "y" - One symbol will be "y" while the rest are "n".
 
 Only tristate choices can be in "m" mode, and the visibility of the choice
 is an upper bound on the mode, so that e.g. a choice that depends on a
 symbol with value "m" will be in "m" mode.
 
 The mode changes automatically when a value is assigned to a symbol within
 the choice.
 
 See Symbol.get_visibility() too.
 
 |  |  | Method resolution order:ChoiceItem__builtin__.object
 Methods defined here:
 
 __init__(self)Choice constructor -- not intended to be called directly byKconfiglib clients.
 __str__(self)Returns a string containing various information about the choicestatement.
 get_config(self)Returns the Config instance this choice is from.
 get_def_locations(self)Returns a list of (filename, linenr) tuples, where filename (string)and linenr (int) represent a location where the choice is defined. For
 the vast majority of choices (all of them as of Linux 3.7.0-rc8) this
 list will only contain one element, but its possible for named choices
 to be defined in multiple locations.
 get_help(self)Returns the help text of the choice, or None if the choice has nohelp text.
 get_items(self)Gets all items contained in the choice in the same order as withinthe configuration ("items" instead of "symbols" since choices and
 comments might appear within choices. This only happens in one place as
 of Linux 3.7.0-rc8, in drivers/usb/gadget/Kconfig).
 get_mode(self)Returns the mode of the choice. See the class documentation foran explanation of modes.
 get_name(self)For named choices, returns the name. Returns None for unnamedchoices. No named choices appear anywhere in the kernel Kconfig files
 as of Linux 3.7.0-rc8.
 get_parent(self)Returns the menu or choice statement that contains the choice, orNone if the choice is at the top level. Note that if statements are
 treated as syntactic sugar and do not have an explicit class
 representation.
 get_prompts(self)Returns a list of prompts defined for the choice, in the order theyappear in the configuration files. Returns the empty list for choices
 with no prompt.
 
 This list will have a single entry for the vast majority of choices
 having prompts, but having multiple prompts for a single choice is
 possible through having multiple 'choice' entries for it (though I'm
 not sure if that ever happens in practice).
 get_referenced_symbols(self, refs_from_enclosing=False)See Symbol.get_referenced_symbols().
 get_selection(self)Returns the symbol selected (either by the user or throughdefaults), or None if either no symbol is selected or the mode is not
 "y".
 get_selection_from_defaults(self)Like Choice.get_selection(), but acts as if no symbol has beenselected by the user and no 'optional' flag is in effect.
 get_symbols(self)Returns a list containing the choice's symbols.
 A quirk (perhaps a bug) of Kconfig is that you can put items within a
 choice that will not be considered members of the choice insofar as
 selection is concerned. This happens for example if one symbol within a
 choice 'depends on' the symbol preceding it, or if you put non-symbol
 items within choices.
 
 As of Linux 3.7.0-rc8, this seems to be used intentionally in one
 place: drivers/usb/gadget/Kconfig.
 
 This function returns the "proper" symbols of the choice in the order
 they appear in the choice, excluding such items. If you want all items
 in the choice, use get_items().
 get_type(self)Returns the type of the choice. See Symbol.get_type().
 get_user_selection(self)If the choice is in "y" mode and has a user-selected symbol, returnsthat symbol. Otherwise, returns None.
 get_visibility(self)Returns the visibility of the choice statement: one of "n", "m" or"y". This acts as an upper limit on the mode of the choice (though bool
 choices can only have the mode "y"). See the class documentation for an
 explanation of modes.
 is_optional(self)Returns True if the choice has the 'optional' flag set (and so willdefault to "n" mode).
 Methods inherited from Item:
 
 is_choice(self)Returns True if the item is a choice. Short forisinstance(item, kconfiglib.Choice).
 is_comment(self)Returns True if the item is a comment. Short forisinstance(item, kconfiglib.Comment).
 is_menu(self)Returns True if the item is a menu. Short forisinstance(item, kconfiglib.Menu).
 is_symbol(self)Returns True if the item is a symbol. Short forisinstance(item, kconfiglib.Symbol).
 Data descriptors inherited from Item:
 
 __dict__dictionary for instance variables (if defined)
 __weakref__list of weak references to the object (if defined)
 |  
 
| class Comment(Item)
 |  |  | Represents a comment statement. 
 |  |  | Method resolution order:CommentItem__builtin__.object
 Methods defined here:
 
 __init__(self)Comment constructor -- not intended to be called directly byKconfiglib clients.
 __str__(self)Returns a string containing various information about thecomment.
 get_config(self)Returns the Config instance this comment is from.
 get_location(self)Returns the location of the comment as a (filename, linenr) tuple,where filename is a string and linenr an int.
 get_parent(self)Returns the menu or choice statement that contains the comment, orNone if the comment is at the top level. Note that if statements are
 treated as syntactic sugar and do not have an explicit class
 representation.
 get_referenced_symbols(self, refs_from_enclosing=False)See Symbol.get_referenced_symbols().
 get_text(self)Returns the text of the comment.
 get_visibility(self)Returns the visibility of the comment. See alsoSymbol.get_visibility().
 Methods inherited from Item:
 
 is_choice(self)Returns True if the item is a choice. Short forisinstance(item, kconfiglib.Choice).
 is_comment(self)Returns True if the item is a comment. Short forisinstance(item, kconfiglib.Comment).
 is_menu(self)Returns True if the item is a menu. Short forisinstance(item, kconfiglib.Menu).
 is_symbol(self)Returns True if the item is a symbol. Short forisinstance(item, kconfiglib.Symbol).
 Data descriptors inherited from Item:
 
 __dict__dictionary for instance variables (if defined)
 __weakref__list of weak references to the object (if defined)
 |  
 
| class Config(__builtin__.object)
 |  |  | Represents a Kconfig configuration, e.g. for i386 or ARM. This is the set of symbols and other items appearing in the configuration together with
 their values. Creating any number of Config objects -- including for
 different architectures -- is safe; Kconfiglib has no global state.
 
 |  |  | Methods defined here: 
 __getitem__(self, name)Returns the symbol with name 'name'. Raises KeyError if the symboldoes not appear in the configuration.
 __init__(self, filename='Kconfig', base_dir=None, print_warnings=True, print_undef_assign=False)Creates a new Config object, representing a Kconfig configuration.Raises Kconfig_Syntax_Error on syntax errors.
 
 filename (default: "Kconfig"): The base Kconfig file of the
 configuration. For the Linux kernel, you'll probably want "Kconfig"
 from the top-level directory, as environment variables will make
 sure the right Kconfig is included from there
 (arch/<architecture>/Kconfig). If you are using Kconfiglib via 'make
 scriptconfig', the filename of the base base Kconfig file will be in
 sys.argv[1].
 
 base_dir (default: None): The base directory relative to which 'source'
 statements within Kconfig files will work. For the Linux kernel this
 should be the top-level directory of the kernel tree. $-references
 to existing environment variables will be expanded.
 
 If None (the default), the environment variable 'srctree' will be
 used if set, and the current directory otherwise. 'srctree' is set
 by the Linux makefiles to the top-level kernel directory. A default
 of "." would not work with an alternative build directory.
 
 print_warnings (default: True): Set to True if warnings related to this
 configuration should be printed to stderr. This can be changed later
 with Config.set_print_warnings(). It is provided as a constructor
 argument since warnings might be generated during parsing.
 
 print_undef_assign (default: False): Set to True if informational
 messages related to assignments to undefined symbols should be
 printed to stderr for this configuration. Can be changed later with
 Config.set_print_undef_assign().
 __iter__(self)Convenience function for iterating over the set of all definedsymbols in the configuration, used like
 
 for sym in conf:
 ...
 
 The iteration happens in the order of definition within the Kconfig
 configuration files. Symbols only referred to but not defined will not
 be included, nor will the special symbols n, m, and y. If you want to
 include such symbols as well, see config.get_symbols().
 __str__(self)Returns a string containing various information about the Config.
 eval(self, s)Returns the value of the expression 's' -- where 's' is representedas a string -- in the context of the configuration. Raises
 Kconfig_Syntax_Error if syntax errors are detected in 's'.
 
 For example, if FOO and BAR are tristate symbols at least one of which
 has the value "y", then config.eval("y && (FOO || BAR)") => "y"
 
 This function always yields a tristate value. To get the value of
 non-bool, non-tristate symbols, use Symbol.get_value().
 
 The result of this function is consistent with how evaluation works for
 conditional expressions in the configuration as well as in the C
 implementation. "m" and m are rewritten as '"m" && MODULES' and 'm &&
 MODULES', respectively, and a result of "m" will get promoted to "y" if
 we're running without modules.
 
 Syntax checking is somewhat lax, partly to be compatible with lax
 parsing in the C implementation.
 get_arch(self)Returns the value the environment variable ARCH had at the time theConfig instance was created, or None if ARCH was not set. For the
 kernel, this corresponds to the architecture being built for, with
 values such as "i386" or "mips".
 get_base_dir(self)Returns the base directory relative to which 'source' statementswill work, passed as an argument to Config.__init__().
 get_choices(self)Returns a list containing all choice statements in theconfiguration, in the order they appear in the Kconfig files.
 get_comments(self)Returns a list containing all comments in the configuration, in theorder they appear in the Kconfig files.
 get_config_filename(self)Returns the filename of the most recently loaded configuration file,or None if no configuration has been loaded.
 get_config_header(self)Returns the (uncommented) textual header of the .config file mostrecently loaded with load_config(). Returns None if no .config file has
 been loaded or if the most recently loaded .config file has no header.
 The header consists of all lines up to but not including the first line
 that either
 
 1. Does not start with "#"
 2. Has the form "# CONFIG_FOO is not set."
 get_defconfig_filename(self)Returns the name of the defconfig file, which is the first existingfile in the list given in a symbol having 'option defconfig_list' set.
 $-references to symbols will be expanded ("$FOO bar" -> "foo bar" if
 FOO has the value "foo"). Returns None in case of no defconfig file.
 Setting 'option defconfig_list' on multiple symbols currently results
 in undefined behavior.
 
 If the environment variable 'srctree' was set when the Config was
 created, get_defconfig_filename() will first look relative to that
 directory before looking in the current directory; see
 Config.__init__().
 
 WARNING: A wart here is that scripts/kconfig/Makefile sometimes uses
 the --defconfig=<defconfig> option when calling the C implementation of
 e.g. 'make defconfig'. This option overrides the 'option
 defconfig_list' symbol, meaning the result from
 get_defconfig_filename() might not match what 'make defconfig' would
 use. That probably ought to be worked around somehow, so that this
 function always gives the "expected" result.
 get_kconfig_filename(self)Returns the name of the (base) kconfig file this configuration wasloaded from.
 get_mainmenu_text(self)Returns the text of the 'mainmenu' statement (with $-references tosymbols replaced by symbol values), or None if the configuration has no
 'mainmenu' statement.
 get_menus(self)Returns a list containing all menus in the configuration, in theorder they appear in the Kconfig files.
 get_srcarch(self)Returns the value the environment variable SRCARCH had at the timethe Config instance was created, or None if SRCARCH was not set. For
 the kernel, this corresponds to the particular arch/ subdirectory
 containing architecture-specific code.
 get_srctree(self)Returns the value the environment variable srctree had at the timethe Config instance was created, or None if srctree was not defined.
 This variable points to the source directory and is used when building
 in a separate directory.
 get_symbol(self, name)Returns the symbol with name 'name', or None if no such symbolappears in the configuration. An alternative shorthand is conf[name],
 where conf is a Config instance, though that will instead raise
 KeyError if the symbol does not exist.
 get_symbols(self, all_symbols=True)Returns a list of symbols from the configuration. An alternative foriterating over all defined symbols (in the order of definition) is
 
 for sym in config:
 ...
 
 which relies on Config implementing __iter__() and is equivalent to
 
 for sym in config.get_symbols(False):
 ...
 
 all_symbols (default: True): If True, all symbols -- including special
 and undefined symbols -- will be included in the result, in an
 undefined order. If False, only symbols actually defined and not
 merely referred to in the configuration will be included in the
 result, and will appear in the order that they are defined within
 the Kconfig configuration files.
 get_top_level_items(self)Returns a list containing the items (symbols, menus, choices, andcomments) at the top level of the configuration -- that is, all items
 that do not appear within a menu or choice. The items appear in the
 same order as within the configuration.
 load_config(self, filename, replace=True)Loads symbol values from a file in the familiar .config format.Equivalent to calling Symbol.set_user_value() to set each of the
 values.
 
 "# CONFIG_FOO is not set" within a .config file is treated specially
 and sets the user value of FOO to 'n'. The C implementation works the
 same way.
 
 filename: The .config file to load. $-references to existing
 environment variables will be expanded. For scripts to work even when
 an alternative build directory is used with the Linux kernel, you
 need to refer to the top-level kernel directory with "$srctree".
 
 replace (default: True): True if the configuration should replace the
 old configuration; False if it should add to it.
 set_print_undef_assign(self, print_undef_assign)Determines whether informational messages related to assignments toundefined symbols should be printed to stderr for this configuration.
 
 print_undef_assign: If True, such messages will be printed.
 set_print_warnings(self, print_warnings)Determines whether warnings related to this configuration (forthings like attempting to assign illegal values to symbols with
 Symbol.set_user_value()) should be printed to stderr.
 
 print_warnings: True if warnings should be printed.
 unset_user_values(self)Resets the values of all symbols, as if Config.load_config() orSymbol.set_user_value() had never been called.
 write_config(self, filename, header=None)Writes out symbol values in the familiar .config format.
 Kconfiglib makes sure the format matches what the C implementation
 would generate, down to whitespace. This eases testing.
 
 filename: The filename under which to save the configuration.
 
 header (default: None): A textual header that will appear at the
 beginning of the file, with each line commented out automatically.
 None means no header.
 Data descriptors defined here:
 
 __dict__dictionary for instance variables (if defined)
 __weakref__list of weak references to the object (if defined)
 |  
 
 
| class Item(__builtin__.object)
 |  |  | Base class for symbols and other Kconfig constructs. Subclasses are Symbol, Choice, Menu, and Comment.
 
 |  |  | Methods defined here: 
 is_choice(self)Returns True if the item is a choice. Short forisinstance(item, kconfiglib.Choice).
 is_comment(self)Returns True if the item is a comment. Short forisinstance(item, kconfiglib.Comment).
 is_menu(self)Returns True if the item is a menu. Short forisinstance(item, kconfiglib.Menu).
 is_symbol(self)Returns True if the item is a symbol. Short forisinstance(item, kconfiglib.Symbol).
 Data descriptors defined here:
 
 __dict__dictionary for instance variables (if defined)
 __weakref__list of weak references to the object (if defined)
 |  
 
 
| class Menu(Item)
 |  |  | Represents a menu statement. 
 |  |  | Method resolution order:MenuItem__builtin__.object
 Methods defined here:
 
 __init__(self)Menu constructor -- not intended to be called directly byKconfiglib clients.
 __str__(self)Returns a string containing various information about the menu.
 get_config(self)Return the Config instance this menu is from.
 get_items(self, recursive=False)Returns a list containing the items (symbols, menus, choicestatements and comments) in in the menu, in the same order that the
 items appear within the menu.
 
 recursive (default: False): True if items contained in items within the
 menu should be included recursively (preorder).
 get_location(self)Returns the location of the menu as a (filename, linenr) tuple,where filename is a string and linenr an int.
 get_parent(self)Returns the menu or choice statement that contains the menu, orNone if the menu is at the top level. Note that if statements are
 treated as syntactic sugar and do not have an explicit class
 representation.
 get_referenced_symbols(self, refs_from_enclosing=False)See Symbol.get_referenced_symbols().
 get_symbols(self, recursive=False)Returns a list containing the symbols in the menu, in the same orderthat they appear within the menu.
 
 recursive (default: False): True if symbols contained in items within
 the menu should be included recursively.
 get_title(self)Returns the title text of the menu.
 get_visibility(self)Returns the visibility of the menu. This also affects the visibilityof subitems. See also Symbol.get_visibility().
 get_visible_if_visibility(self)Returns the visibility the menu gets from its 'visible if'condition. "y" if the menu has no 'visible if' condition.
 Methods inherited from Item:
 
 is_choice(self)Returns True if the item is a choice. Short forisinstance(item, kconfiglib.Choice).
 is_comment(self)Returns True if the item is a comment. Short forisinstance(item, kconfiglib.Comment).
 is_menu(self)Returns True if the item is a menu. Short forisinstance(item, kconfiglib.Menu).
 is_symbol(self)Returns True if the item is a symbol. Short forisinstance(item, kconfiglib.Symbol).
 Data descriptors inherited from Item:
 
 __dict__dictionary for instance variables (if defined)
 __weakref__list of weak references to the object (if defined)
 |  
 
| class Symbol(Item)
 |  |  | Represents a configuration symbol - e.g. FOO for 
 config FOO
 ...
 
 |  |  | Method resolution order:SymbolItem__builtin__.object
 Methods defined here:
 
 __init__(self)Symbol constructor -- not intended to be called directly byKconfiglib clients.
 __str__(self)Returns a string containing various information about the symbol.
 get_assignable_values(self)For string/hex/int symbols and for bool and tristate symbols thatcannot be modified (see is_modifiable()), returns the empty list.
 
 Otherwise, returns a list containing the user values that can be
 assigned to the symbol (that won't be truncated). Usage example:
 
 if "m" in sym.get_assignable_values():
 sym.set_user_value("m")
 
 This is basically a more convenient interface to
 get_lower/upper_bound() when wanting to test if a particular tristate
 value can be assigned.
 get_config(self)Returns the Config instance this symbol is from.
 get_def_locations(self)Returns a list of (filename, linenr) tuples, where filename (string)and linenr (int) represent a location where the symbol is defined. For
 the vast majority of symbols this list will only contain one element.
 For the following Kconfig, FOO would get two entries: the lines marked
 with *.
 
 config FOO *
 bool "foo prompt 1"
 
 config FOO *
 bool "foo prompt 2"
 get_help(self)Returns the help text of the symbol, or None if the symbol has nohelp text.
 get_lower_bound(self)For string/hex/int symbols and for bool and tristate symbols thatcannot be modified (see is_modifiable()), returns None.
 
 Otherwise, returns the lowest value the symbol can be set to with
 Symbol.set_user_value() (that will not be truncated): one of "n" or
 "m", arranged from lowest to highest. This corresponds to the lowest
 value the symbol could be given in e.g. the 'make menuconfig'
 interface.
 
 See also the tri_less*() and tri_greater*() functions, which could come
 in handy.
 get_name(self)Returns the name of the symbol.
 get_parent(self)Returns the menu or choice statement that contains the symbol, orNone if the symbol is at the top level. Note that if statements are
 treated as syntactic and do not have an explicit class
 representation.
 get_prompts(self)Returns a list of prompts defined for the symbol, in the order theyappear in the configuration files. Returns the empty list for symbols
 with no prompt.
 
 This list will have a single entry for the vast majority of symbols
 having prompts, but having multiple prompts for a single symbol is
 possible through having multiple 'config' entries for it.
 get_ref_locations(self)Returns a list of (filename, linenr) tuples, where filename (string)and linenr (int) represent a location where the symbol is referenced in
 the configuration. For example, the lines marked by * would be included
 for FOO below:
 
 config A
 bool
 default BAR || FOO *
 
 config B
 tristate
 depends on FOO *
 default m if FOO *
 
 if FOO *
 config A
 bool "A"
 endif
 
 config FOO (definition not included)
 bool
 get_referenced_symbols(self, refs_from_enclosing=False)Returns the set() of all symbols referenced by this symbol. Forexample, the symbol defined by
 
 config FOO
 bool
 prompt "foo" if A && B
 default C if D
 depends on E
 select F if G
 
 references the symbols A through G.
 
 refs_from_enclosing (default: False): If True, the symbols referenced
 by enclosing menus and ifs will be included in the result.
 get_selected_symbols(self)Returns the set() of all symbols X for which this symbol has a'select X' or 'select X if Y' (regardless of whether Y is satisfied or
 not). This is a subset of the symbols returned by
 get_referenced_symbols().
 get_type(self)Returns the type of the symbol: one of UNKNOWN, BOOL, TRISTATE,STRING, HEX, or INT. These are defined at the top level of the module,
 so you'd do something like
 
 if sym.get_type() == kconfiglib.STRING:
 ...
 get_upper_bound(self)For string/hex/int symbols and for bool and tristate symbols thatcannot be modified (see is_modifiable()), returns None.
 
 Otherwise, returns the highest value the symbol can be set to with
 Symbol.set_user_value() (that will not be truncated): one of "m" or
 "y", arranged from lowest to highest. This corresponds to the highest
 value the symbol could be given in e.g. the 'make menuconfig'
 interface.
 
 See also the tri_less*() and tri_greater*() functions, which could come
 in handy.
 get_user_value(self)Returns the value assigned to the symbol in a .config or viaSymbol.set_user_value() (provided the value was valid for the type of
 the symbol). Returns None in case of no user value.
 get_value(self)Calculate and return the value of the symbol. See alsoSymbol.set_user_value().
 get_visibility(self)Returns the visibility of the symbol: one of "n", "m" or "y". Forbool and tristate symbols, this is an upper bound on the value users
 can set for the symbol. For other types of symbols, a visibility of "n"
 means the user value will be ignored. A visibility of "n" corresponds
 to not being visible in the 'make *config' interfaces.
 
 Example (assuming we're running with modules enabled -- i.e., MODULES
 set to 'y'):
 
 # Assume this has been assigned 'n'
 config N_SYM
 tristate "N_SYM"
 
 # Assume this has been assigned 'm'
 config M_SYM
 tristate "M_SYM"
 
 # Has visibility 'n'
 config A
 tristate "A"
 depends on N_SYM
 
 # Has visibility 'm'
 config B
 tristate "B"
 depends on M_SYM
 
 # Has visibility 'y'
 config C
 tristate "C"
 
 # Has no prompt, and hence visibility 'n'
 config D
 tristate
 
 Having visibility be tri-valued ensures that e.g. a symbol cannot be
 set to "y" by the user if it depends on a symbol with value "m", which
 wouldn't be safe.
 
 You should probably look at get_lower/upper_bound(),
 get_assignable_values() and is_modifiable() before using this.
 has_ranges(self)Returns True if the symbol is of type INT or HEX and has ranges thatlimit what values it can take on.
 is_allnoconfig_y(self)Returns True if the symbol has the 'allnoconfig_y' option set.
 is_choice_selection(self)Returns True if the symbol is contained in a choice statement and isthe selected item. Equivalent to
 
 sym.is_choice_symbol() and sym.get_parent().get_selection() is sym
 is_choice_symbol(self)Returns True if the symbol is in a choice statement and is an actualchoice symbol (see Choice.get_symbols()).
 is_defined(self)Returns False if the symbol is referred to in the Kconfig but neveractually defined.
 is_from_environment(self)Returns True if the symbol gets its value from the environment.
 is_modifiable(self)Returns True if the value of the symbol could be modified by callingSymbol.set_user_value().
 
 For bools and tristates, this corresponds to the symbol being visible
 in the 'make menuconfig' interface and not already being pinned to a
 specific value (e.g. because it is selected by another symbol).
 
 For strings and numbers, this corresponds to just being visible. (See
 Symbol.get_visibility().)
 is_special(self)Returns True if the symbol is one of the special symbols n, m, y, orUNAME_RELEASE, or gets its value from the environment.
 set_user_value(self, v)Sets the user value of the symbol.
 Equal in effect to assigning the value to the symbol within a .config
 file. Use get_lower/upper_bound() or get_assignable_values() to find
 the range of currently assignable values for bool and tristate symbols;
 setting values outside this range will cause the user value to differ
 from the result of Symbol.get_value() (be truncated). Values that are
 invalid for the type (such as a_bool.set_user_value("foo")) are
 ignored, and a warning is emitted if an attempt is made to assign such
 a value.
 
 For any type of symbol, is_modifiable() can be used to check if a user
 value will currently have any effect on the symbol, as determined by
 its visibility and range of assignable values. Any value that is valid
 for the type (bool, tristate, etc.) will end up being reflected in
 get_user_value() though, and might have an effect later if conditions
 change. To get rid of the user value, use unset_user_value().
 
 Any symbols dependent on the symbol are (recursively) invalidated, so
 things will just work with regards to dependencies.
 
 v: The user value to give to the symbol.
 unset_user_value(self)Resets the user value of the symbol, as if the symbol had nevergotten a user value via Config.load_config() or
 Symbol.set_user_value().
 Methods inherited from Item:
 
 is_choice(self)Returns True if the item is a choice. Short forisinstance(item, kconfiglib.Choice).
 is_comment(self)Returns True if the item is a comment. Short forisinstance(item, kconfiglib.Comment).
 is_menu(self)Returns True if the item is a menu. Short forisinstance(item, kconfiglib.Menu).
 is_symbol(self)Returns True if the item is a symbol. Short forisinstance(item, kconfiglib.Symbol).
 Data descriptors inherited from Item:
 
 __dict__dictionary for instance variables (if defined)
 __weakref__list of weak references to the object (if defined)
 |  |