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()
. [example]It is possible to generate a help via
ConfigFile.write_help()
andConfigFile.get_help()
. [example]It is easy to integrate into existing projects, just replace an existing attribute with a
Config
instance. 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 location
and can change the attribute withset color=green
. You don’t need to change the usage of the attribute becauseConfig
implements the descriptor protocol.It is easy to add custom commands by subclassing
ConfigFileCommand
. [example]It can be used to parse single lines, e.g. from a command line, too, with
ConfigFile.parse_line()
.It is well documented.
Introduction and examples¶
Reference¶
- confattr package
- confattr.config module
- confattr.configfile module
ArgumentParser
ConfigFile
ConfigFileArgparseCommand
ConfigFileCommand
ConfigFileWriter
DEFAULT_COMMAND
FormattedWriter
HelpWriter
Include
MultipleParseExceptions
NotificationLevel
ParseException
ParseLineKwargs
ParseSplittedLineKwargs
SaveKwargs
SectionLevel
Set
SortedEnum
TextIOWriter
UiNotifier
UnknownCommand
readable_quote()
- confattr.subprocess_pipe module
- confattr.types module
- confattr.utils module