class_docstr: Class representing igraph configuration details.
  
  Note that there is one primary instance of this class, which is used by
  igraph itself to retrieve configuration parameters when needed. You can
  access this instance with the L{instance()} method. You I{may} construct
  other instances by invoking the constructor directly, but these instances
  will I{not} affect igraph's behaviour. If you are interested in configuring
  igraph, use L{igraph.config} to get hold of the singleton instance and then
  modify it.
  
  General ideas
  =============
  
  The configuration of igraph is stored in the form of name-value pairs.
  This object provides an interface to the configuration data using the
  syntax known from dict:
  
    >>> c = Configuration()
    >>> c["general.verbose"] = True
    >>> print(c["general.verbose"])
    True
  
  Configuration keys are organized into sections, and the name to be used
  for a given key is always in the form C{section.keyname}, like
  C{general.verbose} in the example above. In that case, C{general} is the
  name of the configuration section, and C{verbose} is the name of the key.
  If the name of the section is omitted, it defaults to C{general}, so
  C{general.verbose} can be referred to as C{verbose}:
  
    >>> c = Configuration()
    >>> c["verbose"] = True
    >>> print(c["general.verbose"])
    True
  
  User-level configuration is stored in C{~/.igraphrc} per default on Linux
  and Mac OS X systems, or in C{C:\Documents and Settings\username\.igraphrc}
  on Windows systems. However, this configuration is read only when C{igraph}
  is launched through its shell interface defined in L{igraph.app.shell}.
  This behaviour might change before version 1.0.
  
  Known configuration keys
  ========================
  
  The known configuration keys are presented below, sorted by section. When
  referring to them in program code, don't forget to add the section name,
  expect in the case of section C{general}.
  
  General settings
  ----------------
  
  These settings are all stored in section C{general}.
  
      - B{shells}: the list of preferred Python shells to be used with the
        command-line C{igraph} script. The shells in the list are tried one
        by one until any of them is found on the system. C{igraph} functions
        are then imported into the main namespace of the shell and the shell
        is launched. Known shells and their respective class names to be
        used can be found in L{igraph.app.shell}. Example:
        C{IPythonShell, ClassicPythonShell}. This is the default, by the way.
      - B{verbose}: whether L{igraph} should talk more than really necessary.
        For instance, if set to C{True}, some functions display progress bars.
  
  Plotting settings
  -----------------
  
  These settings specify the default values used by plotting functions.
  They are all stored in section C{plotting}.
  
      - B{backend}: either "cairo" if you want to use Cairo for plotting
        or "matplotlib" if you want to use the Matplotlib plotting backend.
  
      - B{layout}: default graph layout algorithm to be used.
  
      - B{mark_groups}: whether to mark the clusters by polygons when
        plotting a clustering object.
  
      - B{palette}: default palette to be used for converting integer
        numbers to colors. See L{colors.Palette} for more information.
        Valid palette names are stored in C{colors.palettes}.
  
      - B{wrap_labels}: whether to try to wrap the labels of the
        vertices automatically if they don't fit within the vertex.
        Default: C{False}.
  
  Shell settings
  --------------
  
  These settings specify options for external environments in which igraph is
  embedded (e.g., IPython and its Qt console). These settings are stored in
  section C{shell}.
  
      - B{ipython.inlining.Plot}: whether to show instances of the
        L{Plot<drawing.Plot>} class
        inline in IPython's console if the console supports it. Default: C{True}
