Layered configuration system for Rust applications (with strong support for 12-factor applications).
- Set defaults
- Set explicit values (to programmatically override)
- Read from JSON, TOML, YAML, HJSON, INI files
- Read from environment
- Loosely typed — Configuration values may be read in any supported type, as long as there exists a reasonable conversion
- Access nested fields using a formatted path — Uses a subset of JSONPath; currently supports the child (
redis.port) and subscript operators (
[dependencies] config = "0.9"
ini- Adds support for reading INI files
json- Adds support for reading JSON files
hjson- Adds support for reading HJSON files
yaml- Adds support for reading YAML files
toml- Adds support for reading TOML files
config-rs is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.
*Note that all licence references and agreements mentioned in the config-rs README section above are relevant to that project's source code only.