Awesome Open Source
Awesome Open Source


Rust Build Status

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, RON, JSON5 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 ( databases[0].name )


config = "0.11"
  • 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
  • ron - Adds support for reading RON files
  • json5 - Adds support for reading JSON5 files

See the documentation or examples for more usage information.


config-rs is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
rust (4,844
json (1,210
configuration (238
config (169
configuration-management (91
toml (49
config-management (17