# CONFspirator: Plot better configs!

An offshoot of OpenStack’s oslo.config with a focus on nested configuration groups, and the ability to use yaml and toml instead of flat ini files.

CONFspirator doesn’t include any command-line integrations currently so you will need to add a command to your application to export a generated config using the built in functions.

It does have support for loading in config files, or a preloaded config dictionary against your config group tree.

The library’s focus is on in-code defaults and config field validation, while giving you a lot of power when dealing with nesting, dynamic config loading for plugins, and useful overlay logic.

It allows you to define sane defaults, document your config, validate the values when loading it in, and provides useful ways of working with that config during testing.

Contents:

- Getting started with CONFspirator
  - Installation
  - Usage
- Configuration fields in CONFspirator
  - Options for all fields
  - StrConfig
  - BoolConfig
  - IntConfig
  - FloatConfig
  - ListConfig
  - DictConfig
  - IPConfig
  - PortConfig
  - HostNameConfig
  - HostAddressConfig
  - URIConfig
- Example config generation
- CONFspirator in your unit tests
  - Setting test defaults
  - Overriding config for test cases
- Advanced Usage
  - Dynamic Group Naming
  - Extending Existing Groups
  - Overlaying Groups
  - Lazy Loading Groups