Configuration class¶
This page documents the Config class. For learning how to configure Flexx,
see configuring flexx.
- 
class 
flexx.util.config.Config(name, *sources, **options)¶ Class for configuration objects.
A Config object has a set of options, which can be str, int, float, bool, or a tuple of any of the above. Options can be set from different sources:
- Each option has a default value.
 - From .cfg or .ini files.
 - From strings in ini format.
 - From environment variables.
 - From command-line arguments.
 - By setting the config option directly.
 
パラメータ: - name (str) – the name by which to identify this config. This name is used as a prefix in environment variables and command line arguments, and optionally as a section header in .cfg files.
 - *sources – Sources to initialize the option values with.
These can be strings in ini format, or .ini or .cfg filenames.
If a file is given that does not exist, it is simply ignored.
Special prefixes 
~/and~appdata/are expanded to the home dir and appdata dir. - **options – The options specification: each option consists of a 3-element tuple (default, type, docstring).
 
Example
config = Config('myconfig', '~appdata/.myconfig.cfg', foo=(False, bool, 'Whether to foo'), bar=(0.0, float, 'The size of the bar'), spam=('1,2,3', [int], 'A tuple of ints'))
With this, options can be set:
- With an entry 
foo = 3in “~appdata/.myconfig.cfg”. - With a string 
"foo = 3"passed at initialization. - With an environment variable named 
MYCONFIG_FOO. - With a command line argument 
--myconfig-foo=3. - By doing 
config.foo = 3, orconfig['foo'] = 3in Python. 
Notes
- Option names are case insensitive, except for attribute access and environment variables (the latter must be all uppercase).
 - All values can be set as a Python object or a string; they are automatically converted to the correct type.
 - Each instance gets a docstring that lists all options, so it can easily be used in e.g. Sphynx docs.
 
- 
load_from_file(filename)¶ Load config options from a file, as if it was given as a source during initialization. This means that options set via argv, environ or directly will not be influenced.
- 
load_from_string(text, filename='<string>')¶ Load config options from a string, as if it was given as a source during initialization. This means that options set via argv, environ or directly will not be influenced.