Welcome to confattr’s documentation¶
confattr (config attributes) is a python library to read and write config files with the following features:
Static type checking of the code is possible with e.g. mypy.
Values are checked and if the config file contains invalid syntax, unknown keys or invalid values a useful error messages is given to the user via a callback registered with
ConfigFile.set_ui_callback().It is possible to create a default config file with comments giving help and allowed values via
ConfigFile.save().It is easy to integrate into existing projects, just replace an existing attribute with a
Configinstance. For example, assume a class has the attributecolor = 'red'. Replace it withcolor = Config('color', 'red', allowed_values=['red', 'green', 'blue'])and callConfigFile.load()(after the attribute has been created but before it’s value is used). Then a user can create a config file in theexpected locationand can change the attribute withset color=green. You don’t need to change the usage of the attribute becauseConfigimplements the descriptor protocol.It is easy to add custom commands by subclassing
ConfigFileCommand, see example.It can be used to parse single lines, e.g. from a command line, too, with
ConfigFile.parse_line().It is well documented.