class_docstr_tok: ["Class","representing","igraph","configuration","details",".","Note","that","there","is","one","primary","instance","of","this","class",",","which","is","used","by","igraph","itself","to","retrieve","configuration","parameters","when","needed",".","You","can","access","this","instance","with","the","L","{","instance","(",")","}","method",".","You","I","{","may","}","construct","other","instances","by","invoking","the","constructor","directly",",","but","these","instances","will","I","{","not","}","affect","igraph","'s","behaviour",".","If","you","are","interested","in","configuring","igraph",",","use","L","{","igraph.config","}","to","get","hold","of","the","singleton","instance","and","then","modify","it",".","General","ideas","=============","The","configuration","of","igraph","is","stored","in","the","form","of","name-value","pairs",".","This","object","provides","an","interface","to","the","configuration","data","using","the","syntax","known","from","dict",":",">",">",">","c","=","Configuration","(",")",">",">",">","c","[","``","general.verbose","''","]","=","True",">",">",">","print","(","c","[","``","general.verbose","''","]",")","True","Configuration","keys","are","organized","into","sections",",","and","the","name","to","be","used","for","a","given","key","is","always","in","the","form","C","{","section.keyname","}",",","like","C","{","general.verbose","}","in","the","example","above",".","In","that","case",",","C","{","general","}","is","the","name","of","the","configuration","section",",","and","C","{","verbose","}","is","the","name","of","the","key",".","If","the","name","of","the","section","is","omitted",",","it","defaults","to","C","{","general","}",",","so","C","{","general.verbose","}","can","be","referred","to","as","C","{","verbose","}",":",">",">",">","c","=","Configuration","(",")",">",">",">","c","[","``","verbose","''","]","=","True",">",">",">","print","(","c","[","``","general.verbose","''","]",")","True","User-level","configuration","is","stored","in","C","{","~\/.igraphrc","}","per","default","on","Linux","and","Mac","OS","X","systems",",","or","in","C","{","C",":","\\Documents","and","Settings\\username\\.igraphrc","}","on","Windows","systems",".","However",",","this","configuration","is","read","only","when","C","{","igraph","}","is","launched","through","its","shell","interface","defined","in","L","{","igraph.app.shell","}",".","This","behaviour","might","change","before","version","1.0",".","Known","configuration","keys","========================","The","known","configuration","keys","are","presented","below",",","sorted","by","section",".","When","referring","to","them","in","program","code",",","do","n't","forget","to","add","the","section","name",",","expect","in","the","case","of","section","C","{","general","}",".","General","settings","--","--","--","--","--","--","--","--","These","settings","are","all","stored","in","section","C","{","general","}",".","-","B","{","shells","}",":","the","list","of","preferred","Python","shells","to","be","used","with","the","command-line","C","{","igraph","}","script",".","The","shells","in","the","list","are","tried","one","by","one","until","any","of","them","is","found","on","the","system",".","C","{","igraph","}","functions","are","then","imported","into","the","main","namespace","of","the","shell","and","the","shell","is","launched",".","Known","shells","and","their","respective","class","names","to","be","used","can","be","found","in","L","{","igraph.app.shell","}",".","Example",":","C","{","IPythonShell",",","ClassicPythonShell","}",".","This","is","the","default",",","by","the","way",".","-","B","{","verbose","}",":","whether","L","{","igraph","}","should","talk","more","than","really","necessary",".","For","instance",",","if","set","to","C","{","True","}",",","some","functions","display","progress","bars",".","Plotting","settings","--","--","--","--","--","--","--","--","-","These","settings","specify","the","default","values","used","by","plotting","functions",".","They","are","all","stored","in","section","C","{","plotting","}",".","-","B","{","backend","}",":","either","``","cairo","''","if","you","want","to","use","Cairo","for","plotting","or","``","matplotlib","''","if","you","want","to","use","the","Matplotlib","plotting","backend",".","-","B","{","layout","}",":","default","graph","layout","algorithm","to","be","used",".","-","B","{","mark_groups","}",":","whether","to","mark","the","clusters","by","polygons","when","plotting","a","clustering","object",".","-","B","{","palette","}",":","default","palette","to","be","used","for","converting","integer","numbers","to","colors",".","See","L","{","colors.Palette","}","for","more","information",".","Valid","palette","names","are","stored","in","C","{","colors.palettes","}",".","-","B","{","wrap_labels","}",":","whether","to","try","to","wrap","the","labels","of","the","vertices","automatically","if","they","do","n't","fit","within","the","vertex",".","Default",":","C","{","False","}",".","Shell","settings","--","--","--","--","--","--","--","These","settings","specify","options","for","external","environments","in","which","igraph","is","embedded","(","e.g.",",","IPython","and","its","Qt","console",")",".","These","settings","are","stored","in","section","C","{","shell","}",".","-","B","{","ipython.inlining.Plot","}",":","whether","to","show","instances","of","the","L","{","Plot","<","drawing.Plot",">","}","class","inline","in","IPython","'s","console","if","the","console","supports","it",".","Default",":","C","{","True","}"]
docstr: Returns the filename associated to the object.
  
  It is usually the name of the configuration file that was used when
  creating the object. L{Configuration.load} always overwrites it with
  the filename given to it. If C{None}, the configuration was either
  created from scratch or it was updated from a stream without name
  information.
docstr_tok: ["Returns","the","filename","associated","to","the","object",".","It","is","usually","the","name","of","the","configuration","file","that","was","used","when","creating","the","object",".","L","{","Configuration.load","}","always","overwrites","it","with","the","filename","given","to","it",".","If","C","{","None","}",",","the","configuration","was","either","created","from","scratch","or","it","was","updated","from","a","stream","without","name","information","."]
code: def filename(self):
      """Returns the filename associated to the object.
  
      It is usually the name of the configuration file that was used when
      creating the object. L{Configuration.load} always overwrites it with
      the filename given to it. If C{None}, the configuration was either
      created from scratch or it was updated from a stream without name
      information."""
      return self._filename
  
file_path: python-igraph/src/igraph/configuration.py
imports: import os.path
  from configparser import ConfigParser
label_desc: Use image node_id 2 for calling the Configuration obj's underlying member method code with example usage: obj.filename() and returns: self