rust-cli/config-rs

⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).

Rust

3,214

1,431 commits

updated Oct 6, 2026

See the code

README

config-rs

Layered configuration system for Rust applications (with strong support for 12-factor applications).

Documentation License Crates Status

  • Set defaults
  • Set explicit values (to programmatically override)
  • Read from JSON, TOML, YAML, INI, RON, JSON5, CORN 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 )

Please note that this library can not be used to write changed configuration values back to the configuration file(s)!

Usage

Feature flags

  • ini - Adds support for reading INI files
  • json - Adds support for reading JSON 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
  • corn - Adds support for reading Corn files

Support for custom formats

Library provides out of the box support for most renowned data formats such as JSON or Yaml. Nonetheless, it contains an extensibility point - a Format trait that, once implemented, allows seamless integration with library's APIs using custom, less popular or proprietary data formats.

See custom_file_format example for more information.

More

See the documentation or examples for more usage information.

License

Licensed under either of

at your option.

config
config-management
configuration
configuration-management
json
rust
toml

Significant stargazers

(top 24 of 67)

Tobias Bieniek

702 followers · starred Aug 2021

David Rodríguez

1,341 followers · starred Mar 2026

Greg Weber

228 followers · starred Jan 2017

Yi-Jyun Pan

677 followers · starred Dec 2024

rust-cli/config-rs

⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).

Rust

3,214

1,431 commits

updated Oct 6, 2026

See the code

README

config-rs

Layered configuration system for Rust applications (with strong support for 12-factor applications).

Documentation License Crates Status

  • Set defaults
  • Set explicit values (to programmatically override)
  • Read from JSON, TOML, YAML, INI, RON, JSON5, CORN 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 )

Please note that this library can not be used to write changed configuration values back to the configuration file(s)!

Usage

Feature flags

  • ini - Adds support for reading INI files
  • json - Adds support for reading JSON 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
  • corn - Adds support for reading Corn files

Support for custom formats

Library provides out of the box support for most renowned data formats such as JSON or Yaml. Nonetheless, it contains an extensibility point - a Format trait that, once implemented, allows seamless integration with library's APIs using custom, less popular or proprietary data formats.

See custom_file_format example for more information.

More

See the documentation or examples for more usage information.

License

Licensed under either of

at your option.

config
config-management
configuration
configuration-management
json
rust
toml

Significant stargazers

(top 24 of 67)

Tobias Bieniek

702 followers · starred Aug 2021

David Rodríguez

1,341 followers · starred Mar 2026

Greg Weber

228 followers · starred Jan 2017

Yi-Jyun Pan

677 followers · starred Dec 2024