config-rs

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

Github stars Tracking Chart

config-rs

Rust
Build Status
Crates.io
Docs.rs

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

Usage

[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

See the documentation or examples for
more usage information.

License

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.

Main metrics

Overview
Name With Ownerrust-cli/config-rs
Primary LanguageRust
Program languageRust (Language Count: 1)
Platform
License:Apache License 2.0
所有者活动
Created At2017-01-24 03:24:15
Pushed At2025-07-09 15:54:43
Last Commit At
Release Count37
Last Release Namev0.15.13 (Posted on 2025-07-09 10:54:42)
First Release Namev0.2.0 (Posted on 2017-01-29 00:52:04)
用户参与
Stargazers Count3k
Watchers Count20
Fork Count239
Commits Count1.1k
Has Issues Enabled
Issues Count287
Issue Open Count108
Pull Requests Count274
Pull Requests Open Count26
Pull Requests Close Count80
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private